tns_payments 0.0.1 → 0.0.2

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/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ # CHANGELOG
2
+
3
+ ## 0.0.2 / 2012-03-05
4
+
5
+ * `Connection#purchase` and `Connection#refund` takes an object instead of many arguments.
6
+ * Allow passing in currency.
7
+
8
+ ## 0.0.1 / 2012-02-24
9
+
10
+ * Initial release.
@@ -21,21 +21,26 @@ module TNSPayments
21
21
  "https://secure.ap.tnspayments.com/form/#{session_token}"
22
22
  end
23
23
 
24
- def purchase amount, token, options = {}
25
- if token =~ CREDIT_CARD_TOKEN_FORMAT
26
- purchase_with_credit_card_token amount, token, options
27
- else
28
- purchase_with_session_token amount, token, options
29
- end
24
+ def purchase transaction, token
25
+ order_id = transaction.order_id
26
+ transaction_id = transaction.transaction_id
27
+ params = {
28
+ 'apiOperation' => 'PAY',
29
+ 'order' => {'reference' => transaction.reference},
30
+ 'cardDetails' => {purchase_token_key(token) => token},
31
+ 'transaction' => {'amount' => transaction.amount.to_s, 'currency' => transaction.currency, 'reference' => transaction_id.to_s}
32
+ }
33
+
34
+ request :put, "/merchant/#{@merchant_id}/order/#{order_id}/transaction/#{transaction_id}", params
30
35
  end
31
36
 
32
- def refund amount, options = {}
33
- order_id = create_order_id options[:order_id]
34
- transaction_id = options[:transaction_id]
37
+ def refund transaction
38
+ order_id = transaction.order_id
39
+ transaction_id = transaction.transaction_id
35
40
  params = {
36
41
  'apiOperation' => 'REFUND',
37
- 'order' => {'reference' => options[:order_reference]},
38
- 'transaction' => {'amount' => amount.to_s, 'currency' => 'AUD', 'reference' => transaction_id.to_s}
42
+ 'order' => {'reference' => transaction.reference},
43
+ 'transaction' => {'amount' => transaction.amount.to_s, 'currency' => transaction.currency, 'reference' => transaction_id.to_s}
39
44
  }
40
45
 
41
46
  request :put, "/merchant/#{@merchant_id}/order/#{order_id}/transaction/#{transaction_id}", params
@@ -49,16 +54,9 @@ module TNSPayments
49
54
  request :delete, "/merchant/#{@merchant_id}/token/#{token}"
50
55
  end
51
56
 
52
- def session_token?
53
- !@session_token.nil?
54
- end
55
-
56
- def session_token reload = false
57
- if @session_token.nil? or reload
58
- response = request :post, "/merchant/#{@merchant_id}/session"
59
- @session_token = response.success?? response.response['session'] : nil
60
- end
61
- @session_token
57
+ def session_token
58
+ response = request :post, "/merchant/#{@merchant_id}/session"
59
+ response.success?? response.response['session'] : raise(response.response.inspect)
62
60
  end
63
61
 
64
62
  private
@@ -67,39 +65,13 @@ module TNSPayments
67
65
  'https://secure.ap.tnspayments.com/api/rest/version/4'
68
66
  end
69
67
 
70
- def create_order_id id
71
- 10000000000 + id.to_i
72
- end
73
-
74
68
  def encode_credentials
75
69
  credentials = ['', @api_key].join(':')
76
70
  'Basic ' << Base64.encode64(credentials)
77
71
  end
78
72
 
79
- def purchase_with_credit_card_token amount, token, options = {}
80
- order_id = create_order_id options[:order_id]
81
- transaction_id = options[:transaction_id]
82
- params = {
83
- 'apiOperation' => 'PAY',
84
- 'order' => {'reference' => options[:order_reference]},
85
- 'cardDetails' => {'cardToken' => token},
86
- 'transaction' => {'amount' => amount.to_s, 'currency' => 'AUD', 'reference' => transaction_id.to_s}
87
- }
88
-
89
- request :put, "/merchant/#{@merchant_id}/order/#{order_id}/transaction/#{transaction_id}", params
90
- end
91
-
92
- def purchase_with_session_token amount, token, options = {}
93
- order_id = create_order_id options[:order_id]
94
- transaction_id = options[:transaction_id]
95
- params = {
96
- 'apiOperation' => 'PAY',
97
- 'order' => {'reference' => options[:order_reference]},
98
- 'cardDetails' => {'session' => token},
99
- 'transaction' => {'amount' => amount.to_s, 'currency' => 'AUD', 'reference' => transaction_id.to_s}
100
- }
101
-
102
- request :put, "/merchant/#{@merchant_id}/order/#{order_id}/transaction/#{transaction_id}", params
73
+ def purchase_token_key token
74
+ token =~ CREDIT_CARD_TOKEN_FORMAT ? 'cardToken' : 'session'
103
75
  end
104
76
 
105
77
  def request method, path, options = {}
@@ -1,3 +1,3 @@
1
1
  module TNSPayments
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -9,71 +9,58 @@ class TNSPayments::ConnectionTest < MiniTest::Unit::TestCase
9
9
  end
10
10
 
11
11
  def test_available_is_true_when_tns_gateway_is_operating
12
- stub_availability_request.
13
- to_return(:status => 200, :body => '{"status":"OPERATING"}', :headers => {})
12
+ stub_availability_request.to_return(:status => 200, :body => '{"status":"OPERATING"}', :headers => {})
14
13
  assert @gateway.available?
15
14
  end
16
15
 
17
16
  def test_available_is_false_when_tns_gateway_is_not_operating
18
- stub_availability_request.
19
- to_return(:status => 200, :body => '{"status":"EPIC_FAIL"}', :headers => {})
17
+ stub_availability_request.to_return(:status => 200, :body => '{"status":"EPIC_FAIL"}', :headers => {})
20
18
  refute @gateway.available?
21
19
  end
22
20
 
23
21
  def test_purchase_with_session_token_makes_a_successful_purchase
24
- stub_successful_session_token_purchase_request :amount => 100, :token => 'SESSIONTOKEN', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
25
- response = @gateway.purchase 100, 'SESSIONTOKEN', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
26
- assert response.success?
22
+ stub_successful_session_token_purchase_request mock_transaction, 'SESSIONTOKEN'
23
+ assert @gateway.purchase(mock_transaction, 'SESSIONTOKEN').success?
27
24
  end
28
25
 
29
26
  def test_purchase_with_session_token_makes_an_unsuccessful_purchase
30
- stub_unsuccessful_session_token_purchase_request :amount => 100, :token => 'SESSIONTOKEN', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
31
- response = @gateway.purchase 100, 'SESSIONTOKEN', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
32
- refute response.success?
27
+ stub_unsuccessful_session_token_purchase_request mock_transaction, 'SESSIONTOKEN'
28
+ refute @gateway.purchase(mock_transaction, 'SESSIONTOKEN').success?
33
29
  end
34
30
 
35
31
  def test_purchase_with_session_token_can_deal_with_timeout_errors
36
- stub_session_token_purchase_request(:amount => 100, :token => 'SESSIONTOKEN', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123').
37
- to_timeout
38
- response = @gateway.purchase 100, 'SESSIONTOKEN', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
39
- refute response.success?
32
+ stub_session_token_purchase_request(mock_transaction, 'SESSIONTOKEN').to_timeout
33
+ refute @gateway.purchase(mock_transaction, 'SESSIONTOKEN').success?
40
34
  end
41
35
 
42
36
  def test_purchase_with_credit_card_token_makes_a_successful_purchase
43
- stub_successful_credit_card_token_purchase_request(:amount => 100, :token => '9111111111111111', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123')
44
- assert @gateway.purchase(100, '9111111111111111', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123').success?
37
+ stub_successful_credit_card_token_purchase_request(mock_transaction, '9111111111111111')
38
+ assert @gateway.purchase(mock_transaction, '9111111111111111').success?
45
39
  end
46
40
 
47
41
  def test_purchase_with_credit_card_token_makes_an_unsuccessful_purchase
48
- stub_unsuccessful_credit_card_token_purchase_request :amount => 100, :token => '9111111111111111', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
49
- response = @gateway.purchase 100, '9111111111111111', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
50
- refute response.success?
42
+ stub_unsuccessful_credit_card_token_purchase_request mock_transaction, '9111111111111111'
43
+ refute @gateway.purchase(mock_transaction, '9111111111111111').success?
51
44
  end
52
45
 
53
46
  def test_purchase_with_credit_card_token_can_deal_with_timeout_errors
54
- stub_credit_card_token_purchase_request(:amount => 100, :token => '9111111111111111', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123').
55
- to_timeout
56
- response = @gateway.purchase 100, '9111111111111111', :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
57
- refute response.success?
47
+ stub_credit_card_token_purchase_request(mock_transaction, '9111111111111111').to_timeout
48
+ refute @gateway.purchase(mock_transaction, '9111111111111111').success?
58
49
  end
59
50
 
60
51
  def test_refund_makes_successful_refund
61
- stub_successful_refund_request :amount => 100, :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
62
- response = @gateway.refund 100, :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
63
- assert response.success?
52
+ stub_successful_refund_request mock_transaction
53
+ assert @gateway.refund(mock_transaction).success?
64
54
  end
65
55
 
66
56
  def test_refund_makes_unsuccessful_refund
67
- stub_unsuccessful_refund_request :amount => 100, :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
68
- response = @gateway.refund 100, :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
69
- refute response.success?
57
+ stub_unsuccessful_refund_request mock_transaction
58
+ refute @gateway.refund(mock_transaction).success?
70
59
  end
71
60
 
72
61
  def test_refund_can_deal_with_timeout_errors
73
- stub_refund_request(:amount => 100, :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123').
74
- to_timeout
75
- response = @gateway.refund 100, :order_id => 1, :transaction_id => 1, :order_reference => 'AUD123'
76
- refute response.success?
62
+ stub_refund_request(mock_transaction).to_timeout
63
+ refute @gateway.refund(mock_transaction).success?
77
64
  end
78
65
 
79
66
  def test_create_credit_card_token_successfully_stores_creditcard
@@ -103,6 +90,11 @@ class TNSPayments::ConnectionTest < MiniTest::Unit::TestCase
103
90
  refute @gateway.delete_credit_card_token('9123456781234567').success?
104
91
  end
105
92
 
93
+ def test_session_token_returns_token
94
+ stub_successful_session_token_request
95
+ assert_equal 'SESSIONTOKEN', @gateway.session_token
96
+ end
97
+
106
98
  private
107
99
 
108
100
  def stub_availability_request
@@ -110,38 +102,38 @@ private
110
102
  with(:headers => {'Accept'=>'*/*', 'Content-Type'=>'Application/json;charset=UTF-8'})
111
103
  end
112
104
 
113
- def stub_successful_refund_request options = {}
114
- stub_refund_request(options).
105
+ def stub_successful_refund_request transaction
106
+ stub_refund_request(transaction).
115
107
  to_return :status => 200, :headers => {}, :body => <<-EOS
116
- {"merchant":"#{@merchant_id}","order":{"id":#{@gateway.send(:create_order_id, options[:order_id])},"totalAuthorizedAmount":0.00,"totalCapturedAmount":0.00,"totalRefundedAmount":0.00},
108
+ {"merchant":"#{@merchant_id}","order":{"id":#{transaction.order_id},"totalAuthorizedAmount":0.00,"totalCapturedAmount":0.00,"totalRefundedAmount":0.00},
117
109
  "response":{"acquirerCode":"00","gatewayCode":"APPROVED"},"result":"SUCCESS","transaction":{"acquirer":{"id":"STGEORGE"},
118
- "amount":#{options[:amount]},"authorizationCode":"000582","batch":20110707,"currency":"AUD","id":"#{options[:transaction_id]}",
110
+ "amount":#{transaction.amount},"authorizationCode":"000582","batch":20110707,"currency":"AUD","id":"#{transaction.transaction_id}",
119
111
  "receipt":"110707000582","source":"INTERNET","terminal":"08845778","type":"REFUND"}}
120
112
  EOS
121
113
  end
122
114
 
123
- def stub_unsuccessful_refund_request options = {}
124
- stub_refund_request(options).
115
+ def stub_unsuccessful_refund_request transaction
116
+ stub_refund_request(transaction).
125
117
  to_return(:status => 200, :body => '{"result":"FAILURE"}', :headers => {})
126
118
  end
127
119
 
128
- def stub_successful_credit_card_token_purchase_request options = {}
129
- stub_credit_card_token_purchase_request(options).
130
- to_return(:status => 200, :body => %[{"card":{"expiry":{"month":"5","year":"13"},"number":"xxxxxxxxxxxxxxxx","scheme":"MASTERCARD"},"merchant":"","order":{"id":"#{@gateway.send(:create_order_id, options[:order_id])}","totalAuthorizedAmount":0.00,"totalCapturedAmount":0.00,"totalRefundedAmount":0.00},"response":{"acquirerCode":"00","gatewayCode":"APPROVED"},"result":"SUCCESS","transaction":{"acquirer":{"id":"STGEORGE"},"amount":"#{options[:amount]}","authorizationCode":"000576","batch":20110707,"currency":"AUD","frequency":"SINGLE","id":"72637779534c67696c54b26f220dc4d3","receipt":"110707000576","source":"INTERNET","terminal":"08845778","type":"PAYMENT"}}], :headers => {})
120
+ def stub_successful_credit_card_token_purchase_request transaction, token
121
+ stub_credit_card_token_purchase_request(transaction, token).
122
+ to_return(:status => 200, :body => %[{"card":{"expiry":{"month":"5","year":"13"},"number":"xxxxxxxxxxxxxxxx","scheme":"MASTERCARD"},"merchant":"","order":{"id":"#{transaction.order_id}","totalAuthorizedAmount":0.00,"totalCapturedAmount":0.00,"totalRefundedAmount":0.00},"response":{"acquirerCode":"00","gatewayCode":"APPROVED"},"result":"SUCCESS","transaction":{"acquirer":{"id":"STGEORGE"},"amount":"#{transaction.amount}","authorizationCode":"000576","batch":20110707,"currency":"AUD","frequency":"SINGLE","id":"72637779534c67696c54b26f220dc4d3","receipt":"110707000576","source":"INTERNET","terminal":"08845778","type":"PAYMENT"}}], :headers => {})
131
123
  end
132
124
 
133
- def stub_unsuccessful_credit_card_token_purchase_request options = {}
134
- stub_credit_card_token_purchase_request(options).
125
+ def stub_unsuccessful_credit_card_token_purchase_request transaction, token
126
+ stub_credit_card_token_purchase_request(transaction, token).
135
127
  to_return(:status => 200, :body => '{"result":"FAILURE"}', :headers => {})
136
128
  end
137
129
 
138
- def stub_successful_session_token_purchase_request options = {}
139
- stub_session_token_purchase_request(options).
140
- to_return(:status => 200, :body => %[{"card":{"expiry":{"month":"5","year":"13"},"number":"xxxxxxxxxxxxxxxx","scheme":"MASTERCARD"},"merchant":"","order":{"id":"#{@gateway.send(:create_order_id, options[:order_id])}","totalAuthorizedAmount":0.00,"totalCapturedAmount":0.00,"totalRefundedAmount":0.00},"response":{"acquirerCode":"00","gatewayCode":"APPROVED"},"result":"SUCCESS","transaction":{"acquirer":{"id":"STGEORGE"},"amount":"#{options[:amount]}","authorizationCode":"000576","batch":20110707,"currency":"AUD","frequency":"SINGLE","id":"72637779534c67696c54b26f220dc4d3","receipt":"110707000576","source":"INTERNET","terminal":"08845778","type":"PAYMENT"}}], :headers => {})
130
+ def stub_successful_session_token_purchase_request transaction, token
131
+ stub_session_token_purchase_request(transaction, token).
132
+ to_return(:status => 200, :body => %[{"card":{"expiry":{"month":"5","year":"13"},"number":"xxxxxxxxxxxxxxxx","scheme":"MASTERCARD"},"merchant":"","order":{"id":"#{transaction.order_id}","totalAuthorizedAmount":0.00,"totalCapturedAmount":0.00,"totalRefundedAmount":0.00},"response":{"acquirerCode":"00","gatewayCode":"APPROVED"},"result":"SUCCESS","transaction":{"acquirer":{"id":"STGEORGE"},"amount":"#{transaction.amount}","authorizationCode":"000576","batch":20110707,"currency":"AUD","frequency":"SINGLE","id":"72637779534c67696c54b26f220dc4d3","receipt":"110707000576","source":"INTERNET","terminal":"08845778","type":"PAYMENT"}}], :headers => {})
141
133
  end
142
134
 
143
- def stub_unsuccessful_session_token_purchase_request options = {}
144
- stub_session_token_purchase_request(options).
135
+ def stub_unsuccessful_session_token_purchase_request transaction, token
136
+ stub_session_token_purchase_request(transaction, token).
145
137
  to_return(:status => 200, :body => '{"result":"FAILURE"}', :headers => {})
146
138
  end
147
139
 
@@ -165,13 +157,28 @@ private
165
157
  to_return(:status => 200, :body => '{"result":"FAILURE"}', :headers => {})
166
158
  end
167
159
 
168
- def stub_session_token_purchase_request options = {}
169
- stub_request(:put, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/order\/#{@gateway.send(:create_order_id, options[:order_id])}\/transaction\/#{options[:transaction_id]}/).
160
+ def stub_successful_session_token_request
161
+ stub_session_token_request.
162
+ to_return(:status => 200, :body => '{"result":"SUCCESS","session":"SESSIONTOKEN"}', :headers => {})
163
+ end
164
+
165
+ def stub_session_token_request
166
+ stub_request(:post, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/session/).
167
+ with :headers => {
168
+ 'Accept' => '*/*',
169
+ 'Accept-Encoding' => 'gzip, deflate',
170
+ 'Content-Length' => '2',
171
+ 'Content-Type' => 'Application/json;charset=UTF-8'
172
+ }
173
+ end
174
+
175
+ def stub_session_token_purchase_request transaction, token
176
+ stub_request(:put, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/order\/#{transaction.order_id}\/transaction\/#{transaction.transaction_id}/).
170
177
  with :body => JSON.generate({
171
178
  'apiOperation' => 'PAY',
172
- 'order' => {'reference' => options[:order_reference].to_s},
173
- 'cardDetails' => {'session' => options[:token].to_s},
174
- 'transaction' => {'amount' => options[:amount].to_s, 'currency' => 'AUD', 'reference' => options[:transaction_id].to_s}
179
+ 'order' => {'reference' => transaction.reference.to_s},
180
+ 'cardDetails' => {'session' => token.to_s},
181
+ 'transaction' => {'amount' => transaction.amount.to_s, 'currency' => transaction.currency, 'reference' => transaction.transaction_id.to_s}
175
182
  }),
176
183
  :headers => {
177
184
  'Accept' => '*/*',
@@ -181,13 +188,13 @@ private
181
188
  }
182
189
  end
183
190
 
184
- def stub_credit_card_token_purchase_request options = {}
185
- stub_request(:put, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/order\/#{@gateway.send(:create_order_id, options[:order_id])}\/transaction\/#{options[:transaction_id]}/).
191
+ def stub_credit_card_token_purchase_request transaction, token
192
+ stub_request(:put, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/order\/#{transaction.order_id}\/transaction\/#{transaction.transaction_id}/).
186
193
  with :body => JSON.generate({
187
194
  'apiOperation' => 'PAY',
188
- 'order' => {'reference' => options[:order_reference].to_s},
189
- 'cardDetails' => {'cardToken' => options[:token].to_s},
190
- 'transaction' => {'amount' => options[:amount].to_s, 'currency' => 'AUD', 'reference' => options[:transaction_id].to_s}
195
+ 'order' => {'reference' => transaction.reference.to_s},
196
+ 'cardDetails' => {'cardToken' => token.to_s},
197
+ 'transaction' => {'amount' => transaction.amount.to_s, 'currency' => transaction.currency, 'reference' => transaction.transaction_id.to_s}
191
198
  }),
192
199
  :headers => {
193
200
  'Accept' => '*/*',
@@ -197,12 +204,12 @@ private
197
204
  }
198
205
  end
199
206
 
200
- def stub_refund_request options = {}
201
- stub_request(:put, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/order\/#{@gateway.send(:create_order_id, options[:order_id])}\/transaction\/#{options[:transaction_id]}/).
207
+ def stub_refund_request transaction
208
+ stub_request(:put, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/order\/#{transaction.order_id}\/transaction\/#{transaction.transaction_id}/).
202
209
  with :body => JSON.generate({
203
210
  'apiOperation' => 'REFUND',
204
- 'order' => {'reference' => options[:order_reference].to_s},
205
- 'transaction' => {'amount' => options[:amount].to_s, 'currency' => 'AUD', 'reference' => options[:transaction_id].to_s}
211
+ 'order' => {'reference' => transaction.reference.to_s},
212
+ 'transaction' => {'amount' => transaction.amount.to_s, 'currency' => transaction.currency, 'reference' => transaction.transaction_id.to_s}
206
213
  }),
207
214
  :headers => {
208
215
  'Accept' => '*/*',
@@ -221,4 +228,14 @@ private
221
228
  stub_request(:delete, /https:\/\/:#{@api_key}@secure\.ap\.tnspayments\.com\/api\/rest\/version\/4\/merchant\/#{@merchant_id}\/token\/\d{16}/).
222
229
  with(:headers => {'Accept'=>'*/*', 'Content-Type'=>'Application/json;charset=UTF-8'}, :body => {})
223
230
  end
231
+
232
+ def mock_transaction
233
+ mock = MiniTest::Mock.new
234
+ mock.expect :amount, 100
235
+ mock.expect :currency, 'AUD'
236
+ mock.expect :order_id, 10000000001
237
+ mock.expect :transaction_id, 1
238
+ mock.expect :reference, 'AUD123'
239
+ mock
240
+ end
224
241
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tns_payments
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-24 00:00:00.000000000 Z
12
+ date: 2012-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &70141552320780 !ruby/object:Gem::Requirement
16
+ requirement: &70340031250080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70141552320780
24
+ version_requirements: *70340031250080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &70141552319900 !ruby/object:Gem::Requirement
27
+ requirement: &70340031249380 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70141552319900
35
+ version_requirements: *70340031249380
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: minitest
38
- requirement: &70141552335720 !ruby/object:Gem::Requirement
38
+ requirement: &70340031248300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70141552335720
46
+ version_requirements: *70340031248300
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70141552335100 !ruby/object:Gem::Requirement
49
+ requirement: &70340031247520 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70141552335100
57
+ version_requirements: *70340031247520
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: webmock
60
- requirement: &70141552333420 !ruby/object:Gem::Requirement
60
+ requirement: &70340031246220 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70141552333420
68
+ version_requirements: *70340031246220
69
69
  description: Integration with TNS Payments Gateway
70
70
  email:
71
71
  - coop@latrobest.com
@@ -74,6 +74,7 @@ extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
76
  - .gitignore
77
+ - CHANGELOG.md
77
78
  - Gemfile
78
79
  - Rakefile
79
80
  - lib/tns_payments.rb
@@ -99,7 +100,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
100
  version: '0'
100
101
  segments:
101
102
  - 0
102
- hash: -1671981607314652405
103
+ hash: 4524899234055894427
103
104
  required_rubygems_version: !ruby/object:Gem::Requirement
104
105
  none: false
105
106
  requirements:
@@ -108,10 +109,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
109
  version: '0'
109
110
  segments:
110
111
  - 0
111
- hash: -1671981607314652405
112
+ hash: 4524899234055894427
112
113
  requirements: []
113
114
  rubyforge_project:
114
- rubygems_version: 1.8.10
115
+ rubygems_version: 1.8.11
115
116
  signing_key:
116
117
  specification_version: 3
117
118
  summary: Integration with TNS Payments Gateway