braintree 2.102.0 → 3.1.0

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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/braintree.gemspec +6 -3
  4. data/lib/braintree.rb +3 -17
  5. data/lib/braintree/address.rb +0 -22
  6. data/lib/braintree/address_gateway.rb +2 -2
  7. data/lib/braintree/base_module.rb +6 -0
  8. data/lib/braintree/bin_data.rb +9 -2
  9. data/lib/braintree/configuration.rb +1 -1
  10. data/lib/braintree/credit_card.rb +5 -76
  11. data/lib/braintree/credit_card_gateway.rb +3 -32
  12. data/lib/braintree/credit_card_verification.rb +14 -0
  13. data/lib/braintree/customer.rb +3 -72
  14. data/lib/braintree/customer_gateway.rb +0 -23
  15. data/lib/braintree/dispute.rb +1 -7
  16. data/lib/braintree/dispute/{history_event.rb → status_history.rb} +3 -1
  17. data/lib/braintree/dispute/transaction.rb +2 -0
  18. data/lib/braintree/dispute_gateway.rb +2 -7
  19. data/lib/braintree/error_codes.rb +152 -170
  20. data/lib/braintree/exceptions.rb +5 -3
  21. data/lib/braintree/gateway.rb +0 -14
  22. data/lib/braintree/{android_pay_card.rb → google_pay_card.rb} +1 -1
  23. data/lib/braintree/local_payment_completed.rb +1 -1
  24. data/lib/braintree/merchant_account_gateway.rb +2 -0
  25. data/lib/braintree/payment_instrument_type.rb +1 -4
  26. data/lib/braintree/payment_method_gateway.rb +4 -8
  27. data/lib/braintree/payment_method_parser.rb +1 -7
  28. data/lib/braintree/risk_data.rb +4 -1
  29. data/lib/braintree/subscription.rb +5 -5
  30. data/lib/braintree/successful_result.rb +0 -1
  31. data/lib/braintree/test/credit_card.rb +1 -0
  32. data/lib/braintree/test/nonce.rb +5 -20
  33. data/lib/braintree/transaction.rb +9 -73
  34. data/lib/braintree/transaction/address_details.rb +11 -0
  35. data/lib/braintree/transaction/disbursement_details.rb +1 -0
  36. data/lib/braintree/transaction/{android_pay_details.rb → google_pay_details.rb} +1 -1
  37. data/lib/braintree/transaction/paypal_details.rb +3 -0
  38. data/lib/braintree/transaction/subscription_details.rb +2 -0
  39. data/lib/braintree/transaction_gateway.rb +14 -21
  40. data/lib/braintree/transaction_search.rb +0 -1
  41. data/lib/braintree/util.rb +17 -2
  42. data/lib/braintree/version.rb +2 -2
  43. data/lib/braintree/webhook_notification.rb +0 -10
  44. data/lib/braintree/webhook_testing_gateway.rb +0 -43
  45. data/lib/braintree/xml/libxml.rb +1 -0
  46. data/lib/braintree/xml/parser.rb +11 -34
  47. data/spec/integration/braintree/address_spec.rb +2 -89
  48. data/spec/integration/braintree/client_api/spec_helper.rb +92 -66
  49. data/spec/integration/braintree/credit_card_spec.rb +20 -467
  50. data/spec/integration/braintree/credit_card_verification_spec.rb +1 -0
  51. data/spec/integration/braintree/customer_spec.rb +22 -362
  52. data/spec/integration/braintree/dispute_search_spec.rb +3 -3
  53. data/spec/integration/braintree/dispute_spec.rb +1 -2
  54. data/spec/integration/braintree/merchant_spec.rb +2 -2
  55. data/spec/integration/braintree/payment_method_spec.rb +77 -120
  56. data/spec/integration/braintree/paypal_account_spec.rb +1 -1
  57. data/spec/integration/braintree/subscription_spec.rb +11 -16
  58. data/spec/integration/braintree/transaction_search_spec.rb +3 -3
  59. data/spec/integration/braintree/transaction_spec.rb +274 -524
  60. data/spec/integration/spec_helper.rb +1 -4
  61. data/spec/spec_helper.rb +1 -11
  62. data/spec/unit/braintree/address_spec.rb +0 -8
  63. data/spec/unit/braintree/credit_card_spec.rb +28 -21
  64. data/spec/unit/braintree/credit_card_verification_spec.rb +7 -0
  65. data/spec/unit/braintree/customer_spec.rb +4 -12
  66. data/spec/unit/braintree/dispute_spec.rb +4 -12
  67. data/spec/unit/braintree/http_spec.rb +3 -3
  68. data/spec/unit/braintree/local_payment_completed_spec.rb +14 -0
  69. data/spec/unit/braintree/transaction/paypal_details_spec.rb +59 -0
  70. data/spec/unit/braintree/transaction_spec.rb +17 -37
  71. data/spec/unit/braintree/util_spec.rb +37 -3
  72. data/spec/unit/braintree/webhook_notification_spec.rb +1 -1
  73. data/spec/unit/braintree/xml/parser_spec.rb +21 -16
  74. metadata +28 -32
  75. data/lib/braintree/amex_express_checkout_card.rb +0 -38
  76. data/lib/braintree/coinbase_account.rb +0 -34
  77. data/lib/braintree/europe_bank_account.rb +0 -36
  78. data/lib/braintree/europe_bank_account_gateway.rb +0 -17
  79. data/lib/braintree/ideal_payment.rb +0 -61
  80. data/lib/braintree/ideal_payment_gateway.rb +0 -19
  81. data/lib/braintree/masterpass_card.rb +0 -81
  82. data/lib/braintree/transaction/amex_express_checkout_details.rb +0 -21
  83. data/lib/braintree/transaction/coinbase_details.rb +0 -16
  84. data/lib/braintree/transaction/ideal_payment_details.rb +0 -19
  85. data/lib/braintree/transaction/masterpass_card_details.rb +0 -47
  86. data/lib/braintree/transparent_redirect.rb +0 -40
  87. data/lib/braintree/transparent_redirect_gateway.rb +0 -105
  88. data/lib/braintree/xml/rexml.rb +0 -71
  89. data/spec/hacks/tcp_socket.rb +0 -18
  90. data/spec/integration/braintree/coinbase_spec.rb +0 -34
  91. data/spec/integration/braintree/masterpass_card_spec.rb +0 -97
  92. data/spec/integration/braintree/transparent_redirect_spec.rb +0 -268
  93. data/spec/unit/braintree/transparent_redirect_spec.rb +0 -223
  94. data/spec/unit/braintree/xml/rexml_spec.rb +0 -51
@@ -171,6 +171,22 @@ describe Braintree::Util do
171
171
  end
172
172
  end
173
173
 
174
+ describe "self.replace_key" do
175
+ it "replaces the target key with the replacement key" do
176
+ Braintree::Util.replace_key(
177
+ {:a => {:b => "some value"}},
178
+ :b,
179
+ :c).should == {:a => {:c => "some value"}}
180
+ end
181
+
182
+ it "returns hash with all of the original keys if the target key does not exist" do
183
+ Braintree::Util.replace_key(
184
+ {:some_key => "some value"},
185
+ :not_found,
186
+ :new_key).should == {:some_key => "some value"}
187
+ end
188
+ end
189
+
174
190
  describe "self._flatten_hash_keys" do
175
191
  it "flattens hash keys" do
176
192
  Braintree::Util._flatten_hash_keys(:nested => {
@@ -259,7 +275,7 @@ describe Braintree::Util do
259
275
  "UNSUPPORTED_CLIENT" => Braintree::UpgradeRequiredError,
260
276
  "RESOURCE_LIMIT" => Braintree::TooManyRequestsError,
261
277
  "INTERNAL" => Braintree::ServerError,
262
- "SERVICE_AVAILABILITY" => Braintree::DownForMaintenanceError,
278
+ "SERVICE_AVAILABILITY" => Braintree::ServiceUnavailableError,
263
279
  }
264
280
 
265
281
  errors.each do |graphQLError, exception|
@@ -321,6 +337,18 @@ describe Braintree::Util do
321
337
  end.to raise_error(Braintree::AuthorizationError)
322
338
  end
323
339
 
340
+ it "raises a NotFoundError if resource is not found" do
341
+ expect do
342
+ Braintree::Util.raise_exception_for_status_code(404)
343
+ end.to raise_error(Braintree::NotFoundError)
344
+ end
345
+
346
+ it "raises a RequestTimeoutError if the request times out" do
347
+ expect do
348
+ Braintree::Util.raise_exception_for_status_code(408)
349
+ end.to raise_error(Braintree::RequestTimeoutError)
350
+ end
351
+
324
352
  it "raises an UpgradeRequired if the client library is EOL'd" do
325
353
  expect do
326
354
  Braintree::Util.raise_exception_for_status_code(426)
@@ -339,10 +367,16 @@ describe Braintree::Util do
339
367
  end.to raise_error(Braintree::ServerError)
340
368
  end
341
369
 
342
- it "raises a DownForMaintenanceError if the server is down for maintenance" do
370
+ it "raises a ServiceUnavailableError if the server is unavailable" do
343
371
  expect do
344
372
  Braintree::Util.raise_exception_for_status_code(503)
345
- end.to raise_error(Braintree::DownForMaintenanceError)
373
+ end.to raise_error(Braintree::ServiceUnavailableError)
374
+ end
375
+
376
+ it "raises a GatewayTimeoutError if the gateway times out" do
377
+ expect do
378
+ Braintree::Util.raise_exception_for_status_code(504)
379
+ end.to raise_error(Braintree::GatewayTimeoutError)
346
380
  end
347
381
 
348
382
  it "raises an UnexpectedError if some other code is returned" do
@@ -275,7 +275,7 @@ describe Braintree::WebhookNotification do
275
275
  notification.kind.should == Braintree::WebhookNotification::Kind::TransactionDisbursed
276
276
  notification.transaction.id.should == "my_id"
277
277
  notification.transaction.amount.should == 1_00
278
- notification.transaction.disbursement_details.disbursement_date.should == "2013-07-09"
278
+ notification.transaction.disbursement_details.disbursement_date.should == Date.parse("2013-07-09")
279
279
  end
280
280
 
281
281
  it "builds a sample notification for a disbursement_exception webhook" do
@@ -57,24 +57,29 @@ describe Braintree::Xml::Parser do
57
57
  xml.should parse_to(:root => {:customers => [{:name => "Adam"}, {:name => "Ben"}]})
58
58
  end
59
59
 
60
- it "parses using libxml when not using ruby 2.0" do
61
- xml = "<root><foo type=\"integer\">123</foo></root>"
62
- stub_const("RUBY_VERSION", "2.1.1")
63
- ::Braintree::Xml::Libxml.should_receive(:parse).and_call_original
64
-
65
- Braintree::Xml::Parser.hash_from_xml(xml)
60
+ it "parses an array" do
61
+ xml = <<-END
62
+ <root>
63
+ <customers type="array">
64
+ <customer><name>Adam</name><customer-id>1</customer-id></customer>
65
+ <customer><name>Ben</name><customer-id>2</customer-id></customer>
66
+ </customers>
67
+ </root>
68
+ END
69
+ xml.should parse_to(:root => {:customers => [{:name => "Adam", :customer_id => "1"}, {:name => "Ben", :customer_id => "2"}]})
66
70
  end
67
71
 
68
- it "parses using rexml when using ruby 2.0 to avoid Libxml segfault" do
69
- segfault_prone_library_in_ruby_2_0 = ::Braintree::Xml::Libxml
70
-
71
- xml = "<root><foo type=\"integer\">123</foo></root>"
72
- stub_const("RUBY_VERSION", "2.0.0")
73
-
74
- ::Braintree::Xml::Rexml.should_receive(:parse).and_call_original
75
- segfault_prone_library_in_ruby_2_0.should_not_receive(:parse)
76
-
77
- Braintree::Xml::Parser.hash_from_xml(xml)
72
+ it "parses nested objects" do
73
+ xml = <<-END
74
+ <root>
75
+ <paypal-details>
76
+ <deets type="array"><super-secrets><secret-code>1234</secret-code></super-secrets></deets>
77
+ <payer-email>abc@test.com</payer-email>
78
+ <payment-id>1234567890</payment-id>
79
+ </paypal-details>
80
+ </root>
81
+ END
82
+ xml.should parse_to(:root => {:paypal_details => {:deets => [{:secret_code => "1234"}], :payer_email => "abc@test.com", :payment_id => "1234567890"}})
78
83
  end
79
84
  end
80
85
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braintree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.102.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Braintree
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-13 00:00:00.000000000 Z
11
+ date: 2020-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -16,15 +16,30 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.0
19
+ version: 3.2.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.0
27
- description: Ruby library for integrating with the Braintree Gateway
26
+ version: 3.2.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: libxml-ruby
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.2.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.2.0
41
+ description: Resources and tools for developers to integrate Braintree's global payments
42
+ platform.
28
43
  email: code@getbraintree.com
29
44
  executables: []
30
45
  extensions: []
@@ -41,8 +56,6 @@ files:
41
56
  - lib/braintree/address/country_names.rb
42
57
  - lib/braintree/address_gateway.rb
43
58
  - lib/braintree/advanced_search.rb
44
- - lib/braintree/amex_express_checkout_card.rb
45
- - lib/braintree/android_pay_card.rb
46
59
  - lib/braintree/apple_pay.rb
47
60
  - lib/braintree/apple_pay_card.rb
48
61
  - lib/braintree/apple_pay_gateway.rb
@@ -52,7 +65,6 @@ files:
52
65
  - lib/braintree/bin_data.rb
53
66
  - lib/braintree/client_token.rb
54
67
  - lib/braintree/client_token_gateway.rb
55
- - lib/braintree/coinbase_account.rb
56
68
  - lib/braintree/configuration.rb
57
69
  - lib/braintree/connected_merchant_paypal_status_changed.rb
58
70
  - lib/braintree/connected_merchant_status_transitioned.rb
@@ -72,7 +84,7 @@ files:
72
84
  - lib/braintree/discount_gateway.rb
73
85
  - lib/braintree/dispute.rb
74
86
  - lib/braintree/dispute/evidence.rb
75
- - lib/braintree/dispute/history_event.rb
87
+ - lib/braintree/dispute/status_history.rb
76
88
  - lib/braintree/dispute/transaction.rb
77
89
  - lib/braintree/dispute/transaction_details.rb
78
90
  - lib/braintree/dispute_gateway.rb
@@ -82,19 +94,15 @@ files:
82
94
  - lib/braintree/error_codes.rb
83
95
  - lib/braintree/error_result.rb
84
96
  - lib/braintree/errors.rb
85
- - lib/braintree/europe_bank_account.rb
86
- - lib/braintree/europe_bank_account_gateway.rb
87
97
  - lib/braintree/exceptions.rb
88
98
  - lib/braintree/facilitated_details.rb
89
99
  - lib/braintree/facilitator_details.rb
90
100
  - lib/braintree/gateway.rb
101
+ - lib/braintree/google_pay_card.rb
91
102
  - lib/braintree/granted_payment_instrument_update.rb
92
103
  - lib/braintree/graphql_client.rb
93
104
  - lib/braintree/http.rb
94
- - lib/braintree/ideal_payment.rb
95
- - lib/braintree/ideal_payment_gateway.rb
96
105
  - lib/braintree/local_payment_completed.rb
97
- - lib/braintree/masterpass_card.rb
98
106
  - lib/braintree/merchant.rb
99
107
  - lib/braintree/merchant_account.rb
100
108
  - lib/braintree/merchant_account/address_details.rb
@@ -144,16 +152,12 @@ files:
144
152
  - lib/braintree/three_d_secure_info.rb
145
153
  - lib/braintree/transaction.rb
146
154
  - lib/braintree/transaction/address_details.rb
147
- - lib/braintree/transaction/amex_express_checkout_details.rb
148
- - lib/braintree/transaction/android_pay_details.rb
149
155
  - lib/braintree/transaction/apple_pay_details.rb
150
- - lib/braintree/transaction/coinbase_details.rb
151
156
  - lib/braintree/transaction/credit_card_details.rb
152
157
  - lib/braintree/transaction/customer_details.rb
153
158
  - lib/braintree/transaction/disbursement_details.rb
154
- - lib/braintree/transaction/ideal_payment_details.rb
159
+ - lib/braintree/transaction/google_pay_details.rb
155
160
  - lib/braintree/transaction/local_payment_details.rb
156
- - lib/braintree/transaction/masterpass_card_details.rb
157
161
  - lib/braintree/transaction/paypal_details.rb
158
162
  - lib/braintree/transaction/paypal_here_details.rb
159
163
  - lib/braintree/transaction/samsung_pay_card_details.rb
@@ -166,8 +170,6 @@ files:
166
170
  - lib/braintree/transaction_line_item.rb
167
171
  - lib/braintree/transaction_line_item_gateway.rb
168
172
  - lib/braintree/transaction_search.rb
169
- - lib/braintree/transparent_redirect.rb
170
- - lib/braintree/transparent_redirect_gateway.rb
171
173
  - lib/braintree/unknown_payment_method.rb
172
174
  - lib/braintree/us_bank_account.rb
173
175
  - lib/braintree/us_bank_account_gateway.rb
@@ -188,14 +190,12 @@ files:
188
190
  - lib/braintree/xml/generator.rb
189
191
  - lib/braintree/xml/libxml.rb
190
192
  - lib/braintree/xml/parser.rb
191
- - lib/braintree/xml/rexml.rb
192
193
  - lib/ssl/api_braintreegateway_com.ca.crt
193
194
  - lib/ssl/securetrust_ca.crt
194
195
  - spec/fixtures/files/bt_logo.png
195
196
  - spec/fixtures/files/gif_extension_bt_logo.gif
196
197
  - spec/fixtures/files/malformed_pdf.pdf
197
198
  - spec/fixtures/files/too_long.pdf
198
- - spec/hacks/tcp_socket.rb
199
199
  - spec/integration/braintree/add_on_spec.rb
200
200
  - spec/integration/braintree/address_spec.rb
201
201
  - spec/integration/braintree/advanced_search_spec.rb
@@ -203,7 +203,6 @@ files:
203
203
  - spec/integration/braintree/braintree_gateway_spec.rb
204
204
  - spec/integration/braintree/client_api/client_token_spec.rb
205
205
  - spec/integration/braintree/client_api/spec_helper.rb
206
- - spec/integration/braintree/coinbase_spec.rb
207
206
  - spec/integration/braintree/credit_card_spec.rb
208
207
  - spec/integration/braintree/credit_card_verification_search_spec.rb
209
208
  - spec/integration/braintree/credit_card_verification_spec.rb
@@ -217,7 +216,6 @@ files:
217
216
  - spec/integration/braintree/error_codes_spec.rb
218
217
  - spec/integration/braintree/graphql_client_spec.rb
219
218
  - spec/integration/braintree/http_spec.rb
220
- - spec/integration/braintree/masterpass_card_spec.rb
221
219
  - spec/integration/braintree/merchant_account_spec.rb
222
220
  - spec/integration/braintree/merchant_spec.rb
223
221
  - spec/integration/braintree/oauth_spec.rb
@@ -235,7 +233,6 @@ files:
235
233
  - spec/integration/braintree/transaction_search_spec.rb
236
234
  - spec/integration/braintree/transaction_spec.rb
237
235
  - spec/integration/braintree/transaction_us_bank_account_spec.rb
238
- - spec/integration/braintree/transparent_redirect_spec.rb
239
236
  - spec/integration/braintree/us_bank_account_spec.rb
240
237
  - spec/integration/braintree/us_bank_account_verification_search_spec.rb
241
238
  - spec/integration/braintree/us_bank_account_verification_spec.rb
@@ -282,9 +279,9 @@ files:
282
279
  - spec/unit/braintree/transaction/credit_card_details_spec.rb
283
280
  - spec/unit/braintree/transaction/customer_details_spec.rb
284
281
  - spec/unit/braintree/transaction/deposit_details_spec.rb
282
+ - spec/unit/braintree/transaction/paypal_details_spec.rb
285
283
  - spec/unit/braintree/transaction_search_spec.rb
286
284
  - spec/unit/braintree/transaction_spec.rb
287
- - spec/unit/braintree/transparent_redirect_spec.rb
288
285
  - spec/unit/braintree/unknown_payment_method_spec.rb
289
286
  - spec/unit/braintree/us_bank_account_spec.rb
290
287
  - spec/unit/braintree/us_bank_account_verification_search_spec.rb
@@ -295,7 +292,6 @@ files:
295
292
  - spec/unit/braintree/webhook_notification_spec.rb
296
293
  - spec/unit/braintree/xml/libxml_spec.rb
297
294
  - spec/unit/braintree/xml/parser_spec.rb
298
- - spec/unit/braintree/xml/rexml_spec.rb
299
295
  - spec/unit/braintree/xml_spec.rb
300
296
  - spec/unit/braintree_spec.rb
301
297
  - spec/unit/spec_helper.rb
@@ -306,6 +302,7 @@ metadata:
306
302
  bug_tracker_uri: https://github.com/braintree/braintree_ruby/issues
307
303
  changelog_uri: https://github.com/braintree/braintree_ruby/blob/master/CHANGELOG.md
308
304
  source_code_uri: https://github.com/braintree/braintree_ruby
305
+ documentation_uri: https://developers.braintreepayments.com/
309
306
  post_install_message:
310
307
  rdoc_options: []
311
308
  require_paths:
@@ -314,16 +311,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
314
311
  requirements:
315
312
  - - ">="
316
313
  - !ruby/object:Gem::Version
317
- version: '0'
314
+ version: 2.5.0
318
315
  required_rubygems_version: !ruby/object:Gem::Requirement
319
316
  requirements:
320
317
  - - ">="
321
318
  - !ruby/object:Gem::Version
322
319
  version: '0'
323
320
  requirements: []
324
- rubyforge_project:
325
- rubygems_version: 2.7.6.2
321
+ rubygems_version: 3.0.8
326
322
  signing_key:
327
323
  specification_version: 4
328
- summary: Braintree Gateway Ruby Client Library
324
+ summary: Braintree Ruby Server SDK
329
325
  test_files: []
@@ -1,38 +0,0 @@
1
- module Braintree
2
- class AmexExpressCheckoutCard
3
- include BaseModule # :nodoc:
4
-
5
- attr_reader :bin
6
- attr_reader :card_member_expiry_date
7
- attr_reader :card_member_number
8
- attr_reader :card_type
9
- attr_reader :created_at
10
- attr_reader :customer_id
11
- attr_reader :default
12
- attr_reader :expiration_month
13
- attr_reader :expiration_year
14
- attr_reader :image_url
15
- attr_reader :source_description
16
- attr_reader :subscriptions
17
- attr_reader :token
18
- attr_reader :updated_at
19
-
20
- def initialize(gateway, attributes) # :nodoc:
21
- @gateway = gateway
22
- set_instance_variables_from_hash(attributes)
23
- @subscriptions = (@subscriptions || []).map { |subscription_hash| Subscription._new(@gateway, subscription_hash) }
24
- end
25
-
26
- def default?
27
- @default
28
- end
29
-
30
- class << self
31
- protected :new
32
- end
33
-
34
- def self._new(*args) # :nodoc:
35
- self.new *args
36
- end
37
- end
38
- end
@@ -1,34 +0,0 @@
1
- module Braintree
2
- class CoinbaseAccount
3
- include BaseModule # :nodoc:
4
-
5
- attr_reader :created_at
6
- attr_reader :customer_id
7
- attr_reader :default
8
- attr_reader :subscriptions
9
- attr_reader :token
10
- attr_reader :updated_at
11
- attr_reader :user_email
12
- attr_reader :user_id
13
- attr_reader :user_name
14
-
15
- def initialize(gateway, attributes) # :nodoc:
16
- @gateway = gateway
17
- set_instance_variables_from_hash(attributes)
18
- @subscriptions = (@subscriptions || []).map { |subscription_hash| Subscription._new(@gateway, subscription_hash) }
19
- end
20
-
21
- class << self
22
- protected :new
23
- end
24
-
25
- def self._new(*args) # :nodoc:
26
- self.new *args
27
- end
28
-
29
- # Returns true if this coinbase account is the customer's default payment method.
30
- def default?
31
- @default
32
- end
33
- end
34
- end
@@ -1,36 +0,0 @@
1
- module Braintree
2
- class EuropeBankAccount
3
- include BaseModule
4
-
5
- module MandateType
6
- Business = 'business'
7
- Consumer = 'consumer'
8
- end
9
-
10
- attr_reader :customer_id
11
- attr_reader :image_url
12
- attr_reader :token
13
-
14
- def initialize(gateway, attributes) # :nodoc:
15
- @gateway = gateway
16
- set_instance_variables_from_hash(attributes)
17
- end
18
-
19
- class << self
20
- protected :new
21
- end
22
-
23
- def self._new(*args)
24
- self.new(*args)
25
- end
26
-
27
- def self.find(token)
28
- Configuration.gateway.europe_bank_account.find(token)
29
- end
30
-
31
- def default?
32
- @default
33
- end
34
-
35
- end
36
- end
@@ -1,17 +0,0 @@
1
- module Braintree
2
- class EuropeBankAccountGateway
3
- def initialize(gateway)
4
- @gateway = gateway
5
- @config = gateway.config
6
- @config.assert_has_access_token_or_keys
7
- end
8
-
9
- def find(token)
10
- raise ArgumentError if token.nil? || token.to_s.strip == ""
11
- response = @config.http.get("#{@config.base_merchant_path}/payment_methods/europe_bank_account/#{token}")
12
- EuropeBankAccount._new(@gateway, response[:europe_bank_account])
13
- rescue NotFoundError
14
- raise NotFoundError, "payment method with token #{token.inspect} not found"
15
- end
16
- end
17
- end