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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a57096f081b18d3b46f07a5cb7a2149288f06c9
4
- data.tar.gz: 385034c763fa1739a30711760db1d297b228eaae
3
+ metadata.gz: 3f4ff9528287b8bad1b1eaf5145beb288868f4f1
4
+ data.tar.gz: 93ecc7d0e7a7a5df3b734d4fc2a11b4f48e0b150
5
5
  SHA512:
6
- metadata.gz: 7a85ea248cc301f2863825d4c6573325bc655ae167879c5b947ef17c4060da6eb42dd46e5ab7b9290df8225d47cbc1d7249332aa092de1ec32abc99984d1d08e
7
- data.tar.gz: a98711e2c4c354c378b91f25a5dab1d2d0d7decca2230287ad58d5a1b9a2d7f590ebf6c74aaf3f3d3f5279423ceec119d00af0ae2f3e690aea28afa5f7ad4a30
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
- SAFECHARGE_SECRET_KEY, SAFECHARGE_MERCHANT_ID, SAFECHARGE_MERCHANT_SITE_ID
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
 
@@ -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
- self.params.merge!({'checksum' => calculate_checksum})
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 == nil
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?
@@ -2,5 +2,5 @@
2
2
  #coding: utf-8
3
3
 
4
4
  module Safecharge
5
- VERSION = "0.1.2"
5
+ VERSION = "0.1.3"
6
6
  end
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.2
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-18 00:00:00.000000000 Z
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.10
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