diff --git a/lib/stripe/account.rb b/lib/stripe/account.rb index dc8fab2f..08fad9ba 100644 --- a/lib/stripe/account.rb +++ b/lib/stripe/account.rb @@ -6,6 +6,8 @@ module Stripe include Stripe::APIOperations::Delete include Stripe::APIOperations::Save + OBJECT_NAME = 'account' + save_nested_resource :external_account # This method is deprecated. Please use `#external_account=` instead. diff --git a/lib/stripe/alipay_account.rb b/lib/stripe/alipay_account.rb index 755db2c6..4dfc24d3 100644 --- a/lib/stripe/alipay_account.rb +++ b/lib/stripe/alipay_account.rb @@ -3,6 +3,8 @@ module Stripe include Stripe::APIOperations::Save include Stripe::APIOperations::Delete + OBJECT_NAME = 'alipay_account' + def resource_url if respond_to?(:customer) && !self.customer.nil? "#{Customer.resource_url}/#{CGI.escape(customer)}/sources/#{CGI.escape(id)}" diff --git a/lib/stripe/apple_pay_domain.rb b/lib/stripe/apple_pay_domain.rb index 38bd8d25..87718314 100644 --- a/lib/stripe/apple_pay_domain.rb +++ b/lib/stripe/apple_pay_domain.rb @@ -5,6 +5,8 @@ module Stripe include Stripe::APIOperations::Delete extend Stripe::APIOperations::List + OBJECT_NAME = 'apple_pay_domain' + def self.resource_url '/v1/apple_pay/domains' end diff --git a/lib/stripe/application_fee.rb b/lib/stripe/application_fee.rb index 43f7fcdd..b3911f82 100644 --- a/lib/stripe/application_fee.rb +++ b/lib/stripe/application_fee.rb @@ -2,6 +2,8 @@ module Stripe class ApplicationFee < APIResource extend Stripe::APIOperations::List + OBJECT_NAME = 'application_fee' + def self.resource_url '/v1/application_fees' end diff --git a/lib/stripe/application_fee_refund.rb b/lib/stripe/application_fee_refund.rb index a86e48ee..45baf0e6 100644 --- a/lib/stripe/application_fee_refund.rb +++ b/lib/stripe/application_fee_refund.rb @@ -3,6 +3,8 @@ module Stripe include Stripe::APIOperations::Save extend Stripe::APIOperations::List + OBJECT_NAME = 'fee_refund' + def resource_url "#{ApplicationFee.resource_url}/#{CGI.escape(fee)}/refunds/#{CGI.escape(id)}" end diff --git a/lib/stripe/balance.rb b/lib/stripe/balance.rb index d6dd0324..4dd3a8dd 100644 --- a/lib/stripe/balance.rb +++ b/lib/stripe/balance.rb @@ -1,4 +1,5 @@ module Stripe class Balance < SingletonAPIResource + OBJECT_NAME = 'balance' end end diff --git a/lib/stripe/balance_transaction.rb b/lib/stripe/balance_transaction.rb index cd49e1fb..429c449c 100644 --- a/lib/stripe/balance_transaction.rb +++ b/lib/stripe/balance_transaction.rb @@ -2,6 +2,8 @@ module Stripe class BalanceTransaction < APIResource extend Stripe::APIOperations::List + OBJECT_NAME = 'balance_transaction' + def self.resource_url '/v1/balance/history' end diff --git a/lib/stripe/bank_account.rb b/lib/stripe/bank_account.rb index ca395417..57b52524 100644 --- a/lib/stripe/bank_account.rb +++ b/lib/stripe/bank_account.rb @@ -4,6 +4,8 @@ module Stripe include Stripe::APIOperations::Delete extend Stripe::APIOperations::List + OBJECT_NAME = 'bank_account' + def verify(params={}, opts={}) resp, opts = request(:post, resource_url + '/verify', params, opts) initialize_from(resp.data, opts) diff --git a/lib/stripe/bitcoin_receiver.rb b/lib/stripe/bitcoin_receiver.rb index 35396705..fcb7a42b 100644 --- a/lib/stripe/bitcoin_receiver.rb +++ b/lib/stripe/bitcoin_receiver.rb @@ -5,6 +5,8 @@ module Stripe include Stripe::APIOperations::Delete extend Stripe::APIOperations::List + OBJECT_NAME = 'bitcoin_receiver' + def self.resource_url "/v1/bitcoin/receivers" end diff --git a/lib/stripe/bitcoin_transaction.rb b/lib/stripe/bitcoin_transaction.rb index 3aa1b67e..0283a79b 100644 --- a/lib/stripe/bitcoin_transaction.rb +++ b/lib/stripe/bitcoin_transaction.rb @@ -2,6 +2,8 @@ module Stripe class BitcoinTransaction < APIResource extend Stripe::APIOperations::List + OBJECT_NAME = 'bitcoin_transaction' + def self.resource_url "/v1/bitcoin/transactions" end diff --git a/lib/stripe/card.rb b/lib/stripe/card.rb index 7bf391fe..4cefbcb2 100644 --- a/lib/stripe/card.rb +++ b/lib/stripe/card.rb @@ -4,6 +4,8 @@ module Stripe include Stripe::APIOperations::Delete extend Stripe::APIOperations::List + OBJECT_NAME = 'card' + def resource_url if respond_to?(:recipient) && !recipient.nil? && !recipient.empty? "#{Recipient.resource_url}/#{CGI.escape(recipient)}/cards/#{CGI.escape(id)}" diff --git a/lib/stripe/charge.rb b/lib/stripe/charge.rb index dcab16d0..f4edb69e 100644 --- a/lib/stripe/charge.rb +++ b/lib/stripe/charge.rb @@ -4,6 +4,8 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Save + OBJECT_NAME = 'charge' + def refund(params={}, opts={}) # Old versions of charge objects included a `refunds` field that was just # a vanilla array instead of a Stripe list object. diff --git a/lib/stripe/country_spec.rb b/lib/stripe/country_spec.rb index 11bcffc0..da4ac8b7 100644 --- a/lib/stripe/country_spec.rb +++ b/lib/stripe/country_spec.rb @@ -2,6 +2,8 @@ module Stripe class CountrySpec < APIResource extend Stripe::APIOperations::List + OBJECT_NAME = 'country_spec' + def self.resource_url '/v1/country_specs' end diff --git a/lib/stripe/coupon.rb b/lib/stripe/coupon.rb index acfce856..69fc2a38 100644 --- a/lib/stripe/coupon.rb +++ b/lib/stripe/coupon.rb @@ -4,5 +4,7 @@ module Stripe include Stripe::APIOperations::Save include Stripe::APIOperations::Delete extend Stripe::APIOperations::List + + OBJECT_NAME = 'coupon' end end diff --git a/lib/stripe/customer.rb b/lib/stripe/customer.rb index e6c39b1c..08851e2d 100644 --- a/lib/stripe/customer.rb +++ b/lib/stripe/customer.rb @@ -5,6 +5,8 @@ module Stripe include Stripe::APIOperations::Save extend Stripe::APIOperations::List + OBJECT_NAME = 'customer' + save_nested_resource :source def add_invoice_item(params, opts={}) diff --git a/lib/stripe/dispute.rb b/lib/stripe/dispute.rb index 58412554..a410e5fc 100644 --- a/lib/stripe/dispute.rb +++ b/lib/stripe/dispute.rb @@ -3,6 +3,8 @@ module Stripe extend Stripe::APIOperations::List include Stripe::APIOperations::Save + OBJECT_NAME = 'dispute' + def close(params={}, opts={}) resp, opts = request(:post, close_url, params, opts) initialize_from(resp.data, opts) diff --git a/lib/stripe/event.rb b/lib/stripe/event.rb index 52d473a1..a15d3cac 100644 --- a/lib/stripe/event.rb +++ b/lib/stripe/event.rb @@ -1,5 +1,7 @@ module Stripe class Event < APIResource extend Stripe::APIOperations::List + + OBJECT_NAME = 'event' end end diff --git a/lib/stripe/file_upload.rb b/lib/stripe/file_upload.rb index 97a37217..57aaad82 100644 --- a/lib/stripe/file_upload.rb +++ b/lib/stripe/file_upload.rb @@ -3,6 +3,8 @@ module Stripe extend Stripe::APIOperations::Create extend Stripe::APIOperations::List + OBJECT_NAME = 'file_upload' + def self.resource_url "/v1/files" end diff --git a/lib/stripe/invoice.rb b/lib/stripe/invoice.rb index 17dac3c6..c4717a9b 100644 --- a/lib/stripe/invoice.rb +++ b/lib/stripe/invoice.rb @@ -4,6 +4,8 @@ module Stripe include Stripe::APIOperations::Save extend Stripe::APIOperations::Create + OBJECT_NAME = 'invoice' + def self.upcoming(params, opts={}) resp, opts = request(:get, upcoming_url, params, opts) Util.convert_to_stripe_object(resp.data, opts) diff --git a/lib/stripe/invoice_item.rb b/lib/stripe/invoice_item.rb index 15e72bf7..550f2993 100644 --- a/lib/stripe/invoice_item.rb +++ b/lib/stripe/invoice_item.rb @@ -4,5 +4,7 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Delete include Stripe::APIOperations::Save + + OBJECT_NAME = 'invoiceitem' end end diff --git a/lib/stripe/list_object.rb b/lib/stripe/list_object.rb index f691d2f4..c7c7188e 100644 --- a/lib/stripe/list_object.rb +++ b/lib/stripe/list_object.rb @@ -5,6 +5,8 @@ module Stripe include Stripe::APIOperations::Request include Stripe::APIOperations::Create + OBJECT_NAME = 'list' + # This accessor allows a `ListObject` to inherit various filters that were # given to a predecessor. This allows for things like consistent limits, # expansions, and predicates as a user pages through resources. diff --git a/lib/stripe/order.rb b/lib/stripe/order.rb index c0f07e83..8755022b 100644 --- a/lib/stripe/order.rb +++ b/lib/stripe/order.rb @@ -4,6 +4,8 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Save + OBJECT_NAME = 'order' + def pay(params, opts={}) resp, opts = request(:post, pay_url, params, opts) initialize_from(resp.data, opts) diff --git a/lib/stripe/order_return.rb b/lib/stripe/order_return.rb index 915d4a90..367cde22 100644 --- a/lib/stripe/order_return.rb +++ b/lib/stripe/order_return.rb @@ -2,6 +2,8 @@ module Stripe class OrderReturn < APIResource extend Stripe::APIOperations::List + OBJECT_NAME = 'order_return' + def self.resource_url "/v1/order_returns" end diff --git a/lib/stripe/payout.rb b/lib/stripe/payout.rb index 83fa8a52..39eac767 100644 --- a/lib/stripe/payout.rb +++ b/lib/stripe/payout.rb @@ -4,6 +4,8 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Save + OBJECT_NAME = 'payout' + def cancel resp, api_key = self.request(:post, cancel_url) initialize_from(resp.data, api_key) diff --git a/lib/stripe/plan.rb b/lib/stripe/plan.rb index c44ee916..9a310cd0 100644 --- a/lib/stripe/plan.rb +++ b/lib/stripe/plan.rb @@ -4,5 +4,7 @@ module Stripe include Stripe::APIOperations::Delete extend Stripe::APIOperations::List include Stripe::APIOperations::Save + + OBJECT_NAME = 'plan' end end diff --git a/lib/stripe/product.rb b/lib/stripe/product.rb index c48676d3..970eb416 100644 --- a/lib/stripe/product.rb +++ b/lib/stripe/product.rb @@ -4,5 +4,7 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Save include Stripe::APIOperations::Delete + + OBJECT_NAME = 'product' end end diff --git a/lib/stripe/recipient.rb b/lib/stripe/recipient.rb index adf03c73..cfbb85a7 100644 --- a/lib/stripe/recipient.rb +++ b/lib/stripe/recipient.rb @@ -5,6 +5,8 @@ module Stripe include Stripe::APIOperations::Save extend Stripe::APIOperations::List + OBJECT_NAME = 'recipient' + def transfers Transfer.all({ :recipient => id }, @api_key) end diff --git a/lib/stripe/recipient_transfer.rb b/lib/stripe/recipient_transfer.rb index 46f43d11..40881186 100644 --- a/lib/stripe/recipient_transfer.rb +++ b/lib/stripe/recipient_transfer.rb @@ -1,4 +1,6 @@ module Stripe class RecipientTransfer < StripeObject + + OBJECT_NAME = 'recipient_transfer' end end diff --git a/lib/stripe/refund.rb b/lib/stripe/refund.rb index dad8a09d..56f70810 100644 --- a/lib/stripe/refund.rb +++ b/lib/stripe/refund.rb @@ -3,5 +3,7 @@ module Stripe extend Stripe::APIOperations::Create extend Stripe::APIOperations::List include Stripe::APIOperations::Save + + OBJECT_NAME = 'refund' end end diff --git a/lib/stripe/reversal.rb b/lib/stripe/reversal.rb index 2da7fd19..e4d1684d 100644 --- a/lib/stripe/reversal.rb +++ b/lib/stripe/reversal.rb @@ -3,6 +3,8 @@ module Stripe extend Stripe::APIOperations::List include Stripe::APIOperations::Save + OBJECT_NAME = 'transfer_reversal' + def resource_url "#{Transfer.resource_url}/#{CGI.escape(transfer)}/reversals/#{CGI.escape(id)}" end diff --git a/lib/stripe/sku.rb b/lib/stripe/sku.rb index b89e2756..bd25ac1a 100644 --- a/lib/stripe/sku.rb +++ b/lib/stripe/sku.rb @@ -4,5 +4,7 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Save include Stripe::APIOperations::Delete + + OBJECT_NAME = 'sku' end end diff --git a/lib/stripe/source.rb b/lib/stripe/source.rb index 02ca810d..6efa436e 100644 --- a/lib/stripe/source.rb +++ b/lib/stripe/source.rb @@ -3,6 +3,8 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Save + OBJECT_NAME = 'source' + def delete(params={}, opts={}) if respond_to?(:customer) && !customer.nil? && !customer.empty? url = "#{Customer.resource_url}/#{CGI.escape(customer)}/sources/#{CGI.escape(id)}" diff --git a/lib/stripe/subscription.rb b/lib/stripe/subscription.rb index acde2c92..4f749b3e 100644 --- a/lib/stripe/subscription.rb +++ b/lib/stripe/subscription.rb @@ -5,6 +5,8 @@ module Stripe include Stripe::APIOperations::Save include Stripe::APIOperations::Delete + OBJECT_NAME = 'subscription' + save_nested_resource :source def delete_discount diff --git a/lib/stripe/subscription_item.rb b/lib/stripe/subscription_item.rb index 13dcc3ba..8e3b3455 100644 --- a/lib/stripe/subscription_item.rb +++ b/lib/stripe/subscription_item.rb @@ -5,6 +5,8 @@ module Stripe extend Stripe::APIOperations::List include Stripe::APIOperations::Save + OBJECT_NAME = 'subscription_item' + def self.resource_url '/v1/subscription_items' end diff --git a/lib/stripe/three_d_secure.rb b/lib/stripe/three_d_secure.rb index 2f8079b4..1f487312 100644 --- a/lib/stripe/three_d_secure.rb +++ b/lib/stripe/three_d_secure.rb @@ -2,6 +2,8 @@ module Stripe class ThreeDSecure < APIResource extend Stripe::APIOperations::Create + OBJECT_NAME = 'three_d_secure' + def self.resource_url "/v1/3d_secure" end diff --git a/lib/stripe/token.rb b/lib/stripe/token.rb index e6124ce9..2f3cc047 100644 --- a/lib/stripe/token.rb +++ b/lib/stripe/token.rb @@ -1,5 +1,7 @@ module Stripe class Token < APIResource extend Stripe::APIOperations::Create + + OBJECT_NAME = 'token' end end diff --git a/lib/stripe/transfer.rb b/lib/stripe/transfer.rb index 7df54903..a8c63118 100644 --- a/lib/stripe/transfer.rb +++ b/lib/stripe/transfer.rb @@ -4,6 +4,8 @@ module Stripe extend Stripe::APIOperations::Create include Stripe::APIOperations::Save + OBJECT_NAME = 'transfer' + def cancel resp, api_key = self.request(:post, cancel_url) initialize_from(resp.data, api_key) diff --git a/lib/stripe/util.rb b/lib/stripe/util.rb index 5bb2bb21..f6b08b2f 100644 --- a/lib/stripe/util.rb +++ b/lib/stripe/util.rb @@ -20,45 +20,45 @@ module Stripe def self.object_classes @object_classes ||= { # data structures - 'list' => ListObject, + ListObject::OBJECT_NAME => ListObject, # business objects - 'account' => Account, - 'alipay_account' => AlipayAccount, - 'apple_pay_domain' => ApplePayDomain, - 'application_fee' => ApplicationFee, - 'balance' => Balance, - 'balance_transaction' => BalanceTransaction, - 'bank_account' => BankAccount, - 'bitcoin_receiver' => BitcoinReceiver, - 'bitcoin_transaction' => BitcoinTransaction, - 'card' => Card, - 'charge' => Charge, - 'country_spec' => CountrySpec, - 'coupon' => Coupon, - 'customer' => Customer, - 'dispute' => Dispute, - 'event' => Event, - 'fee_refund' => ApplicationFeeRefund, - 'file_upload' => FileUpload, - 'invoice' => Invoice, - 'invoiceitem' => InvoiceItem, - 'order' => Order, - 'order_return' => OrderReturn, - 'payout' => Payout, - 'plan' => Plan, - 'product' => Product, - 'recipient' => Recipient, - 'recipient_transfer' => RecipientTransfer, - 'refund' => Refund, - 'sku' => SKU, - 'source' => Source, - 'subscription' => Subscription, - 'subscription_item' => SubscriptionItem, - 'three_d_secure' => ThreeDSecure, - 'token' => Token, - 'transfer' => Transfer, - 'transfer_reversal' => Reversal, + Account::OBJECT_NAME => Account, + AlipayAccount::OBJECT_NAME => AlipayAccount, + ApplePayDomain::OBJECT_NAME => ApplePayDomain, + ApplicationFee::OBJECT_NAME => ApplicationFee, + ApplicationFeeRefund::OBJECT_NAME => ApplicationFeeRefund, + Balance::OBJECT_NAME => Balance, + BalanceTransaction::OBJECT_NAME => BalanceTransaction, + BankAccount::OBJECT_NAME => BankAccount, + BitcoinReceiver::OBJECT_NAME => BitcoinReceiver, + BitcoinTransaction::OBJECT_NAME => BitcoinTransaction, + Card::OBJECT_NAME => Card, + Charge::OBJECT_NAME => Charge, + CountrySpec::OBJECT_NAME => CountrySpec, + Coupon::OBJECT_NAME => Coupon, + Customer::OBJECT_NAME => Customer, + Dispute::OBJECT_NAME => Dispute, + Event::OBJECT_NAME => Event, + FileUpload::OBJECT_NAME => FileUpload, + Invoice::OBJECT_NAME => Invoice, + InvoiceItem::OBJECT_NAME => InvoiceItem, + Order::OBJECT_NAME => Order, + OrderReturn::OBJECT_NAME => OrderReturn, + Payout::OBJECT_NAME => Payout, + Plan::OBJECT_NAME => Plan, + Product::OBJECT_NAME => Product, + Recipient::OBJECT_NAME => Recipient, + RecipientTransfer::OBJECT_NAME => RecipientTransfer, + Refund::OBJECT_NAME => Refund, + Reversal::OBJECT_NAME => Reversal, + SKU::OBJECT_NAME => SKU, + Source::OBJECT_NAME => Source, + Subscription::OBJECT_NAME => Subscription, + SubscriptionItem::OBJECT_NAME => SubscriptionItem, + ThreeDSecure::OBJECT_NAME => ThreeDSecure, + Token::OBJECT_NAME => Token, + Transfer::OBJECT_NAME => Transfer, } end