mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-08-24 00:00:51 -04:00
Improve method layout
This commit is contained in:
parent
020177faa5
commit
6031cbf7b1
@ -2,14 +2,15 @@ module Stripe
|
||||
class APIResource < StripeObject
|
||||
def self.url
|
||||
if self == APIResource
|
||||
raise NotImplementedError.new("APIResource is an abstract class. You should perform actions on its subclasses (Charge, Customer, etc.)")
|
||||
raise NotImplementedError.new('APIResource is an abstract class. You should perform actions on its subclasses (Charge, Customer, etc.)')
|
||||
end
|
||||
shortname = self.name.split('::')[-1]
|
||||
"/#{CGI.escape(shortname.downcase)}s"
|
||||
end
|
||||
def url
|
||||
id = self['id']
|
||||
raise InvalidRequestError.new("Could not determine which URL to request: #{self.class} instance has invalid ID: #{id.inspect}", 'id') unless id
|
||||
unless id = self['id']
|
||||
raise InvalidRequestError.new("Could not determine which URL to request: #{self.class} instance has invalid ID: #{id.inspect}", 'id')
|
||||
end
|
||||
"#{self.class.url}/#{CGI.escape(id)}"
|
||||
end
|
||||
|
||||
@ -24,7 +25,5 @@ module Stripe
|
||||
instance.refresh
|
||||
instance
|
||||
end
|
||||
|
||||
protected
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -26,7 +26,9 @@ module Stripe
|
||||
obj
|
||||
end
|
||||
|
||||
def to_s(*args); Stripe::JSON.dump(@values, :pretty => true); end
|
||||
def to_s(*args)
|
||||
Stripe::JSON.dump(@values, :pretty => true)
|
||||
end
|
||||
|
||||
def inspect()
|
||||
id_string = (self.respond_to?(:id) && !self.id.nil?) ? " id=#{self.id}" : ""
|
||||
@ -62,15 +64,34 @@ module Stripe
|
||||
k = k.to_sym if k.kind_of?(String)
|
||||
@values[k]
|
||||
end
|
||||
|
||||
def []=(k, v)
|
||||
send(:"#{k}=", v)
|
||||
end
|
||||
def keys; @values.keys; end
|
||||
def values; @values.values; end
|
||||
def to_json(*a); Stripe::JSON.dump(@values); end
|
||||
def as_json(*a); @values.as_json(*a); end
|
||||
def to_hash; @values; end
|
||||
def each(&blk); @values.each(&blk); end
|
||||
|
||||
def keys
|
||||
@values.keys
|
||||
end
|
||||
|
||||
def values
|
||||
@values.values
|
||||
end
|
||||
|
||||
def to_json(*a)
|
||||
Stripe::JSON.dump(@values)
|
||||
end
|
||||
|
||||
def as_json(*a)
|
||||
@values.as_json(*a)
|
||||
end
|
||||
|
||||
def to_hash
|
||||
@values
|
||||
end
|
||||
|
||||
def each(&blk)
|
||||
@values.each(&blk)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
|
@ -71,13 +71,13 @@ module Stripe
|
||||
URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
||||
end
|
||||
|
||||
def self.flatten_params(params, parent_key = nil)
|
||||
def self.flatten_params(params, parent_key=nil)
|
||||
result = []
|
||||
params.each do |key, value|
|
||||
calculated_key = parent_key ? "#{parent_key}[#{encode_key(key)}]" : encode_key(key)
|
||||
if value.is_a? Hash
|
||||
if value.is_a?(Hash)
|
||||
result += flatten_params(value, calculated_key)
|
||||
elsif value.is_a? Array
|
||||
elsif value.is_a?(Array)
|
||||
result += flatten_params_array(value, calculated_key)
|
||||
else
|
||||
result << [calculated_key, value]
|
||||
@ -86,12 +86,12 @@ module Stripe
|
||||
result
|
||||
end
|
||||
|
||||
def self.flatten_params_array value, calculated_key
|
||||
def self.flatten_params_array(value, calculated_key)
|
||||
result = []
|
||||
value.each do |elem|
|
||||
if elem.is_a? Hash
|
||||
if elem.is_a?(Hash)
|
||||
result += flatten_params(elem, calculated_key)
|
||||
elsif elem.is_a? Array
|
||||
elsif elem.is_a?(Array)
|
||||
result += flatten_params_array(elem, calculated_key)
|
||||
else
|
||||
result << ["#{calculated_key}[]", elem]
|
||||
|
Loading…
x
Reference in New Issue
Block a user