stripe 1.6.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/stripe.rb +39 -2
- data/lib/stripe/version.rb +1 -1
- metadata +4 -4
data/lib/stripe.rb
CHANGED
@@ -96,6 +96,39 @@ module Stripe
|
|
96
96
|
object
|
97
97
|
end
|
98
98
|
end
|
99
|
+
|
100
|
+
def self.encode_key(key)
|
101
|
+
URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
102
|
+
end
|
103
|
+
|
104
|
+
def self.flatten_params(params, parent_key = nil)
|
105
|
+
result = []
|
106
|
+
params.each do |key, value|
|
107
|
+
calculated_key = parent_key ? "#{parent_key}[#{encode_key(key)}]" : encode_key(key)
|
108
|
+
if value.is_a? Hash
|
109
|
+
result += flatten_params(value, calculated_key)
|
110
|
+
elsif value.is_a? Array
|
111
|
+
result += flatten_params_array(value, calculated_key)
|
112
|
+
else
|
113
|
+
result << [calculated_key, value]
|
114
|
+
end
|
115
|
+
end
|
116
|
+
result
|
117
|
+
end
|
118
|
+
|
119
|
+
def self.flatten_params_array value, calculated_key
|
120
|
+
result = []
|
121
|
+
value.each do |elem|
|
122
|
+
if elem.is_a? Hash
|
123
|
+
result += flatten_params(elem, calculated_key)
|
124
|
+
elsif elem.is_a? Array
|
125
|
+
result += flatten_params_array(elem, calculated_key)
|
126
|
+
else
|
127
|
+
result << ["#{calculated_key}[]", elem]
|
128
|
+
end
|
129
|
+
end
|
130
|
+
result
|
131
|
+
end
|
99
132
|
end
|
100
133
|
|
101
134
|
module APIOperations
|
@@ -496,10 +529,14 @@ module Stripe
|
|
496
529
|
}
|
497
530
|
|
498
531
|
params = Util.objects_to_ids(params)
|
532
|
+
url = self.api_url(url)
|
499
533
|
case method.to_s.downcase.to_sym
|
500
534
|
when :get, :head, :delete
|
501
535
|
# Make params into GET parameters
|
502
|
-
|
536
|
+
if params && params.count
|
537
|
+
query_string = Util.flatten_params(params).collect{|p| "#{p[0]}=#{p[1]}"}.join('&')
|
538
|
+
url += "?#{query_string}"
|
539
|
+
end
|
503
540
|
payload = nil
|
504
541
|
else
|
505
542
|
payload = params
|
@@ -521,7 +558,7 @@ module Stripe
|
|
521
558
|
}.merge(headers)
|
522
559
|
opts = {
|
523
560
|
:method => method,
|
524
|
-
:url =>
|
561
|
+
:url => url,
|
525
562
|
:user => api_key,
|
526
563
|
:headers => headers,
|
527
564
|
:open_timeout => 30,
|
data/lib/stripe/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stripe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 9
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 1.6.
|
9
|
+
- 3
|
10
|
+
version: 1.6.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ross Boucher
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-
|
19
|
+
date: 2012-03-22 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: rest-client
|