apruve 2.0.2 → 2.0.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/Gemfile.lock +11 -9
 - data/README.md +1 -1
 - data/lib/apruve/resources/order.rb +9 -1
 - data/lib/apruve/version.rb +1 -1
 - data/spec/apruve/resources/order_spec.rb +19 -2
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b6cdf4762a15960790e781185e8ea4e32e729036
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 7f9bbadd71012d3b42022bcfc8f0f1ec6070fc3e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 82937e89725c75a11670c6abb74812ccb8265628f7f01d45c8280caedb6d0b2a3607d0d538e24dd08c730a69fdf9ad38ce442bea9e2118434c359fe0551b6277
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: b4fe0faf6f505ea3e6418e27fb56491e40ec9b199bab2494cfa6f5551ed2f761980c08384f88d1270321216a9387c2e6910b136f4b64068402d934d41217d5ac
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                apruve (2.0. 
     | 
| 
      
 4 
     | 
    
         
            +
                apruve (2.0.3)
         
     | 
| 
       5 
5 
     | 
    
         
             
                  addressable (~> 2.3)
         
     | 
| 
       6 
6 
     | 
    
         
             
                  faraday (>= 0.8.6, <= 0.9.0)
         
     | 
| 
       7 
7 
     | 
    
         
             
                  faraday_middleware (~> 0.9)
         
     | 
| 
         @@ -43,8 +43,9 @@ GEM 
     | 
|
| 
       43 
43 
     | 
    
         
             
                method_source (0.8.2)
         
     | 
| 
       44 
44 
     | 
    
         
             
                multipart-post (2.0.0)
         
     | 
| 
       45 
45 
     | 
    
         
             
                net-http-persistent (2.9.4)
         
     | 
| 
       46 
     | 
    
         
            -
                 
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 46 
     | 
    
         
            +
                parallel (1.12.0)
         
     | 
| 
      
 47 
     | 
    
         
            +
                parser (2.4.0.2)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  ast (~> 2.3)
         
     | 
| 
       48 
49 
     | 
    
         
             
                powerpack (0.1.1)
         
     | 
| 
       49 
50 
     | 
    
         
             
                pry (0.10.0)
         
     | 
| 
       50 
51 
     | 
    
         
             
                  coderay (~> 1.1.0)
         
     | 
| 
         @@ -55,7 +56,7 @@ GEM 
     | 
|
| 
       55 
56 
     | 
    
         
             
                  method_source (~> 0.8.1)
         
     | 
| 
       56 
57 
     | 
    
         
             
                  slop (~> 3.4)
         
     | 
| 
       57 
58 
     | 
    
         
             
                  win32console (~> 1.3)
         
     | 
| 
       58 
     | 
    
         
            -
                rainbow ( 
     | 
| 
      
 59 
     | 
    
         
            +
                rainbow (3.0.0)
         
     | 
| 
       59 
60 
     | 
    
         
             
                rake (10.3.2)
         
     | 
| 
       60 
61 
     | 
    
         
             
                rb-fsevent (0.9.4)
         
     | 
| 
       61 
62 
     | 
    
         
             
                rb-inotify (0.9.5)
         
     | 
| 
         @@ -73,13 +74,14 @@ GEM 
     | 
|
| 
       73 
74 
     | 
    
         
             
                  rspec-core (>= 2.99.0.beta1)
         
     | 
| 
       74 
75 
     | 
    
         
             
                  rspec-expectations (>= 2.99.0.beta1)
         
     | 
| 
       75 
76 
     | 
    
         
             
                rspec-mocks (2.99.1)
         
     | 
| 
       76 
     | 
    
         
            -
                rubocop (0. 
     | 
| 
       77 
     | 
    
         
            -
                   
     | 
| 
      
 77 
     | 
    
         
            +
                rubocop (0.52.0)
         
     | 
| 
      
 78 
     | 
    
         
            +
                  parallel (~> 1.10)
         
     | 
| 
      
 79 
     | 
    
         
            +
                  parser (>= 2.4.0.2, < 3.0)
         
     | 
| 
       78 
80 
     | 
    
         
             
                  powerpack (~> 0.1)
         
     | 
| 
       79 
     | 
    
         
            -
                  rainbow (>=  
     | 
| 
      
 81 
     | 
    
         
            +
                  rainbow (>= 2.2.2, < 4.0)
         
     | 
| 
       80 
82 
     | 
    
         
             
                  ruby-progressbar (~> 1.7)
         
     | 
| 
       81 
83 
     | 
    
         
             
                  unicode-display_width (~> 1.0, >= 1.0.1)
         
     | 
| 
       82 
     | 
    
         
            -
                ruby-progressbar (1. 
     | 
| 
      
 84 
     | 
    
         
            +
                ruby-progressbar (1.9.0)
         
     | 
| 
       83 
85 
     | 
    
         
             
                safe_yaml (1.0.3)
         
     | 
| 
       84 
86 
     | 
    
         
             
                simplecov (0.11.2)
         
     | 
| 
       85 
87 
     | 
    
         
             
                  docile (~> 1.1.0)
         
     | 
| 
         @@ -89,7 +91,7 @@ GEM 
     | 
|
| 
       89 
91 
     | 
    
         
             
                slop (3.5.0)
         
     | 
| 
       90 
92 
     | 
    
         
             
                terminal-table (1.4.5)
         
     | 
| 
       91 
93 
     | 
    
         
             
                thor (0.19.1)
         
     | 
| 
       92 
     | 
    
         
            -
                unicode-display_width (1.0 
     | 
| 
      
 94 
     | 
    
         
            +
                unicode-display_width (1.3.0)
         
     | 
| 
       93 
95 
     | 
    
         
             
                vcr (2.9.2)
         
     | 
| 
       94 
96 
     | 
    
         
             
                webmock (1.18.0)
         
     | 
| 
       95 
97 
     | 
    
         
             
                  addressable (>= 2.3.6)
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -26,7 +26,7 @@ integrate Apruve. 
     | 
|
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
            ### Create an account on Apruve.
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            Have a look though our [Getting Started documentation](https://docs.apruve.com/ 
     | 
| 
      
 29 
     | 
    
         
            +
            Have a look though our [Getting Started documentation](https://docs.apruve.com/docs/getting-started) and be sure to use
         
     | 
| 
       30 
30 
     | 
    
         
             
            test.apruve.com for test accounts.
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
32 
     | 
    
         
             
            ### Initialize the library
         
     | 
| 
         @@ -2,7 +2,8 @@ module Apruve 
     | 
|
| 
       2 
2 
     | 
    
         
             
              class Order < Apruve::ApruveObject
         
     | 
| 
       3 
3 
     | 
    
         
             
                attr_accessor :id, :merchant_id, :shopper_id, :merchant_order_id, :status, :amount_cents, :currency, :tax_cents,
         
     | 
| 
       4 
4 
     | 
    
         
             
                              :shipping_cents, :expire_at, :order_items, :accepts_payments_via, :accepts_payment_terms, :payment_term,
         
     | 
| 
       5 
     | 
    
         
            -
                              :created_at, :updated_at, :final_state_at, :default_payment_method, :links, :finalize_on_create, :invoice_on_create
         
     | 
| 
      
 5 
     | 
    
         
            +
                              :created_at, :updated_at, :final_state_at, :default_payment_method, :links, :finalize_on_create, :invoice_on_create,
         
     | 
| 
      
 6 
     | 
    
         
            +
                              :secure_hash
         
     | 
| 
       6 
7 
     | 
    
         | 
| 
       7 
8 
     | 
    
         
             
                def self.find(id)
         
     | 
| 
       8 
9 
     | 
    
         
             
                  response = Apruve.get("orders/#{id}")
         
     | 
| 
         @@ -20,6 +21,13 @@ module Apruve 
     | 
|
| 
       20 
21 
     | 
    
         
             
                  response.body.map { |order| Order.new(order) }
         
     | 
| 
       21 
22 
     | 
    
         
             
                end
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
      
 24 
     | 
    
         
            +
                def self.find_by_hash(hash)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  response = Apruve.get("orders?secure_hash=#{hash}")
         
     | 
| 
      
 26 
     | 
    
         
            +
                  logger.debug response.body
         
     | 
| 
      
 27 
     | 
    
         
            +
                  orders = response.body.map { |order| Order.new(order) }
         
     | 
| 
      
 28 
     | 
    
         
            +
                  orders.max_by { |order| order[:created_at] }
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       23 
31 
     | 
    
         
             
                def self.finalize!(id)
         
     | 
| 
       24 
32 
     | 
    
         
             
                  response = Apruve.post("orders/#{id}/finalize")
         
     | 
| 
       25 
33 
     | 
    
         
             
                  logger.debug response.body
         
     | 
    
        data/lib/apruve/version.rb
    CHANGED
    
    
| 
         @@ -41,7 +41,8 @@ describe Apruve::Order do 
     | 
|
| 
       41 
41 
     | 
    
         
             
                    order_items: order_items,
         
     | 
| 
       42 
42 
     | 
    
         
             
                    finalize_on_create: false,
         
     | 
| 
       43 
43 
     | 
    
         
             
                    invoice_on_create: false,
         
     | 
| 
       44 
     | 
    
         
            -
                    payment_term: payment_term
         
     | 
| 
      
 44 
     | 
    
         
            +
                    payment_term: payment_term,
         
     | 
| 
      
 45 
     | 
    
         
            +
                    secure_hash: 'fffd123'
         
     | 
| 
       45 
46 
     | 
    
         
             
                )
         
     | 
| 
       46 
47 
     | 
    
         
             
              end
         
     | 
| 
       47 
48 
     | 
    
         
             
              subject { payment_request }
         
     | 
| 
         @@ -58,13 +59,14 @@ describe Apruve::Order do 
     | 
|
| 
       58 
59 
     | 
    
         
             
              it { should respond_to(:accepts_payment_terms) }
         
     | 
| 
       59 
60 
     | 
    
         
             
              it { should respond_to(:finalize_on_create) }
         
     | 
| 
       60 
61 
     | 
    
         
             
              it { should respond_to(:invoice_on_create) }
         
     | 
| 
      
 62 
     | 
    
         
            +
              it { should respond_to(:secure_hash) }
         
     | 
| 
       61 
63 
     | 
    
         | 
| 
       62 
64 
     | 
    
         
             
              describe '#to_json' do
         
     | 
| 
       63 
65 
     | 
    
         
             
                let(:expected) do
         
     | 
| 
       64 
66 
     | 
    
         
             
                  "{\"merchant_id\":\"9a9c3389fdc281b5c6c8d542a7e91ff6\",\"shopper_id\":\"9bc388fd08ce2835cfeb2e630316f7f1\",\"merchant_order_id\":\"ABC\","\
         
     | 
| 
       65 
67 
     | 
    
         
             
                  "\"amount_cents\":12340,\"tax_cents\":0,\"shipping_cents\":0,\"order_items\":[{\"title\":\"line 1\",\"price_ea_cents\":\"123\",\"quantity\":10,"\
         
     | 
| 
       66 
68 
     | 
    
         
             
                  "\"description\":\"A line item\",\"variant_info\":\"small\",\"sku\":\"LINE1SKU\",\"vendor\":\"acme, inc.\",\"view_product_url\":\"http://www.apruve.com/doc\""\
         
     | 
| 
       67 
     | 
    
         
            -
                  "},{\"title\":\"line 2\",\"price_ea_cents\":\"40\"}],\"finalize_on_create\":false,\"invoice_on_create\":false,\"payment_term\":{\"corporate_account_id\":\"612e5383e4acc6c2213f3cae6208e868\"}}"
         
     | 
| 
      
 69 
     | 
    
         
            +
                  "},{\"title\":\"line 2\",\"price_ea_cents\":\"40\"}],\"finalize_on_create\":false,\"invoice_on_create\":false,\"payment_term\":{\"corporate_account_id\":\"612e5383e4acc6c2213f3cae6208e868\"},\"secure_hash\":\"fffd123\"}"
         
     | 
| 
       68 
70 
     | 
    
         
             
                end
         
     | 
| 
       69 
71 
     | 
    
         
             
                its(:to_json) { should eq expected }
         
     | 
| 
       70 
72 
     | 
    
         
             
              end
         
     | 
| 
         @@ -168,6 +170,21 @@ describe Apruve::Order do 
     | 
|
| 
       168 
170 
     | 
    
         
             
                end
         
     | 
| 
       169 
171 
     | 
    
         
             
              end
         
     | 
| 
       170 
172 
     | 
    
         | 
| 
      
 173 
     | 
    
         
            +
              describe '#find_by_hash' do
         
     | 
| 
      
 174 
     | 
    
         
            +
                context 'with invalid hash query param' do
         
     | 
| 
      
 175 
     | 
    
         
            +
                  let(:invalid_hash) { 'fffd123' }
         
     | 
| 
      
 176 
     | 
    
         
            +
                  let!(:stubs) do
         
     | 
| 
      
 177 
     | 
    
         
            +
                    faraday_stubs do |stub|
         
     | 
| 
      
 178 
     | 
    
         
            +
                      stub.get("api/v4/orders?secure_hash=#{invalid_hash}") { [200, {}, '[]']}
         
     | 
| 
      
 179 
     | 
    
         
            +
                    end
         
     | 
| 
      
 180 
     | 
    
         
            +
                  end
         
     | 
| 
      
 181 
     | 
    
         
            +
                  it 'should return an empty array' do
         
     | 
| 
      
 182 
     | 
    
         
            +
                    Apruve::Order.find_by_hash(invalid_hash)
         
     | 
| 
      
 183 
     | 
    
         
            +
                    stubs.verify_stubbed_calls
         
     | 
| 
      
 184 
     | 
    
         
            +
                  end
         
     | 
| 
      
 185 
     | 
    
         
            +
                end
         
     | 
| 
      
 186 
     | 
    
         
            +
              end
         
     | 
| 
      
 187 
     | 
    
         
            +
             
     | 
| 
       171 
188 
     | 
    
         
             
              describe '#save' do
         
     | 
| 
       172 
189 
     | 
    
         
             
                let (:id) { '89ea2488fe0a5c7bb38aa7f9b088874a' }
         
     | 
| 
       173 
190 
     | 
    
         
             
                let (:status) { 'pending' }
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: apruve
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Apruve, Inc.
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2017-12- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2017-12-14 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: bundler
         
     |