tanga_activemerchant 1.37.0 → 1.38.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +14 -2
- data/README.md +1 -1
- data/lib/active_merchant/billing/gateways/balanced.rb +2 -2
- data/lib/active_merchant/billing/gateways/eway.rb +1 -1
- data/lib/active_merchant/billing/gateways/firstdata_e4.rb +14 -3
- data/lib/active_merchant/billing/gateways/litle.rb +7 -2
- data/lib/active_merchant/billing/gateways/moneris.rb +28 -5
- data/lib/active_merchant/billing/gateways/secure_net.rb +3 -2
- data/lib/active_merchant/billing/gateways/stripe.rb +10 -29
- data/lib/active_merchant/billing/gateways/webpay.rb +23 -0
- data/lib/active_merchant/billing/integrations/hi_trust/return.rb +6 -5
- data/lib/active_merchant/billing/response.rb +11 -3
- data/lib/active_merchant/version.rb +1 -1
- metadata +36 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ab6a8d9d49c77311453407ef270a10bb8313d9b
|
4
|
+
data.tar.gz: 01608713fb3859a523da6b70314d17ce8cd37054
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae137800501f261490d1a296e135910fc1482e5813c488a2975bc571f37aed5655ee526e4377315397805f8567aa17cfde644cfa0aa2ca5dd29637f8f74b2579
|
7
|
+
data.tar.gz: e0bf6e3b03429fc1874423f27ed69c4ec89207be0aec0d9c2eb0eea7801fe05b2ed6308b6f66009acd05a6bbc26a6318f7db8c0e1d7d528f0a3e904012749c27
|
data/CHANGELOG
CHANGED
@@ -1,13 +1,25 @@
|
|
1
1
|
= ActiveMerchant CHANGELOG
|
2
2
|
|
3
|
+
== Version 1.38.0 (September 6, 2013)
|
4
|
+
|
5
|
+
* FirstData E4: Include missing address information for AVS and CVV [melari]
|
6
|
+
* Litle: Deprecate credit method in favor of refund [melari]
|
7
|
+
* Moneris: Add verification_value support [duff]
|
8
|
+
* Webpay: Fixes issues with partial JPY currency [keikubo, melari]
|
9
|
+
* SecureNet: Add INVOICENUM and INVOICEDESC optional fields [duff]
|
10
|
+
* Balanced: Make BalancedGateway::Error inherit from ActiveMerchantError [duff]
|
11
|
+
* Balanced: Fix #void interface [duff]
|
12
|
+
* HiTrust: Return correct error message for positive retcodes [melari]
|
13
|
+
* Moving to pessimistic versioning [davefp]
|
14
|
+
|
15
|
+
== Version 1.37.0 (August 20, 2013)
|
16
|
+
|
3
17
|
* MerchantWarrior: Fix handling of amounts [duff]
|
4
18
|
* Ipay88: New gateway [kamal, siong1987, jduff]
|
5
19
|
* IATS: New gateway [unkown, jduff]
|
6
20
|
* MerchantWarrior: Send the CVV to the gateway [duff]
|
7
21
|
* PayU: Fix a major bug with status types [melari]
|
8
22
|
* SecureNet: Allow production transactions [duff]
|
9
|
-
* Stripe: Allow a card_not_present_fee to be specified [melari]
|
10
|
-
|
11
23
|
|
12
24
|
== Version 1.36.0 (August 2, 2013)
|
13
25
|
|
data/README.md
CHANGED
@@ -166,7 +166,7 @@ The [ActiveMerchant Wiki](http://github.com/Shopify/active_merchant/wikis) conta
|
|
166
166
|
* [SecurePayTech](http://www.securepaytech.com/) - NZ
|
167
167
|
* [SkipJack](http://www.skipjack.com/) - US, CA
|
168
168
|
* [Spreedly Core](https://spreedlycore.com/) - AD, AE, AT, AU, BD, BE, BG, BN, CA, CH, CY, CZ, DE, DK, EE, EG, ES, FI, FR, GB, GI, GR, HK, HU, ID, IE, IL, IM, IN, IS, IT, JO, KW, LB, LI, LK, LT, LU, LV, MC, MT, MU, MV, MX, MY, NL, NO, NZ, OM, PH, PL, PT, QA, RO, SA, SE, SG, SI, SK, SM, TR, TT, UM, US, VA, VN, ZA
|
169
|
-
* [Stripe](https://stripe.com/) - US
|
169
|
+
* [Stripe](https://stripe.com/) - US, CA, GB
|
170
170
|
* [TransFirst](http://www.transfirst.com/) - US
|
171
171
|
* [Transnational](http://www.tnbci.com/) - US
|
172
172
|
* [TrustCommerce](http://www.trustcommerce.com/) - US
|
@@ -69,7 +69,7 @@ module ActiveMerchant #:nodoc:
|
|
69
69
|
self.display_name = 'Balanced'
|
70
70
|
self.money_format = :cents
|
71
71
|
|
72
|
-
class Error <
|
72
|
+
class Error < ActiveMerchant::ActiveMerchantError
|
73
73
|
attr_reader :response
|
74
74
|
|
75
75
|
def initialize(response, msg=nil)
|
@@ -210,7 +210,7 @@ module ActiveMerchant #:nodoc:
|
|
210
210
|
#
|
211
211
|
# * <tt>authorization</tt> -- The uri of the authorization returned from
|
212
212
|
# an `authorize` request.
|
213
|
-
def void(authorization)
|
213
|
+
def void(authorization, options = {})
|
214
214
|
post = {}
|
215
215
|
post[:is_void] = true
|
216
216
|
|
@@ -8,7 +8,7 @@ module ActiveMerchant #:nodoc:
|
|
8
8
|
self.live_url = 'https://www.eway.com.au'
|
9
9
|
|
10
10
|
self.money_format = :cents
|
11
|
-
self.supported_countries = ['AU']
|
11
|
+
self.supported_countries = ['AU', 'NZ', 'GB']
|
12
12
|
self.supported_cardtypes = [:visa, :master, :american_express, :diners_club]
|
13
13
|
self.homepage_url = 'http://www.eway.com.au/'
|
14
14
|
self.display_name = 'eWAY'
|
@@ -116,7 +116,7 @@ module ActiveMerchant #:nodoc:
|
|
116
116
|
if credit_card_or_store_authorization.is_a? String
|
117
117
|
add_credit_card_token(xml, credit_card_or_store_authorization)
|
118
118
|
else
|
119
|
-
add_credit_card(xml, credit_card_or_store_authorization)
|
119
|
+
add_credit_card(xml, credit_card_or_store_authorization, options)
|
120
120
|
end
|
121
121
|
|
122
122
|
add_customer_data(xml, options)
|
@@ -138,7 +138,7 @@ module ActiveMerchant #:nodoc:
|
|
138
138
|
def build_store_request(credit_card, options)
|
139
139
|
xml = Builder::XmlMarkup.new
|
140
140
|
|
141
|
-
add_credit_card(xml, credit_card)
|
141
|
+
add_credit_card(xml, credit_card, options)
|
142
142
|
add_customer_data(xml, options)
|
143
143
|
|
144
144
|
xml.target!
|
@@ -164,12 +164,23 @@ module ActiveMerchant #:nodoc:
|
|
164
164
|
xml.tag! "DollarAmount", amount(money)
|
165
165
|
end
|
166
166
|
|
167
|
-
def add_credit_card(xml, credit_card)
|
167
|
+
def add_credit_card(xml, credit_card, options)
|
168
168
|
xml.tag! "Card_Number", credit_card.number
|
169
169
|
xml.tag! "Expiry_Date", expdate(credit_card)
|
170
170
|
xml.tag! "CardHoldersName", credit_card.name
|
171
171
|
xml.tag! "CardType", credit_card.brand
|
172
172
|
|
173
|
+
add_credit_card_verification_strings(xml, credit_card, options)
|
174
|
+
end
|
175
|
+
|
176
|
+
def add_credit_card_verification_strings(xml, credit_card, options)
|
177
|
+
address = options[:billing_address] || options[:address]
|
178
|
+
if address
|
179
|
+
address_values = []
|
180
|
+
[:address1, :zip, :city, :state, :country].each { |part| address_values << address[part].to_s }
|
181
|
+
xml.tag! "VerificationStr1", address_values.join("|")
|
182
|
+
end
|
183
|
+
|
173
184
|
if credit_card.verification_value?
|
174
185
|
xml.tag! "CVD_Presence_Ind", "1"
|
175
186
|
xml.tag! "VerificationStr2", credit_card.verification_value
|
@@ -112,11 +112,16 @@ module ActiveMerchant #:nodoc:
|
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
|
-
def
|
116
|
-
to_pass = build_credit_request(money,
|
115
|
+
def refund(money, authorization, options = {})
|
116
|
+
to_pass = build_credit_request(money, authorization, options)
|
117
117
|
build_response(:credit, @litle.credit(to_pass))
|
118
118
|
end
|
119
119
|
|
120
|
+
def credit(money, authorization, options = {})
|
121
|
+
deprecated CREDIT_DEPRECATION_MESSAGE
|
122
|
+
refund(money, authorization, options)
|
123
|
+
end
|
124
|
+
|
120
125
|
def store(creditcard_or_paypage_registration_id, options = {})
|
121
126
|
to_pass = create_token_hash(creditcard_or_paypage_registration_id, options)
|
122
127
|
build_response(:registerToken, @litle.register_token_request(to_pass), %w(000 801 802))
|
@@ -128,6 +128,7 @@ module ActiveMerchant #:nodoc:
|
|
128
128
|
else
|
129
129
|
post[:pan] = source.number
|
130
130
|
post[:expdate] = expdate(source)
|
131
|
+
post[:cvd_value] = source.verification_value if source.verification_value?
|
131
132
|
end
|
132
133
|
end
|
133
134
|
|
@@ -155,6 +156,7 @@ module ActiveMerchant #:nodoc:
|
|
155
156
|
|
156
157
|
Response.new(successful?(response), message_from(response[:message]), response,
|
157
158
|
:test => test?,
|
159
|
+
:cvv_result => response[:cvd_result_code].try(:last),
|
158
160
|
:authorization => authorization_from(response)
|
159
161
|
)
|
160
162
|
end
|
@@ -192,14 +194,35 @@ module ActiveMerchant #:nodoc:
|
|
192
194
|
root = xml.add_element("request")
|
193
195
|
root.add_element("store_id").text = options[:login]
|
194
196
|
root.add_element("api_token").text = options[:password]
|
195
|
-
|
197
|
+
root.add_element(transaction_element(action, parameters))
|
198
|
+
|
199
|
+
xml.to_s
|
200
|
+
end
|
201
|
+
|
202
|
+
def transaction_element(action, parameters)
|
203
|
+
transaction = REXML::Element.new(action)
|
196
204
|
|
197
205
|
# Must add the elements in the correct order
|
198
206
|
actions[action].each do |key|
|
199
|
-
|
207
|
+
if key == :cvd_info
|
208
|
+
transaction.add_element(cvd_element(parameters[:cvd_value]))
|
209
|
+
else
|
210
|
+
transaction.add_element(key.to_s).text = parameters[key] unless parameters[key].blank?
|
211
|
+
end
|
200
212
|
end
|
201
213
|
|
202
|
-
|
214
|
+
transaction
|
215
|
+
end
|
216
|
+
|
217
|
+
def cvd_element(cvd_value)
|
218
|
+
element = REXML::Element.new('cvd_info')
|
219
|
+
if cvd_value
|
220
|
+
element.add_element('cvd_indicator').text = "1"
|
221
|
+
element.add_element('cvd_value').text = cvd_value
|
222
|
+
else
|
223
|
+
element.add_element('cvd_indicator').text = "0"
|
224
|
+
end
|
225
|
+
element
|
203
226
|
end
|
204
227
|
|
205
228
|
def message_from(message)
|
@@ -219,8 +242,8 @@ module ActiveMerchant #:nodoc:
|
|
219
242
|
|
220
243
|
def actions
|
221
244
|
{
|
222
|
-
"purchase" => [:order_id, :cust_id, :amount, :pan, :expdate, :crypt_type],
|
223
|
-
"preauth" => [:order_id, :cust_id, :amount, :pan, :expdate, :crypt_type],
|
245
|
+
"purchase" => [:order_id, :cust_id, :amount, :pan, :expdate, :crypt_type, :cvd_info],
|
246
|
+
"preauth" => [:order_id, :cust_id, :amount, :pan, :expdate, :crypt_type, :cvd_info],
|
224
247
|
"command" => [:order_id],
|
225
248
|
"refund" => [:order_id, :amount, :txn_number, :crypt_type],
|
226
249
|
"indrefund" => [:order_id, :cust_id, :amount, :pan, :expdate, :crypt_type],
|
@@ -182,8 +182,9 @@ module ActiveMerchant #:nodoc:
|
|
182
182
|
end
|
183
183
|
|
184
184
|
def add_invoice(xml, options)
|
185
|
-
xml.tag! '
|
186
|
-
xml.tag! '
|
185
|
+
xml.tag! 'NOTE', options[:description] if options[:description]
|
186
|
+
xml.tag! 'INVOICEDESC', options[:invoice_description] if options[:invoice_description]
|
187
|
+
xml.tag! 'INVOICENUM', options[:invoice_number] if options[:invoice_number]
|
187
188
|
end
|
188
189
|
|
189
190
|
def add_merchant_key(xml, options)
|
@@ -21,7 +21,7 @@ module ActiveMerchant #:nodoc:
|
|
21
21
|
'unchecked' => 'P'
|
22
22
|
}
|
23
23
|
|
24
|
-
self.supported_countries = ['US', 'CA']
|
24
|
+
self.supported_countries = ['US', 'CA', 'GB']
|
25
25
|
self.default_currency = 'USD'
|
26
26
|
self.money_format = :cents
|
27
27
|
self.supported_cardtypes = [:visa, :master, :american_express, :discover, :jcb, :diners_club]
|
@@ -40,7 +40,7 @@ module ActiveMerchant #:nodoc:
|
|
40
40
|
post = create_post_for_auth_or_purchase(money, creditcard, options)
|
41
41
|
post[:capture] = "false"
|
42
42
|
|
43
|
-
commit(:post, 'charges', post, generate_meta(options)
|
43
|
+
commit(:post, 'charges', post, generate_meta(options))
|
44
44
|
end
|
45
45
|
|
46
46
|
# To create a charge on a card or a token, call
|
@@ -53,12 +53,12 @@ module ActiveMerchant #:nodoc:
|
|
53
53
|
def purchase(money, creditcard, options = {})
|
54
54
|
post = create_post_for_auth_or_purchase(money, creditcard, options)
|
55
55
|
|
56
|
-
commit(:post, 'charges', post, generate_meta(options)
|
56
|
+
commit(:post, 'charges', post, generate_meta(options))
|
57
57
|
end
|
58
58
|
|
59
59
|
def capture(money, authorization, options = {})
|
60
60
|
post = {:amount => amount(money)}
|
61
|
-
add_application_fee(post,
|
61
|
+
add_application_fee(post, options)
|
62
62
|
|
63
63
|
commit(:post, "charges/#{CGI.escape(authorization)}/capture", post)
|
64
64
|
end
|
@@ -71,7 +71,7 @@ module ActiveMerchant #:nodoc:
|
|
71
71
|
post = {:amount => amount(money)}
|
72
72
|
commit_options = generate_meta(options)
|
73
73
|
|
74
|
-
MultiResponse.run do |r|
|
74
|
+
MultiResponse.run(:first) do |r|
|
75
75
|
r.process { commit(:post, "charges/#{CGI.escape(identification)}/refund", post, commit_options) }
|
76
76
|
|
77
77
|
return r unless options[:refund_fee_amount]
|
@@ -131,7 +131,7 @@ module ActiveMerchant #:nodoc:
|
|
131
131
|
add_customer_data(post,options)
|
132
132
|
post[:description] = options[:description] || options[:email]
|
133
133
|
add_flags(post, options)
|
134
|
-
add_application_fee(post,
|
134
|
+
add_application_fee(post, options)
|
135
135
|
post
|
136
136
|
end
|
137
137
|
|
@@ -140,25 +140,8 @@ module ActiveMerchant #:nodoc:
|
|
140
140
|
post[:currency] = (options[:currency] || currency(money)).downcase
|
141
141
|
end
|
142
142
|
|
143
|
-
def add_application_fee(post,
|
144
|
-
|
145
|
-
if use_card_not_present_fee?(creditcard, options)
|
146
|
-
post[:application_fee] = options[:card_not_present_fee]
|
147
|
-
else
|
148
|
-
post[:application_fee] = options[:application_fee]
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
def use_card_not_present_fee?(creditcard, options)
|
153
|
-
options[:card_not_present_fee].present? && !includes_track_data?(creditcard, options)
|
154
|
-
end
|
155
|
-
|
156
|
-
def includes_track_data?(creditcard, options)
|
157
|
-
if creditcard.respond_to?(:track_data)
|
158
|
-
creditcard.track_data.present?
|
159
|
-
else
|
160
|
-
options[:track_data].present?
|
161
|
-
end
|
143
|
+
def add_application_fee(post, options)
|
144
|
+
post[:application_fee] = options[:application_fee] if options[:application_fee]
|
162
145
|
end
|
163
146
|
|
164
147
|
def add_customer_data(post, options)
|
@@ -207,7 +190,7 @@ module ActiveMerchant #:nodoc:
|
|
207
190
|
end
|
208
191
|
|
209
192
|
def add_customer(post, options)
|
210
|
-
post[:customer] = options[:customer] if options[:customer] &&
|
193
|
+
post[:customer] = options[:customer] if options[:customer] && post[:card].blank?
|
211
194
|
end
|
212
195
|
|
213
196
|
def add_flags(post, options)
|
@@ -265,7 +248,7 @@ module ActiveMerchant #:nodoc:
|
|
265
248
|
}
|
266
249
|
end
|
267
250
|
|
268
|
-
def commit(method, url, parameters=nil, options = {}
|
251
|
+
def commit(method, url, parameters=nil, options = {})
|
269
252
|
raw_response = response = nil
|
270
253
|
success = false
|
271
254
|
begin
|
@@ -279,8 +262,6 @@ module ActiveMerchant #:nodoc:
|
|
279
262
|
response = json_error(raw_response)
|
280
263
|
end
|
281
264
|
|
282
|
-
response[:card_present] = includes_track_data?(creditcard, options)
|
283
|
-
|
284
265
|
card = response["card"] || response["active_card"] || {}
|
285
266
|
avs_code = AVS_CODE_TRANSLATOR["line1: #{card["address_line1_check"]}, zip: #{card["address_zip_check"]}"]
|
286
267
|
cvc_code = CVC_CODE_TRANSLATOR[card["cvc_check"]]
|
@@ -21,10 +21,33 @@ module ActiveMerchant #:nodoc:
|
|
21
21
|
raise NotImplementedError.new
|
22
22
|
end
|
23
23
|
|
24
|
+
def refund(money, identification, options = {})
|
25
|
+
post = {:amount => localized_amount(money)}
|
26
|
+
commit_options = generate_meta(options)
|
27
|
+
|
28
|
+
MultiResponse.run do |r|
|
29
|
+
r.process { commit(:post, "charges/#{CGI.escape(identification)}/refund", post, commit_options) }
|
30
|
+
|
31
|
+
return r unless options[:refund_fee_amount]
|
32
|
+
|
33
|
+
r.process { fetch_application_fees(identification, commit_options) }
|
34
|
+
r.process { refund_application_fee(options[:refund_fee_amount], application_fee_from_response(r), commit_options) }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
24
38
|
def refund_fee(identification, options, meta)
|
25
39
|
raise NotImplementedError.new
|
26
40
|
end
|
27
41
|
|
42
|
+
def localized_amount(money, currency = self.default_currency)
|
43
|
+
non_fractional_currency?(currency) ? (amount(money).to_f / 100).floor : amount(money)
|
44
|
+
end
|
45
|
+
|
46
|
+
def add_amount(post, money, options)
|
47
|
+
post[:currency] = (options[:currency] || currency(money)).downcase
|
48
|
+
post[:amount] = localized_amount(money, post[:currency].upcase)
|
49
|
+
end
|
50
|
+
|
28
51
|
def json_error(raw_response)
|
29
52
|
msg = 'Invalid response received from the WebPay API. Please contact support@webpay.jp if you continue to receive this message.'
|
30
53
|
msg += " (The raw response returned by the API was #{raw_response.inspect})"
|
@@ -7,10 +7,10 @@ module ActiveMerchant #:nodoc:
|
|
7
7
|
CODES = { "00" => "Operation completed successfully",
|
8
8
|
"-1" => "Unable to initialize winsock dll.",
|
9
9
|
"-2" => "Can't create stream socket.",
|
10
|
-
"-3" => "No Request Message.",
|
10
|
+
"-3" => "No Request Message.",
|
11
11
|
"-4" => "Can't connect to server.",
|
12
12
|
"-5" => "Send socket error.",
|
13
|
-
"-6" => "Couldn't receive data.",
|
13
|
+
"-6" => "Couldn't receive data.",
|
14
14
|
"-7" => "Receive Broken message.",
|
15
15
|
"-8" => "Unable to initialize Envirnment.",
|
16
16
|
"-9" => "Can't Read Server RSA File.",
|
@@ -52,15 +52,16 @@ module ActiveMerchant #:nodoc:
|
|
52
52
|
"-308" => "Order Number already exists.",
|
53
53
|
"positive" => "Response from Bank. Please contact with Acquirer Bank Service or HiTRUST Call Center."
|
54
54
|
}
|
55
|
-
|
55
|
+
|
56
56
|
def success?
|
57
57
|
params['retcode'] == SUCCESS
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
def message
|
61
|
+
return CODES["positive"] if params['retcode'].to_i > 0
|
61
62
|
CODES[ params['retcode'] ]
|
62
63
|
end
|
63
|
-
|
64
|
+
end
|
64
65
|
end
|
65
66
|
end
|
66
67
|
end
|
@@ -39,14 +39,18 @@ module ActiveMerchant #:nodoc:
|
|
39
39
|
end
|
40
40
|
|
41
41
|
class MultiResponse < Response
|
42
|
-
def self.run(&block)
|
43
|
-
new.tap(&block)
|
42
|
+
def self.run(primary_response = :last, &block)
|
43
|
+
response = new.tap(&block)
|
44
|
+
response.primary_response = primary_response
|
45
|
+
response
|
44
46
|
end
|
45
47
|
|
46
48
|
attr_reader :responses
|
49
|
+
attr_writer :primary_response
|
47
50
|
|
48
51
|
def initialize
|
49
52
|
@responses = []
|
53
|
+
@primary_response = :last
|
50
54
|
end
|
51
55
|
|
52
56
|
def process
|
@@ -65,10 +69,14 @@ module ActiveMerchant #:nodoc:
|
|
65
69
|
@responses.all?{|r| r.success?}
|
66
70
|
end
|
67
71
|
|
72
|
+
def primary_response
|
73
|
+
success? && @primary_response == :first ? @responses.first : @responses.last
|
74
|
+
end
|
75
|
+
|
68
76
|
%w(params message test authorization avs_result cvv_result test? fraud_review?).each do |m|
|
69
77
|
class_eval %(
|
70
78
|
def #{m}
|
71
|
-
(@responses.empty? ? nil :
|
79
|
+
(@responses.empty? ? nil : primary_response.#{m})
|
72
80
|
end
|
73
81
|
)
|
74
82
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tanga_activemerchant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.38.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Luetke
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- gem-public_cert.pem
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-05-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -18,6 +18,9 @@ dependencies:
|
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 2.3.14
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 5.0.0
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -25,90 +28,99 @@ dependencies:
|
|
25
28
|
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: 2.3.14
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 5.0.0
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: i18n
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
|
-
- - "
|
38
|
+
- - "~>"
|
33
39
|
- !ruby/object:Gem::Version
|
34
|
-
version: '0'
|
40
|
+
version: '0.5'
|
35
41
|
type: :runtime
|
36
42
|
prerelease: false
|
37
43
|
version_requirements: !ruby/object:Gem::Requirement
|
38
44
|
requirements:
|
39
|
-
- - "
|
45
|
+
- - "~>"
|
40
46
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0'
|
47
|
+
version: '0.5'
|
42
48
|
- !ruby/object:Gem::Dependency
|
43
49
|
name: money
|
44
50
|
requirement: !ruby/object:Gem::Requirement
|
45
51
|
requirements:
|
46
|
-
- - "
|
52
|
+
- - "<"
|
47
53
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
54
|
+
version: 6.0.0
|
49
55
|
type: :runtime
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
52
58
|
requirements:
|
53
|
-
- - "
|
59
|
+
- - "<"
|
54
60
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
61
|
+
version: 6.0.0
|
56
62
|
- !ruby/object:Gem::Dependency
|
57
63
|
name: builder
|
58
64
|
requirement: !ruby/object:Gem::Requirement
|
59
65
|
requirements:
|
60
66
|
- - ">="
|
61
67
|
- !ruby/object:Gem::Version
|
62
|
-
version: 2.
|
68
|
+
version: 2.1.2
|
69
|
+
- - "<"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 4.0.0
|
63
72
|
type: :runtime
|
64
73
|
prerelease: false
|
65
74
|
version_requirements: !ruby/object:Gem::Requirement
|
66
75
|
requirements:
|
67
76
|
- - ">="
|
68
77
|
- !ruby/object:Gem::Version
|
69
|
-
version: 2.
|
78
|
+
version: 2.1.2
|
79
|
+
- - "<"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 4.0.0
|
70
82
|
- !ruby/object:Gem::Dependency
|
71
83
|
name: json
|
72
84
|
requirement: !ruby/object:Gem::Requirement
|
73
85
|
requirements:
|
74
|
-
- - "
|
86
|
+
- - "~>"
|
75
87
|
- !ruby/object:Gem::Version
|
76
|
-
version: 1.
|
88
|
+
version: '1.7'
|
77
89
|
type: :runtime
|
78
90
|
prerelease: false
|
79
91
|
version_requirements: !ruby/object:Gem::Requirement
|
80
92
|
requirements:
|
81
|
-
- - "
|
93
|
+
- - "~>"
|
82
94
|
- !ruby/object:Gem::Version
|
83
|
-
version: 1.
|
95
|
+
version: '1.7'
|
84
96
|
- !ruby/object:Gem::Dependency
|
85
97
|
name: active_utils
|
86
98
|
requirement: !ruby/object:Gem::Requirement
|
87
99
|
requirements:
|
88
|
-
- - "
|
100
|
+
- - "~>"
|
89
101
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
102
|
+
version: '2.0'
|
91
103
|
type: :runtime
|
92
104
|
prerelease: false
|
93
105
|
version_requirements: !ruby/object:Gem::Requirement
|
94
106
|
requirements:
|
95
|
-
- - "
|
107
|
+
- - "~>"
|
96
108
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
109
|
+
version: '2.0'
|
98
110
|
- !ruby/object:Gem::Dependency
|
99
111
|
name: nokogiri
|
100
112
|
requirement: !ruby/object:Gem::Requirement
|
101
113
|
requirements:
|
102
|
-
- - "
|
114
|
+
- - "~>"
|
103
115
|
- !ruby/object:Gem::Version
|
104
|
-
version: 1.
|
116
|
+
version: '1.4'
|
105
117
|
type: :runtime
|
106
118
|
prerelease: false
|
107
119
|
version_requirements: !ruby/object:Gem::Requirement
|
108
120
|
requirements:
|
109
|
-
- - "
|
121
|
+
- - "~>"
|
110
122
|
- !ruby/object:Gem::Version
|
111
|
-
version: 1.
|
123
|
+
version: '1.4'
|
112
124
|
- !ruby/object:Gem::Dependency
|
113
125
|
name: rake
|
114
126
|
requirement: !ruby/object:Gem::Requirement
|
@@ -503,4 +515,3 @@ signing_key:
|
|
503
515
|
specification_version: 4
|
504
516
|
summary: Framework and tools for dealing with credit card transactions.
|
505
517
|
test_files: []
|
506
|
-
has_rdoc:
|