safecharge 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/safecharge/request.rb +20 -4
- data/lib/safecharge/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f4ff9528287b8bad1b1eaf5145beb288868f4f1
|
4
|
+
data.tar.gz: 93ecc7d0e7a7a5df3b734d4fc2a11b4f48e0b150
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8798d81ecc52e01558831966e2cfc1e376fa76634e4d5982355d1269e710fd9e09f6a83eb5523c14a4c2497d82234e4481005281287d4ce925558b9e093caa66
|
7
|
+
data.tar.gz: 1576c2aa11831a82c037d17c5933d079b621ea54aa5bb2b4a3189b139e7e75662e7fd92b9fd1d362db21711a775648ae01f8cbb11b2439b6b7ffeef8308f74ee
|
data/README.md
CHANGED
@@ -113,7 +113,15 @@ and insert that items array into an array of params like so
|
|
113
113
|
|
114
114
|
Note you must supply the following environment variables for this API to work.
|
115
115
|
|
116
|
-
|
116
|
+
SAFECHARGE_SERVER_TEST=_provided by safecharge_
|
117
|
+
SAFECHARGE_SERVER_LIVE=_provided by safecharge_
|
118
|
+
SAFECHARGE_SECRET_KEY=_provided by safecharge_
|
119
|
+
SAFECHARGE_MERCHANT_ID=_provided by safecharge_
|
120
|
+
SAFECHARGE_MERCHANT_SITE_ID=_provided by safecharge_
|
121
|
+
SAFECHARGE_MERCHANT_3D_SITE_ID=_provided by safecharge_
|
122
|
+
SAFECHARGE_SG_CLIENT_PASSWORD=_provided by safecharge_
|
123
|
+
SAFECHARGE_SG_3D_CLIENT_PASSWORD=_provided by safecharge_
|
124
|
+
SAFECHARGE_CPANEL_PASSWORD=_provided by safecharge_
|
117
125
|
|
118
126
|
These will have been provided to you by Safecharge.
|
119
127
|
|
data/lib/safecharge/request.rb
CHANGED
@@ -74,7 +74,7 @@ module Safecharge
|
|
74
74
|
end
|
75
75
|
self.url = url
|
76
76
|
self.full_url = url
|
77
|
-
core_params, items, extracted_items = self.extract_items(params)
|
77
|
+
core_params, items, extracted_items = self.extract_items(convert_symbols_to_strings(params))
|
78
78
|
raise ValidationException, "Missing array of Items." if items == nil || items.empty?
|
79
79
|
self.items = items
|
80
80
|
self.params = DEFAULT_PARAMS.merge(core_params)
|
@@ -82,8 +82,8 @@ module Safecharge
|
|
82
82
|
items.each {|i| self.validate_parameters(i, self.class::ALLOWED_ITEM_FIELDS)}
|
83
83
|
self.params.merge!(extracted_items)
|
84
84
|
self.params.merge!({'numberofitems' => items.size,
|
85
|
-
'time_stamp' => Time.now.utc.strftime("%Y-%m-%d.%H:%M:%S")
|
86
|
-
|
85
|
+
'time_stamp' => Time.now.utc.strftime("%Y-%m-%d.%H:%M:%S"),
|
86
|
+
'checksum' => calculate_checksum})
|
87
87
|
self.construct_url
|
88
88
|
end
|
89
89
|
|
@@ -91,7 +91,7 @@ module Safecharge
|
|
91
91
|
|
92
92
|
def extract_items(params)
|
93
93
|
items = params.delete('items')
|
94
|
-
return params, nil, nil if items
|
94
|
+
return params, nil, nil if items.nil?
|
95
95
|
keyed_items = {}
|
96
96
|
items.each_with_index do |item, i|
|
97
97
|
item.keys.each do |key|
|
@@ -174,6 +174,22 @@ module Safecharge
|
|
174
174
|
return uri
|
175
175
|
end
|
176
176
|
|
177
|
+
def convert_symbols_to_strings(a_hash = {})
|
178
|
+
return {} if a_hash.empty?
|
179
|
+
result = {}
|
180
|
+
a_hash.each do |key, value|
|
181
|
+
val = value
|
182
|
+
if value.is_a?(Hash)
|
183
|
+
val = convert_symbols_to_strings(value)
|
184
|
+
elsif value.is_a?(Array)
|
185
|
+
val = value.map { |va| va.is_a?(Hash) ? convert_symbols_to_strings(va) : va }
|
186
|
+
end
|
187
|
+
result[key] = val if key.is_a?(String)
|
188
|
+
result[key.to_s] = val if key.is_a?(Symbol)
|
189
|
+
end
|
190
|
+
return result
|
191
|
+
end
|
192
|
+
|
177
193
|
# def calculate_item_total
|
178
194
|
# # item_amount_N - item_discount_N + item_shipping_N + item_handling_N) * item_quantity_N
|
179
195
|
# return 0.0 if self.items == nil || self.items.empty?
|
data/lib/safecharge/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safecharge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Sag
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
106
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.1.
|
107
|
+
rubygems_version: 2.1.11
|
108
108
|
signing_key:
|
109
109
|
specification_version: 4
|
110
110
|
summary: A Ruby Wrapper for the SafeCharge API
|