mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-05-28 00:02:13 -04:00
Extend Stripe::APIOperations::Create instead of including
Lets not be too shy about just using `extend` instead of `include` here when it's more appropriate to do so. The advantage to this approach is that the module can be either extended _or_ included with this change, but couldn't be without it due to the `ClassMethods` meta-magic. List has already started doing this as of #314, so we don't have to be afraid of breaking convention here.
This commit is contained in:
parent
e2692e9805
commit
aa7e559115
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class Account < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Delete
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Update
|
||||
|
@ -1,15 +1,9 @@
|
||||
module Stripe
|
||||
module APIOperations
|
||||
module Create
|
||||
module ClassMethods
|
||||
def create(params={}, opts={})
|
||||
response, opts = request(:post, url, params, opts)
|
||||
Util.convert_to_stripe_object(response, opts)
|
||||
end
|
||||
end
|
||||
|
||||
def self.included(base)
|
||||
base.extend(ClassMethods)
|
||||
def create(params={}, opts={})
|
||||
response, opts = request(:post, url, params, opts)
|
||||
Util.convert_to_stripe_object(response, opts)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class BitcoinReceiver < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
include Stripe::APIOperations::Delete
|
||||
extend Stripe::APIOperations::List
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Stripe
|
||||
class Charge < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
|
||||
def refund(params={}, opts={})
|
||||
|
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class Coupon < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
include Stripe::APIOperations::Delete
|
||||
extend Stripe::APIOperations::List
|
||||
|
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class Customer < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Delete
|
||||
include Stripe::APIOperations::Update
|
||||
extend Stripe::APIOperations::List
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Stripe
|
||||
class Dispute < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
|
||||
def close(params={}, opts={})
|
||||
|
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class FileUpload < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::List
|
||||
|
||||
def self.url
|
||||
|
@ -2,7 +2,7 @@ module Stripe
|
||||
class Invoice < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Update
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
|
||||
def self.upcoming(params, opts={})
|
||||
response, opts = request(:get, upcoming_url, params, opts)
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Stripe
|
||||
class InvoiceItem < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Delete
|
||||
include Stripe::APIOperations::Update
|
||||
end
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Stripe
|
||||
class Order < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
|
||||
def pay(params, opts={})
|
||||
|
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class Plan < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Delete
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Update
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Stripe
|
||||
class Product < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
|
||||
# Keep APIResource#url as `api_url` to avoid letting the external URL
|
||||
|
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class Recipient < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Delete
|
||||
include Stripe::APIOperations::Update
|
||||
extend Stripe::APIOperations::List
|
||||
|
@ -1,6 +1,6 @@
|
||||
module Stripe
|
||||
class Refund < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Update
|
||||
end
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Stripe
|
||||
class SKU < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
|
||||
end
|
||||
|
@ -1,5 +1,5 @@
|
||||
module Stripe
|
||||
class Token < APIResource
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
end
|
||||
end
|
||||
|
@ -1,7 +1,7 @@
|
||||
module Stripe
|
||||
class Transfer < APIResource
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Update
|
||||
|
||||
def cancel
|
||||
|
Loading…
x
Reference in New Issue
Block a user