Class: AbacatePay::Clients::CustomerClient
- Defined in:
- lib/abacate_pay/clients/customer_client.rb
Overview
Client class for managing customer-related operations in the AbacatePay API.
Constant Summary collapse
- URI =
API endpoint for customer-related operations
"customers"
Instance Method Summary collapse
-
#create(data) ⇒ Resources::Customers
Creates a new customer.
-
#delete(id) ⇒ Resources::Customers
Deletes a customer.
-
#get(id) ⇒ Resources::Customers
Retrieves a customer by ID.
-
#initialize(client = nil) ⇒ CustomerClient
constructor
A new instance of CustomerClient.
-
#list(**params) ⇒ Array<Resources::Customers>
Retrieves a list of customers.
Constructor Details
#initialize(client = nil) ⇒ CustomerClient
Returns a new instance of CustomerClient.
11 12 13 |
# File 'lib/abacate_pay/clients/customer_client.rb', line 11 def initialize(client = nil) super(URI, client) end |
Instance Method Details
#create(data) ⇒ Resources::Customers
Creates a new customer
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/abacate_pay/clients/customer_client.rb', line 37 def create(data) response = request("POST", "create", json: { name: data.&.name, email: data.&.email, cellphone: data.&.cellphone, taxId: data.&.tax_id }) Resources::Customers.new(response) end |
#delete(id) ⇒ Resources::Customers
Deletes a customer
52 53 54 55 |
# File 'lib/abacate_pay/clients/customer_client.rb', line 52 def delete(id) response = request("POST", "delete", json: { id: id }) Resources::Customers.new(response) end |
#get(id) ⇒ Resources::Customers
Retrieves a customer by ID
28 29 30 31 |
# File 'lib/abacate_pay/clients/customer_client.rb', line 28 def get(id) response = request("GET", "get", params: { id: id }) Resources::Customers.new(response) end |
#list(**params) ⇒ Array<Resources::Customers>
Retrieves a list of customers
19 20 21 22 |
# File 'lib/abacate_pay/clients/customer_client.rb', line 19 def list(**params) response = request("GET", "list", params: params.empty? ? nil : params) Array(response).map { |data| Resources::Customers.new(data) } end |