Add string constants for each of the Stripe object names.

This commit is contained in:
Corey Farwell 2017-04-25 17:09:38 -04:00
parent 500dfd98a0
commit c4c38d63fc
38 changed files with 110 additions and 37 deletions

View File

@ -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.

View File

@ -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)}"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,4 +1,5 @@
module Stripe
class Balance < SingletonAPIResource
OBJECT_NAME = 'balance'
end
end

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)}"

View File

@ -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.

View File

@ -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

View File

@ -4,5 +4,7 @@ module Stripe
include Stripe::APIOperations::Save
include Stripe::APIOperations::Delete
extend Stripe::APIOperations::List
OBJECT_NAME = 'coupon'
end
end

View File

@ -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={})

View File

@ -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)

View File

@ -1,5 +1,7 @@
module Stripe
class Event < APIResource
extend Stripe::APIOperations::List
OBJECT_NAME = 'event'
end
end

View File

@ -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

View File

@ -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)

View File

@ -4,5 +4,7 @@ module Stripe
extend Stripe::APIOperations::Create
include Stripe::APIOperations::Delete
include Stripe::APIOperations::Save
OBJECT_NAME = 'invoiceitem'
end
end

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -4,5 +4,7 @@ module Stripe
include Stripe::APIOperations::Delete
extend Stripe::APIOperations::List
include Stripe::APIOperations::Save
OBJECT_NAME = 'plan'
end
end

View File

@ -4,5 +4,7 @@ module Stripe
extend Stripe::APIOperations::Create
include Stripe::APIOperations::Save
include Stripe::APIOperations::Delete
OBJECT_NAME = 'product'
end
end

View File

@ -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

View File

@ -1,4 +1,6 @@
module Stripe
class RecipientTransfer < StripeObject
OBJECT_NAME = 'recipient_transfer'
end
end

View File

@ -3,5 +3,7 @@ module Stripe
extend Stripe::APIOperations::Create
extend Stripe::APIOperations::List
include Stripe::APIOperations::Save
OBJECT_NAME = 'refund'
end
end

View File

@ -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

View File

@ -4,5 +4,7 @@ module Stripe
extend Stripe::APIOperations::Create
include Stripe::APIOperations::Save
include Stripe::APIOperations::Delete
OBJECT_NAME = 'sku'
end
end

View File

@ -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)}"

View File

@ -5,6 +5,8 @@ module Stripe
include Stripe::APIOperations::Save
include Stripe::APIOperations::Delete
OBJECT_NAME = 'subscription'
save_nested_resource :source
def delete_discount

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,7 @@
module Stripe
class Token < APIResource
extend Stripe::APIOperations::Create
OBJECT_NAME = 'token'
end
end

View File

@ -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)

View File

@ -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