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 +5 -0
- data/README.md +7 -0
- data/lib/spreedly/environment.rb +4 -0
- data/lib/spreedly/gateway_class.rb +6 -1
- data/lib/spreedly/version.rb +1 -1
- data/test/unit/gateway_options_test.rb +24 -1
- data/test/unit/response_stubs/gateway_options_stubs.rb +6 -4
- metadata +4 -4
    
        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 |  | 
    
        data/lib/spreedly/environment.rb
    CHANGED
    
    | @@ -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)
         | 
    
        data/lib/spreedly/version.rb
    CHANGED
    
    
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            require 'test_helper'
         | 
| 2 2 | 
             
            require 'unit/response_stubs/gateway_options_stubs'
         | 
| 3 3 |  | 
| 4 | 
            -
            class  | 
| 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"> | 
| 76 | 
            -
                        <supports_3dsecure_authorize type="boolean"> | 
| 77 | 
            -
                        <supports_store type="boolean"> | 
| 78 | 
            -
                        <supports_remove type="boolean"> | 
| 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. | 
| 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:  | 
| 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:  | 
| 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:  | 
| 245 | 
            +
                  hash: 3183849061107919286
         | 
| 246 246 | 
             
                  version: '0'
         | 
| 247 247 | 
             
              none: false
         | 
| 248 248 | 
             
            requirements: []
         |