diff --git a/CHANGELOG.md b/CHANGELOG.md index 7636e34..f01935d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +2.2.0 March 29, 2017 + - Add GET support for `Customers` resource + 2.1.0 March 29, 2017 - Add `Customers` resource diff --git a/README.md b/README.md index bd8a55e..3f02d65 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,18 @@ response = client.customers.create({ puts response # => Button::Response(id: internal-customer-id, email_sha256: a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3) ``` +##### Get + +```ruby +require 'button' + +client = Button::Client.new('sk-XXX') + +response = client.customers.get('btncustomer-XXX') + +puts response +# => Button::Response(id: btncustomer-XXX, segments:[], ... ) +``` ### Merchants diff --git a/lib/button/resources/customers.rb b/lib/button/resources/customers.rb index d240b62..17aa0e2 100644 --- a/lib/button/resources/customers.rb +++ b/lib/button/resources/customers.rb @@ -9,6 +9,15 @@ def path(customer_id = nil) '/v1/customers' end + # Gets a customer + # + # @param [String] customer_id the customer id + # @return [Button::Response] the API response + # + def get(customer_id) + api_get(path(customer_id)) + end + # Create a Customer # # @param [Hash] customer the customer to create diff --git a/lib/button/version.rb b/lib/button/version.rb index 63bb9a7..731e18d 100644 --- a/lib/button/version.rb +++ b/lib/button/version.rb @@ -1,3 +1,3 @@ module Button - VERSION = '2.1.0'.freeze + VERSION = '2.2.0'.freeze end diff --git a/test/button/resources/customers_test.rb b/test/button/resources/customers_test.rb index 244410e..bdc1db0 100644 --- a/test/button/resources/customers_test.rb +++ b/test/button/resources/customers_test.rb @@ -20,6 +20,15 @@ def teardown WebMock.reset! end + def test_get + stub_request(:get, 'https://api.usebutton.com/v1/customers/btncustomer-XXX') + .with(headers: @headers) + .to_return(status: 200, body: '{ "meta": { "status": "ok" }, "object": { "a": 1 } }') + + response = @customers.get('btncustomer-XXX') + assert_equal(response.data[:a], 1) + end + def test_create stub_request(:post, 'https://api.usebutton.com/v1/customers') .with(body: '{"id":"1234"}', headers: @headers)