Class: Customer

Inherits:
Base
  • Object
show all
Defined in:
lib/bitnob/objects/customer.rb

Instance Attribute Summary

Attributes inherited from Base

#production, #secret_key, #url

Instance Method Summary collapse

Methods inherited from Base

#base_url, #check_parameters, #get_request, #initialize, #post_request, #put_request

Constructor Details

This class inherits a constructor from Base

Instance Method Details

#create_customer(data) ⇒ Object

-Required Parameters

 data: {
firstName: string(required),
lastName: string(optional),
email: string(required),
countryCode: number(+234)(optional),
phone: number(optional)
   }


17
18
19
20
21
22
23
# File 'lib/bitnob/objects/customer.rb', line 17

def create_customer(data)
  required_parameters = %w[firstName lastName email countryCode phone]
  check_passed_parameters(required_parameters, data)
  payload = data.to_json

  post_request("#{base_url}#{BaseEndpoints::CUSTOMER}", payload)
end

#get_customer(customer_id) ⇒ Object

Required Parameter

customer_id: string


38
39
40
# File 'lib/bitnob/objects/customer.rb', line 38

def get_customer(customer_id)
  get_request("#{base_url}#{BaseEndpoints::CUSTOMER}/#{customer_id}")
end

#get_customer_by_email(email) ⇒ Object

Required Parameter

email: string


28
29
30
31
32
33
# File 'lib/bitnob/objects/customer.rb', line 28

def get_customer_by_email(email)
  body = { 'email' => email }
  payload = body.to_json

  post_request("#{base_url}#{BaseEndpoints::CUSTOMER}/fetch_customer", payload)
end

#update_customer(customer_id, data) ⇒ Object

-Required Parameters

 data: {
firstName: string(required),
lastName: string(optional),
email: string(required),
countryCode: number(+234)(optional),
phone: number(optional)
   }


52
53
54
55
56
# File 'lib/bitnob/objects/customer.rb', line 52

def update_customer(customer_id, data)
  payload = data.to_json

  put_request("#{base_url}#{BaseEndpoints::CUSTOMER}/#{customer_id}", payload)
end