diff --git a/lib/stripe.rb b/lib/stripe.rb index 283ca27f8..8e018d238 100644 --- a/lib/stripe.rb +++ b/lib/stripe.rb @@ -33,7 +33,6 @@ require 'stripe/event' require 'stripe/transfer' - # Errors require 'stripe/errors/stripe_error' require 'stripe/errors/api_error' @@ -48,42 +47,34 @@ module Stripe @@api_base = 'https://api.stripe.com/v1' @@verify_ssl_certs = true - def self.api_url(url='') @@api_base + url end - - + def self.api_key=(api_key) @@api_key = api_key end - - + def self.api_key @@api_key end - - + def self.api_base=(api_base) @@api_base = api_base end - - + def self.api_base @@api_base end - - + def self.verify_ssl_certs=(verify) @@verify_ssl_certs = verify end - - + def self.verify_ssl_certs @@verify_ssl_certs end - def self.request(method, url, api_key, params=nil, headers={}) api_key ||= @@api_key raise AuthenticationError.new('No API key provided. (HINT: set your API key using "Stripe.api_key = ". You can generate API keys from the Stripe web interface. See https://stripe.com/api for details, or email support@stripe.com if you have any questions.)') unless api_key @@ -189,14 +180,12 @@ def self.request(method, url, api_key, params=nil, headers={}) [resp, api_key] end - private def self.execute_request(opts) RestClient::Request.execute(opts) end - def self.handle_api_error(rcode, rbody) begin error_obj = Stripe::JSON.load(rbody) @@ -218,27 +207,22 @@ def self.handle_api_error(rcode, rbody) end end - def self.invalid_request_error(error, rcode, rbody, error_obj) InvalidRequestError.new(error[:message], error[:param], rcode, rbody, error_obj) end - - + def self.authentication_error(error, rcode, rbody, error_obj) AuthenticationError.new(error[:message], rcode, rbody, error_obj) end - - + def self.card_error(error, rcode, rbody, error_obj) CardError.new(error[:message], error[:param], error[:code], rcode, rbody, error_obj) end - - + def self.api_error(error, rcode, rbody, error_obj) APIError.new(error[:message], rcode, rbody, error_obj) end - def self.handle_restclient_error(e) case e when RestClient::ServerBrokeConnection, RestClient::RequestTimeout @@ -253,5 +237,4 @@ def self.handle_restclient_error(e) message += "\n\n(Network error: #{e.message})" raise APIConnectionError.new(message) end - end diff --git a/lib/stripe/api_operations/create.rb b/lib/stripe/api_operations/create.rb index 3ad8c9f20..b1ea3dc13 100644 --- a/lib/stripe/api_operations/create.rb +++ b/lib/stripe/api_operations/create.rb @@ -1,18 +1,16 @@ module Stripe module APIOperations module Create - module ClassMethods def create(params={}, api_key=nil) response, api_key = Stripe.request(:post, self.url, api_key, params) Util.convert_to_stripe_object(response, api_key) end end - + def self.included(base) base.extend(ClassMethods) end - end end -end \ No newline at end of file +end diff --git a/lib/stripe/api_operations/delete.rb b/lib/stripe/api_operations/delete.rb index 29fdd4720..b0cdf0d7b 100644 --- a/lib/stripe/api_operations/delete.rb +++ b/lib/stripe/api_operations/delete.rb @@ -1,13 +1,11 @@ module Stripe module APIOperations module Delete - def delete response, api_key = Stripe.request(:delete, url, @api_key) refresh_from(response, api_key) self end - end end end diff --git a/lib/stripe/api_operations/list.rb b/lib/stripe/api_operations/list.rb index 6cac01d25..98e94c3cc 100644 --- a/lib/stripe/api_operations/list.rb +++ b/lib/stripe/api_operations/list.rb @@ -1,7 +1,6 @@ module Stripe module APIOperations module List - module ClassMethods def all(filters={}, api_key=nil) response, api_key = Stripe.request(:get, url, api_key, filters) @@ -12,7 +11,6 @@ def all(filters={}, api_key=nil) def self.included(base) base.extend(ClassMethods) end - end end end diff --git a/lib/stripe/api_operations/update.rb b/lib/stripe/api_operations/update.rb index 61f8f2774..e48fe7afc 100644 --- a/lib/stripe/api_operations/update.rb +++ b/lib/stripe/api_operations/update.rb @@ -1,7 +1,6 @@ module Stripe module APIOperations module Update - def save if @unsaved_values.length > 0 values = {} @@ -11,7 +10,6 @@ def save end self end - end end end diff --git a/lib/stripe/api_resource.rb b/lib/stripe/api_resource.rb index 151ab61db..42083d7e9 100644 --- a/lib/stripe/api_resource.rb +++ b/lib/stripe/api_resource.rb @@ -7,6 +7,7 @@ def self.url shortname = self.name.split('::')[-1] "/#{CGI.escape(shortname.downcase)}s" end + def url unless id = self['id'] raise InvalidRequestError.new("Could not determine which URL to request: #{self.class} instance has invalid ID: #{id.inspect}", 'id') diff --git a/lib/stripe/charge.rb b/lib/stripe/charge.rb index 4bd4072e6..b3b66ef92 100644 --- a/lib/stripe/charge.rb +++ b/lib/stripe/charge.rb @@ -26,4 +26,4 @@ def capture_url url + '/capture' end end -end \ No newline at end of file +end diff --git a/lib/stripe/coupon.rb b/lib/stripe/coupon.rb index 75795b12f..750bf45a8 100644 --- a/lib/stripe/coupon.rb +++ b/lib/stripe/coupon.rb @@ -4,4 +4,4 @@ class Coupon < APIResource include Stripe::APIOperations::Delete include Stripe::APIOperations::List end -end \ No newline at end of file +end diff --git a/lib/stripe/customer.rb b/lib/stripe/customer.rb index ecdd6fa6e..b57b5f519 100644 --- a/lib/stripe/customer.rb +++ b/lib/stripe/customer.rb @@ -48,4 +48,4 @@ def subscription_url url + '/subscription' end end -end \ No newline at end of file +end diff --git a/lib/stripe/errors/api_connection_error.rb b/lib/stripe/errors/api_connection_error.rb index 51badde85..b07bf1cf6 100644 --- a/lib/stripe/errors/api_connection_error.rb +++ b/lib/stripe/errors/api_connection_error.rb @@ -1,4 +1,4 @@ module Stripe class APIConnectionError < StripeError end -end \ No newline at end of file +end diff --git a/lib/stripe/errors/api_error.rb b/lib/stripe/errors/api_error.rb index 5c15d1675..909a7b627 100644 --- a/lib/stripe/errors/api_error.rb +++ b/lib/stripe/errors/api_error.rb @@ -1,4 +1,4 @@ module Stripe class APIError < StripeError end -end \ No newline at end of file +end diff --git a/lib/stripe/errors/authentication_error.rb b/lib/stripe/errors/authentication_error.rb index 69e296ff8..b20bdd850 100644 --- a/lib/stripe/errors/authentication_error.rb +++ b/lib/stripe/errors/authentication_error.rb @@ -1,4 +1,4 @@ module Stripe class AuthenticationError < StripeError end -end \ No newline at end of file +end diff --git a/lib/stripe/errors/card_error.rb b/lib/stripe/errors/card_error.rb index 39fa42a1c..17a446687 100644 --- a/lib/stripe/errors/card_error.rb +++ b/lib/stripe/errors/card_error.rb @@ -8,4 +8,4 @@ def initialize(message, param, code, http_status=nil, http_body=nil, json_body=n @code = code end end -end \ No newline at end of file +end diff --git a/lib/stripe/errors/invalid_request_error.rb b/lib/stripe/errors/invalid_request_error.rb index 0132a99a4..cc365f653 100644 --- a/lib/stripe/errors/invalid_request_error.rb +++ b/lib/stripe/errors/invalid_request_error.rb @@ -7,4 +7,4 @@ def initialize(message, param, http_status=nil, http_body=nil, json_body=nil) @param = param end end -end \ No newline at end of file +end diff --git a/lib/stripe/errors/stripe_error.rb b/lib/stripe/errors/stripe_error.rb index e6d4258f4..302aa8e68 100644 --- a/lib/stripe/errors/stripe_error.rb +++ b/lib/stripe/errors/stripe_error.rb @@ -17,4 +17,4 @@ def to_s "#{status_string}#{@message}" end end -end \ No newline at end of file +end diff --git a/lib/stripe/event.rb b/lib/stripe/event.rb index 9a045cd32..d83c0311b 100644 --- a/lib/stripe/event.rb +++ b/lib/stripe/event.rb @@ -2,4 +2,4 @@ module Stripe class Event < APIResource include Stripe::APIOperations::List end -end \ No newline at end of file +end diff --git a/lib/stripe/invoice.rb b/lib/stripe/invoice.rb index 6e19bd07a..8ba70c180 100644 --- a/lib/stripe/invoice.rb +++ b/lib/stripe/invoice.rb @@ -13,4 +13,4 @@ def self.upcoming_url url + '/upcoming' end end -end \ No newline at end of file +end diff --git a/lib/stripe/invoice_item.rb b/lib/stripe/invoice_item.rb index 92408874b..b497a0f9a 100644 --- a/lib/stripe/invoice_item.rb +++ b/lib/stripe/invoice_item.rb @@ -5,4 +5,4 @@ class InvoiceItem < APIResource include Stripe::APIOperations::Delete include Stripe::APIOperations::Update end -end \ No newline at end of file +end diff --git a/lib/stripe/json.rb b/lib/stripe/json.rb index ae6d40548..6b9757aa0 100644 --- a/lib/stripe/json.rb +++ b/lib/stripe/json.rb @@ -4,6 +4,7 @@ module JSON def self.dump(*args) MultiJson.dump(*args) end + def self.load(*args) MultiJson.load(*args) end @@ -11,9 +12,10 @@ def self.load(*args) def self.dump(*args) MultiJson.encode(*args) end + def self.load(*args) MultiJson.decode(*args) end end end -end \ No newline at end of file +end diff --git a/lib/stripe/plan.rb b/lib/stripe/plan.rb index 7302f9ad3..1a8330fcc 100644 --- a/lib/stripe/plan.rb +++ b/lib/stripe/plan.rb @@ -5,4 +5,4 @@ class Plan < APIResource include Stripe::APIOperations::List include Stripe::APIOperations::Update end -end \ No newline at end of file +end diff --git a/lib/stripe/stripe_object.rb b/lib/stripe/stripe_object.rb index 8863cb0c2..44decc08d 100644 --- a/lib/stripe/stripe_object.rb +++ b/lib/stripe/stripe_object.rb @@ -147,4 +147,4 @@ def method_missing(name, *args) end end end -end \ No newline at end of file +end diff --git a/lib/stripe/token.rb b/lib/stripe/token.rb index 9233e865e..0ec95bb22 100644 --- a/lib/stripe/token.rb +++ b/lib/stripe/token.rb @@ -2,4 +2,4 @@ module Stripe class Token < APIResource include Stripe::APIOperations::Create end -end \ No newline at end of file +end diff --git a/lib/stripe/transfer.rb b/lib/stripe/transfer.rb index 2b3a9f621..0aa687491 100644 --- a/lib/stripe/transfer.rb +++ b/lib/stripe/transfer.rb @@ -13,4 +13,4 @@ def transactions_url url + '/transactions' end end -end \ No newline at end of file +end diff --git a/lib/stripe/util.rb b/lib/stripe/util.rb index 0fb284858..3623556f5 100644 --- a/lib/stripe/util.rb +++ b/lib/stripe/util.rb @@ -100,4 +100,4 @@ def self.flatten_params_array(value, calculated_key) result end end -end \ No newline at end of file +end