safecharge 0.1.2 → 0.1.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.
- 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
|