killbill-paypal-express 1.0.9 → 1.0.10
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/VERSION +1 -1
- data/lib/paypal_express.rb +29 -1
- data/lib/paypal_express/config/application.rb +1 -1
- data/lib/paypal_express/private_api.rb +1 -1
- data/pom.xml +1 -1
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.10
|
data/lib/paypal_express.rb
CHANGED
@@ -31,6 +31,34 @@ class Object
|
|
31
31
|
end
|
32
32
|
|
33
33
|
class Hash
|
34
|
+
# Return a new hash with all keys converted to symbols, as long as
|
35
|
+
# they respond to +to_sym+. This includes the keys from the root hash
|
36
|
+
# and from all nested hashes.
|
37
|
+
#
|
38
|
+
# hash = { 'person' => { 'name' => 'Rob', 'age' => '28' } }
|
39
|
+
#
|
40
|
+
# hash.deep_symbolize_keys
|
41
|
+
# # => { person: { name: "Rob", age: "28" } }
|
42
|
+
def deep_symbolize_keys
|
43
|
+
deep_transform_keys { |key| key.to_sym rescue key }
|
44
|
+
end
|
45
|
+
|
46
|
+
# Return a new hash with all keys converted by the block operation.
|
47
|
+
# This includes the keys from the root hash and from all
|
48
|
+
# nested hashes.
|
49
|
+
#
|
50
|
+
# hash = { person: { name: 'Rob', age: '28' } }
|
51
|
+
#
|
52
|
+
# hash.deep_transform_keys{ |key| key.to_s.upcase }
|
53
|
+
# # => { "PERSON" => { "NAME" => "Rob", "AGE" => "28" } }
|
54
|
+
def deep_transform_keys(&block)
|
55
|
+
result = {}
|
56
|
+
each do |key, value|
|
57
|
+
result[yield(key)] = value.is_a?(Hash) ? value.deep_transform_keys(&block) : value
|
58
|
+
end
|
59
|
+
result
|
60
|
+
end
|
61
|
+
|
34
62
|
# By default, only instances of Hash itself are extractable.
|
35
63
|
# Subclasses of Hash may implement this method and return
|
36
64
|
# true to declare themselves as extractable. If a Hash
|
@@ -123,4 +151,4 @@ class Module
|
|
123
151
|
mattr_reader(*syms)
|
124
152
|
mattr_writer(*syms)
|
125
153
|
end
|
126
|
-
end
|
154
|
+
end
|
@@ -22,7 +22,7 @@ post '/plugins/killbill-paypal-express/1.0/setup-checkout', :provides => 'json'
|
|
22
22
|
response = plugin.initiate_express_checkout data['kb_account_id'],
|
23
23
|
data['amount_in_cents'] || 0,
|
24
24
|
data['currency'] || 'USD',
|
25
|
-
data['options'] || {}
|
25
|
+
(data['options'] || {}).deep_symbolize_keys
|
26
26
|
unless response.success?
|
27
27
|
status 500
|
28
28
|
response.message
|
data/pom.xml
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
<groupId>com.ning.killbill.ruby</groupId>
|
26
26
|
<artifactId>paypal-express-plugin</artifactId>
|
27
27
|
<packaging>pom</packaging>
|
28
|
-
<version>1.0.
|
28
|
+
<version>1.0.10</version>
|
29
29
|
<name>paypal-express-plugin</name>
|
30
30
|
<url>http://github.com/killbill/killbill-paypal-express-plugin</url>
|
31
31
|
<description>Plugin for accessing paypal as a payment gateway</description>
|