spreedly 2.0.6 → 2.0.7

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/HISTORY.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.7
4
+ * Add support for company_name to gateway options [duff]
5
+ * Implemented gateway characteristics [ilyutov]
6
+ * Allow access to gateway options w/o credentials [duff]
7
+
3
8
  ## 2.0.6
4
9
  * Add auth_mode support to gateway options call [sosedoff]
5
10
  * Pass through verification_value when creating a card directly [duff]
data/README.md CHANGED
@@ -140,6 +140,13 @@ transaction = env.retain_payment_method(payment_method_token)
140
140
  transaction = env.redact_payment_method(payment_method_token)
141
141
  ```
142
142
 
143
+ #### Redact a gateway
144
+
145
+ ``` ruby
146
+ transaction = env.redact_gateway(gateway_token)
147
+ ```
148
+
149
+
143
150
  #### Currencies
144
151
  When you instantiate an environment, you can specify a default currency code like so:
145
152
 
@@ -96,6 +96,10 @@ module Spreedly
96
96
  GatewayClass.new_list_from(xml_doc)
97
97
  end
98
98
 
99
+ def self.gateway_options
100
+ self.new("", "").gateway_options
101
+ end
102
+
99
103
  def add_gateway(gateway_type, credentials = {})
100
104
  body = add_gateway_body(gateway_type, credentials)
101
105
  xml_doc = ssl_post(add_gateway_url, body, headers)
@@ -3,7 +3,12 @@ module Spreedly
3
3
  class GatewayClass
4
4
  include Fields
5
5
 
6
- field :gateway_type, :name, :supported_countries, :homepage
6
+ field :gateway_type, :name, :supported_countries, :homepage, :company_name
7
+ field :supports_purchase, :supports_authorize, :supports_capture, :supports_credit,
8
+ :supports_void, :supports_reference_purchase, :supports_purchase_via_preauthorization,
9
+ :supports_offsite_purchase, :supports_offsite_authorize, :supports_3dsecure_purchase,
10
+ :supports_3dsecure_authorize, :supports_store, :supports_remove, type: :boolean
11
+
7
12
  attr_reader :supported_countries, :payment_methods, :auth_modes
8
13
 
9
14
  def initialize(xml_doc)
@@ -1,3 +1,3 @@
1
1
  module Spreedly
2
- VERSION = "2.0.6"
2
+ VERSION = "2.0.7"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'unit/response_stubs/gateway_options_stubs'
3
3
 
4
- class ListGatewaysTest < Test::Unit::TestCase
4
+ class GatewayOptionsTest < Test::Unit::TestCase
5
5
 
6
6
  include GatewayOptionsStubs
7
7
 
@@ -49,4 +49,27 @@ class ListGatewaysTest < Test::Unit::TestCase
49
49
  assert_equal "Login", list.first.label
50
50
  assert_equal true, list.first.safe
51
51
  end
52
+
53
+ def test_characteristics
54
+ @environment.stubs(:raw_ssl_request).returns(successful_gateway_options_response)
55
+ gateway_class = @environment.gateway_options.first
56
+
57
+ [ :supports_purchase,
58
+ :supports_authorize,
59
+ :supports_capture,
60
+ :supports_credit,
61
+ :supports_void,
62
+ :supports_reference_purchase,
63
+ :supports_purchase_via_preauthorization,
64
+ :supports_offsite_purchase,
65
+ :supports_offsite_authorize,
66
+ :supports_3dsecure_purchase,
67
+ :supports_3dsecure_authorize,
68
+ :supports_store
69
+ ].each do |c|
70
+ assert gateway_class.send("#{c}?")
71
+ end
72
+
73
+ assert !gateway_class.send(:supports_remove?)
74
+ end
52
75
  end
@@ -72,10 +72,10 @@ module GatewayOptionsStubs
72
72
  <supports_purchase_via_preauthorization type="boolean">true</supports_purchase_via_preauthorization>
73
73
  <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>
74
74
  <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>
75
- <supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
76
- <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
77
- <supports_store type="boolean">false</supports_store>
78
- <supports_remove type="boolean">true</supports_remove>
75
+ <supports_3dsecure_purchase type="boolean">true</supports_3dsecure_purchase>
76
+ <supports_3dsecure_authorize type="boolean">true</supports_3dsecure_authorize>
77
+ <supports_store type="boolean">true</supports_store>
78
+ <supports_remove type="boolean">false</supports_remove>
79
79
  </characteristics>
80
80
  <payment_methods>
81
81
  <payment_method>credit_card</payment_method>
@@ -86,6 +86,7 @@ module GatewayOptionsStubs
86
86
  </gateway_specific_fields>
87
87
  <supported_countries>US, GB, CA</supported_countries>
88
88
  <homepage>http://paypal.com/</homepage>
89
+ <company_name>Paypal Inc.</company_name>
89
90
  </gateway>
90
91
  <gateway>
91
92
  <gateway_type>worldpay</gateway_type>
@@ -129,6 +130,7 @@ module GatewayOptionsStubs
129
130
  <gateway_specific_fields/>
130
131
  <supported_countries>HK, US, GB, AU, AD, BE, CH, CY, CZ, DE, DK, ES, FI, FR, GI, GR, HU, IE, IL, IT, LI, LU, MC, MT, NL, NO, NZ, PL, PT, SE, SG, SI, SM, TR, UM, VA</supported_countries>
131
132
  <homepage>http://worldpay.com</homepage>
133
+ <company_name>Worldpay</company_name>
132
134
  </gateway>
133
135
  </gateways>
134
136
  XML
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: spreedly
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 2.0.6
5
+ version: 2.0.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - Spreedly
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-28 00:00:00.000000000 Z
12
+ date: 2014-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  prerelease: false
@@ -233,7 +233,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
233
  - !ruby/object:Gem::Version
234
234
  segments:
235
235
  - 0
236
- hash: -2834738228651493214
236
+ hash: 3183849061107919286
237
237
  version: '0'
238
238
  none: false
239
239
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -242,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
242
  - !ruby/object:Gem::Version
243
243
  segments:
244
244
  - 0
245
- hash: -2834738228651493214
245
+ hash: 3183849061107919286
246
246
  version: '0'
247
247
  none: false
248
248
  requirements: []