Module: ApRubySdk
- Defined in:
- lib/ap_ruby_sdk.rb,
lib/ap_ruby_sdk/plan.rb,
lib/ap_ruby_sdk/util.rb,
lib/ap_ruby_sdk/void.rb,
lib/ap_ruby_sdk/period.rb,
lib/ap_ruby_sdk/refund.rb,
lib/ap_ruby_sdk/payment.rb,
lib/ap_ruby_sdk/version.rb,
lib/ap_ruby_sdk/website.rb,
lib/ap_ruby_sdk/customer.rb,
lib/ap_ruby_sdk/base_model.rb,
lib/ap_ruby_sdk/collection.rb,
lib/ap_ruby_sdk/pagination.rb,
lib/ap_ruby_sdk/transaction.rb,
lib/ap_ruby_sdk/api_resource.rb,
lib/ap_ruby_sdk/subscription.rb,
lib/ap_ruby_sdk/redirect_urls.rb,
lib/ap_ruby_sdk/refund_reason.rb,
lib/ap_ruby_sdk/payment_option.rb,
lib/ap_ruby_sdk/errors/ap_error.rb,
lib/ap_ruby_sdk/errors/api_error.rb,
lib/ap_ruby_sdk/preauthorization.rb,
lib/ap_ruby_sdk/hosted_transaction.rb,
lib/ap_ruby_sdk/phone_verification.rb,
lib/ap_ruby_sdk/api_operations/list.rb,
lib/ap_ruby_sdk/errors/payment_error.rb,
lib/ap_ruby_sdk/api_operations/create.rb,
lib/ap_ruby_sdk/api_operations/retrieve.rb,
lib/ap_ruby_sdk/errors/authentication_error.rb,
lib/ap_ruby_sdk/errors/invalid_parameter_error.rb,
lib/ap_ruby_sdk/api_operations/create_phone_verification.rb
Defined Under Namespace
Modules: ApiOperations, Period, RefundReason, Util Classes: APIError, ApError, ApiResource, AuthenticationError, BaseModel, Collection, Customer, HostedTransaction, InvalidParameterError, Pagination, Payment, PaymentError, PaymentOption, PhoneVerification, Plan, Preauthorization, RedirectUrls, Refund, Subscription, Transaction, Void, Website
Constant Summary collapse
- VERSION =
'0.1.4'
Class Attribute Summary collapse
-
.api_base ⇒ Object
Returns the value of attribute api_base.
-
.api_public_key ⇒ Object
Returns the value of attribute api_public_key.
-
.api_secret_key ⇒ Object
Returns the value of attribute api_secret_key.
Class Method Summary collapse
- .api_url(url = '') ⇒ Object
- .request(method, url, api_secret_key, api_public_key, params = {}, headers = {}) ⇒ Object
Class Attribute Details
.api_base ⇒ Object
Returns the value of attribute api_base.
47 48 49 |
# File 'lib/ap_ruby_sdk.rb', line 47 def api_base @api_base end |
.api_public_key ⇒ Object
Returns the value of attribute api_public_key.
47 48 49 |
# File 'lib/ap_ruby_sdk.rb', line 47 def api_public_key @api_public_key end |
.api_secret_key ⇒ Object
Returns the value of attribute api_secret_key.
47 48 49 |
# File 'lib/ap_ruby_sdk.rb', line 47 def api_secret_key @api_secret_key end |
Class Method Details
.api_url(url = '') ⇒ Object
95 96 97 |
# File 'lib/ap_ruby_sdk.rb', line 95 def self.api_url(url='') @api_base + url end |
.request(method, url, api_secret_key, api_public_key, params = {}, headers = {}) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/ap_ruby_sdk.rb', line 50 def self.request(method, url, api_secret_key, api_public_key, params={}, headers={}) unless api_secret_key ||= @api_secret_key raise AuthenticationError.new('No Secret API key provided.') end unless api_public_key ||= @api_public_key raise AuthenticationError.new('No Public API key provided.') end url = api_url(url) if method.to_s.downcase.to_sym == :get # Make params into GET params url += "#{URI.parse(url).query ? '&' : '?'}#{uri_encode(params)}" if params && params.any? payload = nil elsif method.to_s.downcase.to_sym == :delete # Make params into expected DELETE params elsif method.to_s.downcase.to_sym == :put # Make params into expected PUT params else # Make params into POST params payload = MultiJson.dump(params, mode: :compat) end request_opts = { :headers => request_headers(api_secret_key).update(headers), :open_timeout => 30, :timeout => 80, :method => method, :payload => payload, :url => url } begin response = execute_request(request_opts) rescue RestClient::ExceptionWithResponse => e if e.http_code and e.http_body parse_api_error(e.http_code, e.http_body) else raise APIError.new( + "\n\n(Network error: #{e.})") end end parse(response) end |