Class: StraddlePay::Client
- Inherits:
-
Object
- Object
- StraddlePay::Client
- Defined in:
- lib/straddle_pay/client.rb
Overview
HTTP client for the Straddle API. Uses Faraday under the hood.
Instance Attribute Summary collapse
-
#api_key ⇒ String
readonly
API key used for authentication.
-
#base_url ⇒ String
readonly
Base URL for API requests.
Instance Method Summary collapse
- #account_settings ⇒ Resources::AccountSettings
- #bridge ⇒ Resources::Bridge
- #charges ⇒ Resources::Charges
- #customers ⇒ Resources::Customers
-
#delete(path, body = nil, headers: {}) ⇒ Hash
Parsed response data.
- #embed ⇒ Resources::Embed
- #funding_event_payments ⇒ Resources::FundingEventPayments
- #funding_events ⇒ Resources::FundingEvents
-
#get(path, params: nil, headers: {}) ⇒ Hash
Parsed response data.
-
#initialize(api_key: nil, environment: nil, base_url: nil, logger: nil, open_timeout: nil, read_timeout: nil) ⇒ Client
constructor
A new instance of Client.
-
#patch(path, body = nil, headers: {}) ⇒ Hash
Parsed response data.
- #paykeys ⇒ Resources::Paykeys
- #payments ⇒ Resources::Payments
- #payouts ⇒ Resources::Payouts
-
#post(path, body = nil, headers: {}) ⇒ Hash
Parsed response data.
-
#put(path, body = nil, headers: {}) ⇒ Hash
Parsed response data.
- #reports ⇒ Resources::Reports
Constructor Details
#initialize(api_key: nil, environment: nil, base_url: nil, logger: nil, open_timeout: nil, read_timeout: nil) ⇒ Client
Returns a new instance of Client.
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/straddle_pay/client.rb', line 25 def initialize(api_key: nil, environment: nil, base_url: nil, logger: nil, open_timeout: nil, read_timeout: nil) configuration = StraddlePay.config @api_key = api_key || configuration.api_key @base_url = base_url || resolve_base_url(environment, configuration) @logger = logger || configuration.logger @open_timeout = open_timeout || configuration.open_timeout @read_timeout = read_timeout || configuration.read_timeout raise ArgumentError, "Missing API key for StraddlePay" if @api_key.to_s.empty? end |
Instance Attribute Details
#api_key ⇒ String (readonly)
Returns API key used for authentication.
14 15 16 |
# File 'lib/straddle_pay/client.rb', line 14 def api_key @api_key end |
#base_url ⇒ String (readonly)
Returns base URL for API requests.
16 17 18 |
# File 'lib/straddle_pay/client.rb', line 16 def base_url @base_url end |
Instance Method Details
#account_settings ⇒ Resources::AccountSettings
41 42 |
# File 'lib/straddle_pay/client.rb', line 41 def account_settings = @account_settings ||= Resources::AccountSettings.new(self) # @return [Resources::Paykeys] |
#bridge ⇒ Resources::Bridge
39 40 |
# File 'lib/straddle_pay/client.rb', line 39 def bridge = @bridge ||= Resources::Bridge.new(self) # @return [Resources::AccountSettings] |
#charges ⇒ Resources::Charges
45 46 |
# File 'lib/straddle_pay/client.rb', line 45 def charges = @charges ||= Resources::Charges.new(self) # @return [Resources::Payouts] |
#customers ⇒ Resources::Customers
37 38 |
# File 'lib/straddle_pay/client.rb', line 37 def customers = @customers ||= Resources::Customers.new(self) # @return [Resources::Bridge] |
#delete(path, body = nil, headers: {}) ⇒ Hash
Returns parsed response data.
95 96 97 |
# File 'lib/straddle_pay/client.rb', line 95 def delete(path, body = nil, headers: {}) request(:delete, path, body: body, headers: headers) end |
#embed ⇒ Resources::Embed
57 |
# File 'lib/straddle_pay/client.rb', line 57 def = @embed ||= Resources::Embed.new(self) |
#funding_event_payments ⇒ Resources::FundingEventPayments
53 54 |
# File 'lib/straddle_pay/client.rb', line 53 def funding_event_payments = @funding_event_payments ||= Resources::FundingEventPayments.new(self) # @return [Resources::Reports] |
#funding_events ⇒ Resources::FundingEvents
51 52 |
# File 'lib/straddle_pay/client.rb', line 51 def funding_events = @funding_events ||= Resources::FundingEvents.new(self) # @return [Resources::FundingEventPayments] |
#get(path, params: nil, headers: {}) ⇒ Hash
Returns parsed response data.
63 64 65 |
# File 'lib/straddle_pay/client.rb', line 63 def get(path, params: nil, headers: {}) request(:get, path, params: params, headers: headers) end |
#patch(path, body = nil, headers: {}) ⇒ Hash
Returns parsed response data.
87 88 89 |
# File 'lib/straddle_pay/client.rb', line 87 def patch(path, body = nil, headers: {}) request(:patch, path, body: body, headers: headers) end |
#paykeys ⇒ Resources::Paykeys
43 44 |
# File 'lib/straddle_pay/client.rb', line 43 def paykeys = @paykeys ||= Resources::Paykeys.new(self) # @return [Resources::Charges] |
#payments ⇒ Resources::Payments
49 50 |
# File 'lib/straddle_pay/client.rb', line 49 def payments = @payments ||= Resources::Payments.new(self) # @return [Resources::FundingEvents] |
#payouts ⇒ Resources::Payouts
47 48 |
# File 'lib/straddle_pay/client.rb', line 47 def payouts = @payouts ||= Resources::Payouts.new(self) # @return [Resources::Payments] |
#post(path, body = nil, headers: {}) ⇒ Hash
Returns parsed response data.
71 72 73 |
# File 'lib/straddle_pay/client.rb', line 71 def post(path, body = nil, headers: {}) request(:post, path, body: body, headers: headers) end |
#put(path, body = nil, headers: {}) ⇒ Hash
Returns parsed response data.
79 80 81 |
# File 'lib/straddle_pay/client.rb', line 79 def put(path, body = nil, headers: {}) request(:put, path, body: body, headers: headers) end |
#reports ⇒ Resources::Reports
55 56 |
# File 'lib/straddle_pay/client.rb', line 55 def reports = @reports ||= Resources::Reports.new(self) # @return [Resources::Embed] |