safecharge 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/safecharge/request.rb +20 -4
- data/lib/safecharge/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 3f4ff9528287b8bad1b1eaf5145beb288868f4f1
         | 
| 4 | 
            +
              data.tar.gz: 93ecc7d0e7a7a5df3b734d4fc2a11b4f48e0b150
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8798d81ecc52e01558831966e2cfc1e376fa76634e4d5982355d1269e710fd9e09f6a83eb5523c14a4c2497d82234e4481005281287d4ce925558b9e093caa66
         | 
| 7 | 
            +
              data.tar.gz: 1576c2aa11831a82c037d17c5933d079b621ea54aa5bb2b4a3189b139e7e75662e7fd92b9fd1d362db21711a775648ae01f8cbb11b2439b6b7ffeef8308f74ee
         | 
    
        data/README.md
    CHANGED
    
    | @@ -113,7 +113,15 @@ and insert that items array into an array of params like so | |
| 113 113 |  | 
| 114 114 | 
             
            Note you must supply the following environment variables for this API to work.
         | 
| 115 115 |  | 
| 116 | 
            -
                 | 
| 116 | 
            +
                SAFECHARGE_SERVER_TEST=_provided by safecharge_
         | 
| 117 | 
            +
                SAFECHARGE_SERVER_LIVE=_provided by safecharge_
         | 
| 118 | 
            +
                SAFECHARGE_SECRET_KEY=_provided by safecharge_
         | 
| 119 | 
            +
                SAFECHARGE_MERCHANT_ID=_provided by safecharge_
         | 
| 120 | 
            +
                SAFECHARGE_MERCHANT_SITE_ID=_provided by safecharge_
         | 
| 121 | 
            +
                SAFECHARGE_MERCHANT_3D_SITE_ID=_provided by safecharge_
         | 
| 122 | 
            +
                SAFECHARGE_SG_CLIENT_PASSWORD=_provided by safecharge_
         | 
| 123 | 
            +
                SAFECHARGE_SG_3D_CLIENT_PASSWORD=_provided by safecharge_
         | 
| 124 | 
            +
                SAFECHARGE_CPANEL_PASSWORD=_provided by safecharge_
         | 
| 117 125 |  | 
| 118 126 | 
             
            These will have been provided to you by Safecharge.
         | 
| 119 127 |  | 
    
        data/lib/safecharge/request.rb
    CHANGED
    
    | @@ -74,7 +74,7 @@ module Safecharge | |
| 74 74 | 
             
                  end
         | 
| 75 75 | 
             
                  self.url = url
         | 
| 76 76 | 
             
                  self.full_url = url
         | 
| 77 | 
            -
                  core_params, items, extracted_items = self.extract_items(params)
         | 
| 77 | 
            +
                  core_params, items, extracted_items = self.extract_items(convert_symbols_to_strings(params))
         | 
| 78 78 | 
             
                  raise ValidationException, "Missing array of Items." if items == nil || items.empty?
         | 
| 79 79 | 
             
                  self.items = items
         | 
| 80 80 | 
             
                  self.params = DEFAULT_PARAMS.merge(core_params)
         | 
| @@ -82,8 +82,8 @@ module Safecharge | |
| 82 82 | 
             
                  items.each {|i| self.validate_parameters(i, self.class::ALLOWED_ITEM_FIELDS)}
         | 
| 83 83 | 
             
                  self.params.merge!(extracted_items)
         | 
| 84 84 | 
             
                  self.params.merge!({'numberofitems' => items.size,
         | 
| 85 | 
            -
                                      'time_stamp' => Time.now.utc.strftime("%Y-%m-%d.%H:%M:%S") | 
| 86 | 
            -
             | 
| 85 | 
            +
                                      'time_stamp' => Time.now.utc.strftime("%Y-%m-%d.%H:%M:%S"),
         | 
| 86 | 
            +
                                      'checksum' => calculate_checksum})
         | 
| 87 87 | 
             
                  self.construct_url
         | 
| 88 88 | 
             
                end
         | 
| 89 89 |  | 
| @@ -91,7 +91,7 @@ module Safecharge | |
| 91 91 |  | 
| 92 92 | 
             
                def extract_items(params)
         | 
| 93 93 | 
             
                  items = params.delete('items')
         | 
| 94 | 
            -
                  return params, nil, nil if items | 
| 94 | 
            +
                  return params, nil, nil if items.nil?
         | 
| 95 95 | 
             
                  keyed_items = {}
         | 
| 96 96 | 
             
                  items.each_with_index do |item, i|
         | 
| 97 97 | 
             
                    item.keys.each do |key|
         | 
| @@ -174,6 +174,22 @@ module Safecharge | |
| 174 174 | 
             
                  return uri
         | 
| 175 175 | 
             
                end
         | 
| 176 176 |  | 
| 177 | 
            +
                def convert_symbols_to_strings(a_hash = {})
         | 
| 178 | 
            +
                  return {} if a_hash.empty?
         | 
| 179 | 
            +
                  result = {}
         | 
| 180 | 
            +
                  a_hash.each do |key, value|
         | 
| 181 | 
            +
                    val = value
         | 
| 182 | 
            +
                    if value.is_a?(Hash)
         | 
| 183 | 
            +
                      val = convert_symbols_to_strings(value)
         | 
| 184 | 
            +
                    elsif value.is_a?(Array)
         | 
| 185 | 
            +
                      val = value.map { |va| va.is_a?(Hash) ? convert_symbols_to_strings(va) : va }
         | 
| 186 | 
            +
                    end
         | 
| 187 | 
            +
                    result[key] = val if key.is_a?(String)
         | 
| 188 | 
            +
                    result[key.to_s] = val if key.is_a?(Symbol)
         | 
| 189 | 
            +
                  end
         | 
| 190 | 
            +
                  return result
         | 
| 191 | 
            +
                end
         | 
| 192 | 
            +
             | 
| 177 193 | 
             
            #     def calculate_item_total
         | 
| 178 194 | 
             
            #      # item_amount_N - item_discount_N + item_shipping_N + item_handling_N) * item_quantity_N
         | 
| 179 195 | 
             
            #      return 0.0 if self.items == nil || self.items.empty?
         | 
    
        data/lib/safecharge/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: safecharge
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Dave Sag
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2013-11- | 
| 11 | 
            +
            date: 2013-11-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 104 104 | 
             
                  version: '0'
         | 
| 105 105 | 
             
            requirements: []
         | 
| 106 106 | 
             
            rubyforge_project: 
         | 
| 107 | 
            -
            rubygems_version: 2.1. | 
| 107 | 
            +
            rubygems_version: 2.1.11
         | 
| 108 108 | 
             
            signing_key: 
         | 
| 109 109 | 
             
            specification_version: 4
         | 
| 110 110 | 
             
            summary: A Ruby Wrapper for the SafeCharge API
         |