omise 0.9.1 → 0.10.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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +9 -6
- data/.gitignore +1 -0
- data/CHANGELOG.md +19 -1
- data/README.md +25 -43
- data/lib/omise/account.rb +12 -1
- data/lib/omise/all.rb +1 -0
- data/lib/omise/charge.rb +8 -0
- data/lib/omise/dispute.rb +4 -0
- data/lib/omise/link.rb +4 -0
- data/lib/omise/receipt.rb +20 -0
- data/lib/omise/scheduler.rb +1 -1
- data/lib/omise/version.rb +1 -1
- data/test/fixtures/api.omise.co/account-get.json +2 -0
- data/test/fixtures/api.omise.co/account-patch.json +8 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/events-get.json +28 -0
- data/test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/expire-post.json +51 -0
- data/test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/accept-patch.json +12 -0
- data/test/fixtures/api.omise.co/links/link_test_55pcclmznvrv9lc7r9s-delete.json +6 -0
- data/test/fixtures/api.omise.co/receipts-get.json +90 -0
- data/test/fixtures/api.omise.co/receipts/rcpt_5ls0b8zb53qmw3mlvfz-get.json +39 -0
- data/test/omise/test_account.rb +7 -1
- data/test/omise/test_charge.rb +11 -0
- data/test/omise/test_dispute.rb +18 -0
- data/test/omise/test_link.rb +7 -0
- data/test/omise/test_receipt.rb +29 -0
- data/test/omise/test_scheduler.rb +13 -0
- metadata +23 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0ba27e7fa52e39678ea8eeea60526fd163e071cdf2fb45177476ba023fc7c64c
         | 
| 4 | 
            +
              data.tar.gz: 7e7f22f38b1a716034c27d9f8ded31b3b8a7e97e83056a07d8aef3909819d128
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 738cafc6e546810c4ae8b3de8e2ea788a39de04c5eb4048b9cc90aa72e53cfac1177190c453af097a2e17824e7cf22acca9d0eafb093e5bed12c27554fc0eb74
         | 
| 7 | 
            +
              data.tar.gz: 6ec041635455df84aa2063c462c41a5abb4ff23b56565214fb7e84e12702473a1ff4e1372e12feca376078d4a049cdb8bb4973e06494bc00ad7a18c677f55dcc
         | 
    
        data/.github/workflows/ruby.yml
    CHANGED
    
    | @@ -1,24 +1,27 @@ | |
| 1 1 | 
             
            name: Ruby
         | 
| 2 2 |  | 
| 3 | 
            -
            on:  | 
| 4 | 
            -
             | 
| 3 | 
            +
            on: 
         | 
| 4 | 
            +
              push:
         | 
| 5 | 
            +
                branches: [ 'master' ]
         | 
| 6 | 
            +
              pull_request:
         | 
| 7 | 
            +
                branches: [ 'master' ]
         | 
| 8 | 
            +
                
         | 
| 5 9 | 
             
            jobs:
         | 
| 6 10 | 
             
              build:
         | 
| 7 11 | 
             
                runs-on: ubuntu-latest
         | 
| 8 12 | 
             
                strategy:
         | 
| 9 13 | 
             
                  matrix:
         | 
| 10 | 
            -
                    ruby: [ '2. | 
| 14 | 
            +
                    ruby: [ '2.5', '2.6', '2.7', '3.0' ]
         | 
| 11 15 | 
             
                name: Ruby ${{ matrix.ruby }}
         | 
| 12 16 | 
             
                steps:
         | 
| 13 | 
            -
                - uses: actions/checkout@ | 
| 17 | 
            +
                - uses: actions/checkout@v2
         | 
| 14 18 | 
             
                - name: Setup ruby
         | 
| 15 19 | 
             
                  uses: actions/setup-ruby@v1
         | 
| 16 20 | 
             
                  with:
         | 
| 17 21 | 
             
                    ruby-version: ${{ matrix.ruby }}
         | 
| 18 | 
            -
                    architecture: 'x64'
         | 
| 19 22 |  | 
| 20 23 | 
             
                - name: Build and test with Rake
         | 
| 21 24 | 
             
                  run: |
         | 
| 22 25 | 
             
                    gem install bundler
         | 
| 23 26 | 
             
                    bundle install --jobs 4 --retry 3
         | 
| 24 | 
            -
                    bundle exec rake test
         | 
| 27 | 
            +
                    bundle exec rake test
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,6 +2,24 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            An [unreleased] version is not available on rubygems and is subject to changes and must not be considered final. Elements of unreleased list may be edited or removed at any time.
         | 
| 4 4 |  | 
| 5 | 
            +
            ## [0.10.0] 2021-02-16
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            - [Added] Add a new method to fetch all events belonging to a charge (https://github.com/omise/omise-ruby/pull/45)
         | 
| 8 | 
            +
            - [Added] Add Receipt API (https://github.com/omise/omise-ruby/pull/44)
         | 
| 9 | 
            +
            - [Added] Allow shortened form of ordinal numbers on Scheduler (https://github.com/omise/omise-ruby/pull/43)
         | 
| 10 | 
            +
            - [Added] Add update method for Account (https://github.com/omise/omise-ruby/pull/42)
         | 
| 11 | 
            +
            - [Added] Add accept method for Dispute (https://github.com/omise/omise-ruby/pull/41)
         | 
| 12 | 
            +
            - [Added] Add expire method for Charge (https://github.com/omise/omise-ruby/pull/40)
         | 
| 13 | 
            +
            - [Added] Add destroy method for Link (https://github.com/omise/omise-ruby/pull/39)
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            ## [0.9.1] 2019-11-15
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            - [Fixed] Tests
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            ## [0.9.0] 2019-11-15
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            - [Added] Integrations support
         | 
| 22 | 
            +
             | 
| 5 23 | 
             
            ## [0.8.0] 2019-11-04
         | 
| 6 24 |  | 
| 7 25 | 
             
            - [Added] Capability object
         | 
| @@ -73,7 +91,7 @@ An [unreleased] version is not available on rubygems and is subject to changes a | |
| 73 91 | 
             
            ## [0.1.0] 2015-01-19
         | 
| 74 92 |  | 
| 75 93 | 
             
            - [Added] Add support for the Refund API.
         | 
| 76 | 
            -
            - [Added] Add a test suite that can be run locally without the need for a | 
| 94 | 
            +
            - [Added] Add a test suite that can be run locally without the need for a
         | 
| 77 95 | 
             
                      network connection or to set Omise keys.
         | 
| 78 96 | 
             
            - [Added] Add a list method to retrieve a list of objects.
         | 
| 79 97 | 
             
            - [Changed] Move typecast and load_response methods into a Util module.
         | 
    
        data/README.md
    CHANGED
    
    | @@ -3,17 +3,16 @@ | |
| 3 3 | 
             
            [](https://codeclimate.com/github/omise/omise-ruby/maintainability)
         | 
| 4 4 | 
             
            <img alt="GitHub Actions status" src="https://github.com/omise/omise-ruby/workflows/Ruby/badge.svg">
         | 
| 5 5 | 
             
            [](https://rubygems.org/gems/omise)
         | 
| 6 | 
            -
            [](https://gitter.im/omise/omise-ruby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
         | 
| 7 6 |  | 
| 8 7 | 
             
            ## Installation
         | 
| 9 8 |  | 
| 10 | 
            -
             | 
| 9 | 
            +
            Add the following to your `Gemfile` and run `bundle install` to install via [RubyGems](https://rubygems.org/gems/omise):
         | 
| 11 10 |  | 
| 12 11 | 
             
            ```ruby
         | 
| 13 12 | 
             
            gem 'omise'
         | 
| 14 13 | 
             
            ```
         | 
| 15 14 |  | 
| 16 | 
            -
            Or use the cutting-edge version by installing via  | 
| 15 | 
            +
            Or use the cutting-edge version by installing via GitHub:
         | 
| 17 16 |  | 
| 18 17 | 
             
            ```ruby
         | 
| 19 18 | 
             
            gem 'omise', github: 'omise/omise-ruby'
         | 
| @@ -21,28 +20,38 @@ gem 'omise', github: 'omise/omise-ruby' | |
| 21 20 |  | 
| 22 21 | 
             
            ## Requirements
         | 
| 23 22 |  | 
| 24 | 
            -
             | 
| 23 | 
            +
            Tested on Ruby 2.5 and above
         | 
| 25 24 |  | 
| 26 25 | 
             
            ## Configuration
         | 
| 27 26 |  | 
| 28 27 | 
             
            First configure your secret key:
         | 
| 29 28 |  | 
| 30 29 | 
             
            ```ruby
         | 
| 30 | 
            +
            require "omise"
         | 
| 31 | 
            +
             | 
| 31 32 | 
             
            Omise.api_key = "skey_test_xxxxxxxxxxxxxxxxxxx"
         | 
| 32 33 | 
             
            ```
         | 
| 33 34 |  | 
| 34 | 
            -
             | 
| 35 | 
            +
            After you have implemented [Omise.js](https://www.omise.co/omise-js) on your frontend you can charge the card by passing the token generated by Omise.js into the `card` attribute.
         | 
| 35 36 |  | 
| 36 37 | 
             
            ```ruby
         | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 38 | 
            +
            # Charge 1000.00 THB
         | 
| 39 | 
            +
            charge = Omise::Charge.create({
         | 
| 40 | 
            +
              amount: 1_000_00,
         | 
| 41 | 
            +
              currency: "thb",
         | 
| 42 | 
            +
              card: params[:omise_token]
         | 
| 43 | 
            +
            })
         | 
| 39 44 |  | 
| 40 | 
            -
             | 
| 45 | 
            +
            if charge.paid
         | 
| 46 | 
            +
              # handle success
         | 
| 47 | 
            +
              puts "thanks"
         | 
| 48 | 
            +
            else
         | 
| 49 | 
            +
              # handle failure
         | 
| 50 | 
            +
              raise charge.failure_code
         | 
| 51 | 
            +
            end
         | 
| 52 | 
            +
            ```
         | 
| 41 53 |  | 
| 42 | 
            -
             | 
| 43 | 
            -
            [collect cards](https://www.omise.co/collecting-card-information). When creating a token server side you'll need card data
         | 
| 44 | 
            -
            transiting to and from your server and this requires that your organization be
         | 
| 45 | 
            -
            PCI compliant.
         | 
| 54 | 
            +
            You can check the complete documentation at [omise.co/docs](https://omise.co/docs).
         | 
| 46 55 |  | 
| 47 56 | 
             
            ### API version
         | 
| 48 57 |  | 
| @@ -53,18 +62,16 @@ environments with different API versions (e.g. development on the latest but | |
| 53 62 | 
             
            production on the older version).
         | 
| 54 63 |  | 
| 55 64 | 
             
            ```ruby
         | 
| 56 | 
            -
             | 
| 57 | 
            -
            Omise.api_version = "2014-07-27"
         | 
| 65 | 
            +
            Omise.api_version = "2019-05-29"
         | 
| 58 66 | 
             
            ```
         | 
| 59 67 |  | 
| 60 | 
            -
            It is highly recommended to set this version to the current version
         | 
| 61 | 
            -
            you're using.
         | 
| 68 | 
            +
            It is highly recommended to set this version to the current version you're using.
         | 
| 62 69 |  | 
| 63 70 | 
             
            ### Logging
         | 
| 64 71 |  | 
| 65 | 
            -
            To enable  | 
| 72 | 
            +
            To enable logging you can set `Omise.logger` with a Ruby logger. All HTTP requests and responses will be logged.
         | 
| 66 73 |  | 
| 67 | 
            -
            To disable  | 
| 74 | 
            +
            To disable logging, just configure `Omise.logger` to `nil`. Default is disabled.
         | 
| 68 75 |  | 
| 69 76 | 
             
            An example configuring Rails logger:
         | 
| 70 77 |  | 
| @@ -72,31 +79,6 @@ An example configuring Rails logger: | |
| 72 79 | 
             
            Omise.logger = Rails.logger
         | 
| 73 80 | 
             
            ```
         | 
| 74 81 |  | 
| 75 | 
            -
            ## Quick Start
         | 
| 76 | 
            -
             | 
| 77 | 
            -
            After you have implemented [Omise.js](https://www.omise.co/omise-js-api) on your
         | 
| 78 | 
            -
            frontend you can charge the card by passing the token into the `card` attribute.
         | 
| 79 | 
            -
             | 
| 80 | 
            -
            ```ruby
         | 
| 81 | 
            -
            # Charge 1000.00 THB
         | 
| 82 | 
            -
            charge = Omise::Charge.create({
         | 
| 83 | 
            -
              amount: 1_000_00,
         | 
| 84 | 
            -
              currency: "thb",
         | 
| 85 | 
            -
              card: params[:omise_token]
         | 
| 86 | 
            -
            })
         | 
| 87 | 
            -
             | 
| 88 | 
            -
            if charge.paid
         | 
| 89 | 
            -
              # handle success
         | 
| 90 | 
            -
              puts "thanks"
         | 
| 91 | 
            -
            else
         | 
| 92 | 
            -
              # handle failure
         | 
| 93 | 
            -
              raise charge.failure_code
         | 
| 94 | 
            -
            end
         | 
| 95 | 
            -
            ```
         | 
| 96 | 
            -
             | 
| 97 | 
            -
            You can check the complete documentation at
         | 
| 98 | 
            -
            [omise.co/docs](https://omise.co/docs).
         | 
| 99 | 
            -
             | 
| 100 82 | 
             
            ## Development
         | 
| 101 83 |  | 
| 102 84 | 
             
            The test suite can be run with `bundle exec rake test`.
         | 
    
        data/lib/omise/account.rb
    CHANGED
    
    | @@ -3,6 +3,17 @@ require "omise/object" | |
| 3 3 | 
             
            module Omise
         | 
| 4 4 | 
             
              class Account < OmiseObject
         | 
| 5 5 | 
             
                self.endpoint = "/account"
         | 
| 6 | 
            -
             | 
| 6 | 
            +
             | 
| 7 | 
            +
                def self.retrieve(attributes = {})
         | 
| 8 | 
            +
                  new resource(location, attributes).get(attributes)
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def reload(attributes = {})
         | 
| 12 | 
            +
                  assign_attributes resource(attributes).get(attributes)
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                def update(attributes = {})
         | 
| 16 | 
            +
                  assign_attributes resource(attributes).patch(attributes)
         | 
| 17 | 
            +
                end
         | 
| 7 18 | 
             
              end
         | 
| 8 19 | 
             
            end
         | 
    
        data/lib/omise/all.rb
    CHANGED
    
    
    
        data/lib/omise/charge.rb
    CHANGED
    
    | @@ -44,6 +44,10 @@ module Omise | |
| 44 44 | 
             
                  assign_attributes nested_resource("reverse", options).post
         | 
| 45 45 | 
             
                end
         | 
| 46 46 |  | 
| 47 | 
            +
                def expire(options = {})
         | 
| 48 | 
            +
                  assign_attributes nested_resource("expire", options).post
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
             | 
| 47 51 | 
             
                def customer(options = {})
         | 
| 48 52 | 
             
                  if !defined?(Customer)
         | 
| 49 53 | 
             
                    require "omise/customer"
         | 
| @@ -68,6 +72,10 @@ module Omise | |
| 68 72 | 
             
                  expand_attribute Transaction, "transaction", options
         | 
| 69 73 | 
             
                end
         | 
| 70 74 |  | 
| 75 | 
            +
                def events(attributes = {})
         | 
| 76 | 
            +
                  List.new nested_resource("events", attributes).get(attributes)
         | 
| 77 | 
            +
                end
         | 
| 78 | 
            +
             | 
| 71 79 | 
             
                def refunds
         | 
| 72 80 | 
             
                  list_attribute RefundList, "refunds"
         | 
| 73 81 | 
             
                end
         | 
    
        data/lib/omise/dispute.rb
    CHANGED
    
    | @@ -28,6 +28,10 @@ module Omise | |
| 28 28 | 
             
                  assign_attributes resource(attributes).patch(attributes)
         | 
| 29 29 | 
             
                end
         | 
| 30 30 |  | 
| 31 | 
            +
                def accept(attributes = {})
         | 
| 32 | 
            +
                  assign_attributes nested_resource("accept", attributes).patch(attributes)
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 31 35 | 
             
                def charge(options = {})
         | 
| 32 36 | 
             
                  if !defined?(Charge)
         | 
| 33 37 | 
             
                    require "omise/charge"
         | 
    
        data/lib/omise/link.rb
    CHANGED
    
    | @@ -27,6 +27,10 @@ module Omise | |
| 27 27 | 
             
                  assign_attributes resource(attributes).get(attributes)
         | 
| 28 28 | 
             
                end
         | 
| 29 29 |  | 
| 30 | 
            +
                def destroy(attributes = {})
         | 
| 31 | 
            +
                  assign_attributes resource(attributes).delete
         | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
             | 
| 30 34 | 
             
                def charges(options = {})
         | 
| 31 35 | 
             
                  if options.empty?
         | 
| 32 36 | 
             
                    list_attribute ChargeList, "charges"
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            require "omise/object"
         | 
| 2 | 
            +
            require "omise/list"
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module Omise
         | 
| 5 | 
            +
              class Receipt < OmiseObject
         | 
| 6 | 
            +
                self.endpoint = "/receipts"
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                def self.retrieve(id, attributes = {})
         | 
| 9 | 
            +
                  new resource(location(id), attributes).get(attributes)
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                def self.list(attributes = {})
         | 
| 13 | 
            +
                  List.new resource(location, attributes).get(attributes)
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def reload(attributes = {})
         | 
| 17 | 
            +
                  assign_attributes resource(attributes).get(attributes)
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
            end
         | 
    
        data/lib/omise/scheduler.rb
    CHANGED
    
    | @@ -5,7 +5,7 @@ require "omise/schedule" | |
| 5 5 | 
             
            module Omise
         | 
| 6 6 | 
             
              class Scheduler
         | 
| 7 7 | 
             
                WEEKDAYS       = Date::DAYNAMES.map(&:downcase).freeze
         | 
| 8 | 
            -
                MONTH_WEEKDAYS = %w[first second third fourth last]
         | 
| 8 | 
            +
                MONTH_WEEKDAYS = %w[first 1st second 2nd third 3rd fourth 4th last]
         | 
| 9 9 | 
             
                  .product(WEEKDAYS)
         | 
| 10 10 | 
             
                  .map { |d| d.join("_") }
         | 
| 11 11 | 
             
                  .freeze
         | 
    
        data/lib/omise/version.rb
    CHANGED
    
    
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "object": "list",
         | 
| 3 | 
            +
              "data": [
         | 
| 4 | 
            +
                {
         | 
| 5 | 
            +
                  "object": "event",
         | 
| 6 | 
            +
                  "id": "evnt_test_5moztki4ickw5gxwsrh",
         | 
| 7 | 
            +
                  "livemode": false,
         | 
| 8 | 
            +
                  "location": "/events/evnt_test_5moztki4ickw5gxwsrh",
         | 
| 9 | 
            +
                  "key": "charge.update",
         | 
| 10 | 
            +
                  "created_at": "2021-01-29T02:05:20Z"
         | 
| 11 | 
            +
                },
         | 
| 12 | 
            +
                {
         | 
| 13 | 
            +
                  "object": "event",
         | 
| 14 | 
            +
                  "id": "evnt_test_5mozta5zc6wdx4genou",
         | 
| 15 | 
            +
                  "livemode": false,
         | 
| 16 | 
            +
                  "location": "/events/evnt_test_5mozta5zc6wdx4genou",
         | 
| 17 | 
            +
                  "key": "charge.create",
         | 
| 18 | 
            +
                  "created_at": "2021-01-29T02:04:31Z"
         | 
| 19 | 
            +
                }
         | 
| 20 | 
            +
              ],
         | 
| 21 | 
            +
              "limit": 20,
         | 
| 22 | 
            +
              "offset": 0,
         | 
| 23 | 
            +
              "total": 2,
         | 
| 24 | 
            +
              "location": "/charges/chrg_test_4yq7duw15p9hdrjp8oq/events",
         | 
| 25 | 
            +
              "order": "chronological",
         | 
| 26 | 
            +
              "from": "1970-01-01T00:00:00Z",
         | 
| 27 | 
            +
              "to": "2021-02-07T10:04:29Z"
         | 
| 28 | 
            +
            }
         | 
| @@ -0,0 +1,51 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "object": "charge",
         | 
| 3 | 
            +
              "id": "chrg_test_4yq7duw15p9hdrjp8oq",
         | 
| 4 | 
            +
              "livemode": false,
         | 
| 5 | 
            +
              "location": "/charges/chrg_test_4yq7duw15p9hdrjp8oq",
         | 
| 6 | 
            +
              "amount": 100000,
         | 
| 7 | 
            +
              "currency": "thb",
         | 
| 8 | 
            +
              "description": "Charge for order 3947",
         | 
| 9 | 
            +
              "capture": true,
         | 
| 10 | 
            +
              "authorized": false,
         | 
| 11 | 
            +
              "reversed": false,
         | 
| 12 | 
            +
              "captured": false,
         | 
| 13 | 
            +
              "expired": true,
         | 
| 14 | 
            +
              "transaction": "trxn_test_4yq7duwb9jts1vxgqua",
         | 
| 15 | 
            +
              "refunded": 0,
         | 
| 16 | 
            +
              "refunds": {
         | 
| 17 | 
            +
                "object": "list",
         | 
| 18 | 
            +
                "from": "1970-01-01T00:00:00+00:00",
         | 
| 19 | 
            +
                "to": "2015-01-16T07:23:49+00:00",
         | 
| 20 | 
            +
                "offset": 0,
         | 
| 21 | 
            +
                "limit": 20,
         | 
| 22 | 
            +
                "total": 1,
         | 
| 23 | 
            +
                "data": [
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                ],
         | 
| 26 | 
            +
                "location": "/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds"
         | 
| 27 | 
            +
              },
         | 
| 28 | 
            +
              "failure_code": null,
         | 
| 29 | 
            +
              "failure_message": null,
         | 
| 30 | 
            +
              "card": {
         | 
| 31 | 
            +
                "object": "card",
         | 
| 32 | 
            +
                "id": "card_test_4yq6tuucl9h4erukfl0",
         | 
| 33 | 
            +
                "livemode": false,
         | 
| 34 | 
            +
                "location": "/customers/cust_test_4yq6txdpfadhbaqnwp3/cards/card_test_4yq6tuucl9h4erukfl0",
         | 
| 35 | 
            +
                "country": "",
         | 
| 36 | 
            +
                "city": "Bangkok",
         | 
| 37 | 
            +
                "postal_code": "10320",
         | 
| 38 | 
            +
                "financing": "",
         | 
| 39 | 
            +
                "last_digits": "4242",
         | 
| 40 | 
            +
                "brand": "Visa",
         | 
| 41 | 
            +
                "expiration_month": 1,
         | 
| 42 | 
            +
                "expiration_year": 2017,
         | 
| 43 | 
            +
                "fingerprint": "sRF/oMw2UQJJp/WbU+2/ZbVzwROjpMf1lyhOHhOqziw=",
         | 
| 44 | 
            +
                "name": "JOHN DOE",
         | 
| 45 | 
            +
                "security_code_check": true,
         | 
| 46 | 
            +
                "created": "2015-01-15T04:03:40Z"
         | 
| 47 | 
            +
              },
         | 
| 48 | 
            +
              "customer": "cust_test_4yq6txdpfadhbaqnwp3",
         | 
| 49 | 
            +
              "ip": null,
         | 
| 50 | 
            +
              "created": "2015-01-15T05:00:29Z"
         | 
| 51 | 
            +
            }
         | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "object": "dispute",
         | 
| 3 | 
            +
              "id": "dspt_test_5089off452g5m5te7xs",
         | 
| 4 | 
            +
              "livemode": false,
         | 
| 5 | 
            +
              "location": "/disputes/dspt_test_5089off452g5m5te7xs",
         | 
| 6 | 
            +
              "amount": 100000,
         | 
| 7 | 
            +
              "currency": "thb",
         | 
| 8 | 
            +
              "status": "lost",
         | 
| 9 | 
            +
              "message": null,
         | 
| 10 | 
            +
              "charge": "chrg_test_5089odjlzg9j7tw4i1q",
         | 
| 11 | 
            +
              "created": "2015-06-02T10:22:32Z"
         | 
| 12 | 
            +
            }
         | 
| @@ -0,0 +1,90 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "object": "receipt_list",
         | 
| 3 | 
            +
              "data": [
         | 
| 4 | 
            +
                {
         | 
| 5 | 
            +
                  "object": "receipt",
         | 
| 6 | 
            +
                  "id": "rcpt_5lrm8qjcaj5vpu2790m",
         | 
| 7 | 
            +
                  "livemode": true,
         | 
| 8 | 
            +
                  "location": "/receipts/rcpt_5lrm8qjcaj5vpu2790m",
         | 
| 9 | 
            +
                  "credit_note": false,
         | 
| 10 | 
            +
                  "charge_fee": 7,
         | 
| 11 | 
            +
                  "subtotal": 7,
         | 
| 12 | 
            +
                  "transfer_fee": 0,
         | 
| 13 | 
            +
                  "voided_fee": 0,
         | 
| 14 | 
            +
                  "vat": 0,
         | 
| 15 | 
            +
                  "wht": 0,
         | 
| 16 | 
            +
                  "total": 7,
         | 
| 17 | 
            +
                  "company_address": "123 The Road, Thailand",
         | 
| 18 | 
            +
                  "company_name": "Omise",
         | 
| 19 | 
            +
                  "company_tax_id": "0123456789012",
         | 
| 20 | 
            +
                  "currency": "THB",
         | 
| 21 | 
            +
                  "customer_address": "456 The Street, Singapore",
         | 
| 22 | 
            +
                  "customer_email": "john.doe@omise.co",
         | 
| 23 | 
            +
                  "customer_name": "John Doe",
         | 
| 24 | 
            +
                  "customer_statement_name": "John Doe",
         | 
| 25 | 
            +
                  "customer_tax_id": "10000",
         | 
| 26 | 
            +
                  "number": "OMTH202011050018",
         | 
| 27 | 
            +
                  "created_at": "2020-11-05T18:02:05Z",
         | 
| 28 | 
            +
                  "issued_on": "2020-11-05",
         | 
| 29 | 
            +
                  "adjustment_transaction": {
         | 
| 30 | 
            +
                    "object": "transaction",
         | 
| 31 | 
            +
                    "id": "trxn_5lrm8qjiaye00x5dv4r",
         | 
| 32 | 
            +
                    "livemode": true,
         | 
| 33 | 
            +
                    "currency": "THB",
         | 
| 34 | 
            +
                    "amount": 0,
         | 
| 35 | 
            +
                    "location": "/transactions/trxn_5lrm8qjiaye00x5dv4r",
         | 
| 36 | 
            +
                    "direction": "credit",
         | 
| 37 | 
            +
                    "key": "receipt.vat_adjustment.credit",
         | 
| 38 | 
            +
                    "origin": "rcpt_5lrm8qjcaj5vpu2790m",
         | 
| 39 | 
            +
                    "transferable_at": "2020-11-05T18:02:05Z",
         | 
| 40 | 
            +
                    "created_at": "2020-11-05T18:02:05Z"
         | 
| 41 | 
            +
                  }
         | 
| 42 | 
            +
                },
         | 
| 43 | 
            +
                {
         | 
| 44 | 
            +
                  "object": "receipt",
         | 
| 45 | 
            +
                  "id": "rcpt_5ls0b8zb53qmw3mlvfz",
         | 
| 46 | 
            +
                  "livemode": true,
         | 
| 47 | 
            +
                  "location": "/receipts/rcpt_5ls0b8zb53qmw3mlvfz",
         | 
| 48 | 
            +
                  "credit_note": false,
         | 
| 49 | 
            +
                  "charge_fee": 7,
         | 
| 50 | 
            +
                  "subtotal": 7,
         | 
| 51 | 
            +
                  "transfer_fee": 0,
         | 
| 52 | 
            +
                  "voided_fee": 0,
         | 
| 53 | 
            +
                  "vat": 0,
         | 
| 54 | 
            +
                  "wht": 0,
         | 
| 55 | 
            +
                  "total": 7,
         | 
| 56 | 
            +
                  "company_address": "123 The Road, Thailand",
         | 
| 57 | 
            +
                  "company_name": "Omise",
         | 
| 58 | 
            +
                  "company_tax_id": "0123456789012",
         | 
| 59 | 
            +
                  "currency": "THB",
         | 
| 60 | 
            +
                  "customer_address": "456 The Street, Singapore",
         | 
| 61 | 
            +
                  "customer_email": "john.doe@omise.co",
         | 
| 62 | 
            +
                  "customer_name": "John Doe",
         | 
| 63 | 
            +
                  "customer_statement_name": "John Doe",
         | 
| 64 | 
            +
                  "customer_tax_id": "10000",
         | 
| 65 | 
            +
                  "number": "OMTH202011050019",
         | 
| 66 | 
            +
                  "created_at": "2020-11-05T18:02:05Z",
         | 
| 67 | 
            +
                  "issued_on": "2020-11-05",
         | 
| 68 | 
            +
                  "adjustment_transaction": {
         | 
| 69 | 
            +
                    "object": "transaction",
         | 
| 70 | 
            +
                    "id": "trxn_5ls0b8zftdzm5vw90d6",
         | 
| 71 | 
            +
                    "livemode": true,
         | 
| 72 | 
            +
                    "currency": "THB",
         | 
| 73 | 
            +
                    "amount": 0,
         | 
| 74 | 
            +
                    "location": "/transactions/trxn_5ls0b8zftdzm5vw90d6",
         | 
| 75 | 
            +
                    "direction": "credit",
         | 
| 76 | 
            +
                    "key": "receipt.vat_adjustment.credit",
         | 
| 77 | 
            +
                    "origin": "rcpt_5ls0b8zb53qmw3mlvfz",
         | 
| 78 | 
            +
                    "transferable_at": "2020-11-05T18:02:05Z",
         | 
| 79 | 
            +
                    "created_at": "2020-11-05T18:02:05Z"
         | 
| 80 | 
            +
                  }
         | 
| 81 | 
            +
                }
         | 
| 82 | 
            +
              ],
         | 
| 83 | 
            +
              "limit": 20,
         | 
| 84 | 
            +
              "offset": 0,
         | 
| 85 | 
            +
              "total": 2,
         | 
| 86 | 
            +
              "location": "/receipts",
         | 
| 87 | 
            +
              "order": "chronological",
         | 
| 88 | 
            +
              "from": "1970-01-01T00:00:00Z",
         | 
| 89 | 
            +
              "to": "2021-02-07T23:59:59Z"
         | 
| 90 | 
            +
            }
         | 
| @@ -0,0 +1,39 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "object": "receipt",
         | 
| 3 | 
            +
              "id": "rcpt_5ls0b8zb53qmw3mlvfz",
         | 
| 4 | 
            +
              "livemode": true,
         | 
| 5 | 
            +
              "location": "/receipts/rcpt_5ls0b8zb53qmw3mlvfz",
         | 
| 6 | 
            +
              "credit_note": false,
         | 
| 7 | 
            +
              "charge_fee": 7,
         | 
| 8 | 
            +
              "subtotal": 7,
         | 
| 9 | 
            +
              "transfer_fee": 0,
         | 
| 10 | 
            +
              "voided_fee": 0,
         | 
| 11 | 
            +
              "vat": 0,
         | 
| 12 | 
            +
              "wht": 0,
         | 
| 13 | 
            +
              "total": 7,
         | 
| 14 | 
            +
              "company_address": "123 The Road, Thailand",
         | 
| 15 | 
            +
              "company_name": "Omise",
         | 
| 16 | 
            +
              "company_tax_id": "0123456789012",
         | 
| 17 | 
            +
              "currency": "THB",
         | 
| 18 | 
            +
              "customer_address": "456 The Street, Singapore",
         | 
| 19 | 
            +
              "customer_email": "john.doe@omise.co",
         | 
| 20 | 
            +
              "customer_name": "John Doe",
         | 
| 21 | 
            +
              "customer_statement_name": "John Doe",
         | 
| 22 | 
            +
              "customer_tax_id": "10000",
         | 
| 23 | 
            +
              "number": "OMTH202011050019",
         | 
| 24 | 
            +
              "created_at": "2020-11-05T18:02:05Z",
         | 
| 25 | 
            +
              "issued_on": "2020-11-05",
         | 
| 26 | 
            +
              "adjustment_transaction": {
         | 
| 27 | 
            +
                "object": "transaction",
         | 
| 28 | 
            +
                "id": "trxn_5ls0b8zftdzm5vw90d6",
         | 
| 29 | 
            +
                "livemode": true,
         | 
| 30 | 
            +
                "currency": "THB",
         | 
| 31 | 
            +
                "amount": 0,
         | 
| 32 | 
            +
                "location": "/transactions/trxn_5ls0b8zftdzm5vw90d6",
         | 
| 33 | 
            +
                "direction": "credit",
         | 
| 34 | 
            +
                "key": "receipt.vat_adjustment.credit",
         | 
| 35 | 
            +
                "origin": "rcpt_5ls0b8zb53qmw3mlvfz",
         | 
| 36 | 
            +
                "transferable_at": "2020-11-05T18:02:05Z",
         | 
| 37 | 
            +
                "created_at": "2020-11-05T18:02:05Z"
         | 
| 38 | 
            +
              }
         | 
| 39 | 
            +
            }
         | 
    
        data/test/omise/test_account.rb
    CHANGED
    
    | @@ -10,10 +10,16 @@ class TestAccount < Omise::Test | |
| 10 10 | 
             
                assert_equal "/account", @account.location
         | 
| 11 11 | 
             
              end
         | 
| 12 12 |  | 
| 13 | 
            -
              def  | 
| 13 | 
            +
              def test_that_we_can_reload_the_account
         | 
| 14 14 | 
             
                @account.attributes.taint
         | 
| 15 15 | 
             
                @account.reload
         | 
| 16 16 |  | 
| 17 17 | 
             
                refute @account.attributes.tainted?
         | 
| 18 18 | 
             
              end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              def test_that_we_can_update_the_account
         | 
| 21 | 
            +
                @account.update(zero_interest_installments: true)
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                assert @account.zero_interest_installments
         | 
| 24 | 
            +
              end
         | 
| 19 25 | 
             
            end
         | 
    
        data/test/omise/test_charge.rb
    CHANGED
    
    | @@ -111,6 +111,10 @@ class TestCharge < Omise::Test | |
| 111 111 | 
             
                assert @charge.reverse
         | 
| 112 112 | 
             
              end
         | 
| 113 113 |  | 
| 114 | 
            +
              def test_that_we_can_set_a_charge_to_expire
         | 
| 115 | 
            +
                assert @charge.expire
         | 
| 116 | 
            +
              end
         | 
| 117 | 
            +
             | 
| 114 118 | 
             
              def test_that_search_returns_a_scoped_search
         | 
| 115 119 | 
             
                assert_instance_of Omise::SearchScope, Omise::Charge.search
         | 
| 116 120 | 
             
                assert_equal "charge", Omise::Charge.search.scope
         | 
| @@ -120,4 +124,11 @@ class TestCharge < Omise::Test | |
| 120 124 | 
             
                assert_instance_of Omise::Scheduler, Omise::Charge.schedule
         | 
| 121 125 | 
             
                assert_equal "charge", Omise::Charge.schedule.type
         | 
| 122 126 | 
             
              end
         | 
| 127 | 
            +
             | 
| 128 | 
            +
              def test_that_we_can_fetch_an_event_list_for_a_given_charge
         | 
| 129 | 
            +
                events = @charge.events
         | 
| 130 | 
            +
             | 
| 131 | 
            +
                assert events
         | 
| 132 | 
            +
                assert_instance_of Omise::List, events
         | 
| 133 | 
            +
              end
         | 
| 123 134 | 
             
            end
         | 
    
        data/test/omise/test_dispute.rb
    CHANGED
    
    | @@ -34,12 +34,30 @@ class TestDispute < Omise::Test | |
| 34 34 | 
             
                assert_equal "dspt_test_5089off452g5m5te7xs", @dispute.id
         | 
| 35 35 | 
             
              end
         | 
| 36 36 |  | 
| 37 | 
            +
              def test_that_we_can_reload_a_dispute
         | 
| 38 | 
            +
                @dispute.attributes.taint
         | 
| 39 | 
            +
                @dispute.reload
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                refute @dispute.attributes.tainted?
         | 
| 42 | 
            +
              end
         | 
| 43 | 
            +
             | 
| 37 44 | 
             
              def test_that_we_can_update_a_dispute
         | 
| 38 45 | 
             
                @dispute.update(message: "Your dispute message")
         | 
| 39 46 |  | 
| 40 47 | 
             
                assert_equal @dispute.message, "Your dispute message"
         | 
| 41 48 | 
             
              end
         | 
| 42 49 |  | 
| 50 | 
            +
              def test_that_we_can_accept_a_dispute
         | 
| 51 | 
            +
                @dispute.attributes.taint
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                assert_equal @dispute.status, "open"
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                @dispute.accept
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                assert_equal @dispute.status, "lost"
         | 
| 58 | 
            +
                refute @dispute.attributes.tainted?
         | 
| 59 | 
            +
              end
         | 
| 60 | 
            +
             | 
| 43 61 | 
             
              def test_that_we_can_retrieve_a_list_of_documents
         | 
| 44 62 | 
             
                assert_instance_of Omise::DocumentList, @dispute.documents
         | 
| 45 63 | 
             
              end
         | 
    
        data/test/omise/test_link.rb
    CHANGED
    
    | @@ -17,6 +17,13 @@ class TestLink < Omise::Test | |
| 17 17 | 
             
                assert_equal "link_test_55pcclmznvrv9lc7r9s", @link.id
         | 
| 18 18 | 
             
              end
         | 
| 19 19 |  | 
| 20 | 
            +
              def test_that_we_can_destroy_a_link
         | 
| 21 | 
            +
                @link.destroy
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                assert @link.deleted
         | 
| 24 | 
            +
                assert @link.destroyed?
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 20 27 | 
             
              def test_that_we_can_list_all_links
         | 
| 21 28 | 
             
                links = Omise::Link.list
         | 
| 22 29 |  | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            require "support"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            class TestReceipt < Omise::Test
         | 
| 4 | 
            +
              setup do
         | 
| 5 | 
            +
                @receipt = Omise::Receipt.retrieve("rcpt_5ls0b8zb53qmw3mlvfz")
         | 
| 6 | 
            +
              end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              def test_that_we_can_list_all_receipts
         | 
| 9 | 
            +
                receipts = Omise::Receipt.list
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                assert receipts
         | 
| 12 | 
            +
                assert_instance_of Omise::List, receipts
         | 
| 13 | 
            +
                assert_instance_of Omise::Receipt, receipts.first
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              def test_that_we_can_retrieve_a_receipt
         | 
| 17 | 
            +
                receipt = Omise::Receipt.retrieve("rcpt_5ls0b8zb53qmw3mlvfz")
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                assert receipt
         | 
| 20 | 
            +
                assert_instance_of Omise::Receipt, receipt
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              def test_that_we_can_reload_a_receipt
         | 
| 24 | 
            +
                @receipt.attributes.taint
         | 
| 25 | 
            +
                @receipt.reload
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                refute @receipt.attributes.tainted?
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
| @@ -87,6 +87,16 @@ class TestScheduler < Omise::Test | |
| 87 87 | 
             
                assert_equal "first_monday", scheduler.to_attributes[:on][:weekday_of_month]
         | 
| 88 88 | 
             
              end
         | 
| 89 89 |  | 
| 90 | 
            +
              def test_we_can_set_month_with_weekday_in_other_formats
         | 
| 91 | 
            +
                scheduler = @scheduler.every(1).month(on: "1st_monday")
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                assert_scheduler_attributes(@scheduler)
         | 
| 94 | 
            +
                refute_equal scheduler.object_id, @scheduler.object_id
         | 
| 95 | 
            +
                assert_equal 1, scheduler.to_attributes[:every]
         | 
| 96 | 
            +
                assert_equal "month", scheduler.to_attributes[:period]
         | 
| 97 | 
            +
                assert_equal "1st_monday", scheduler.to_attributes[:on][:weekday_of_month]
         | 
| 98 | 
            +
              end
         | 
| 99 | 
            +
             | 
| 90 100 | 
             
              def test_we_can_set_months_with_weekday
         | 
| 91 101 | 
             
                scheduler = @scheduler.every(3).months(on: "last_friday")
         | 
| 92 102 |  | 
| @@ -155,6 +165,9 @@ class TestScheduler < Omise::Test | |
| 155 165 | 
             
                scheduler = @scheduler.parse("every month on the third Thursday until January 1st 2020")
         | 
| 156 166 | 
             
                assert_scheduler_attributes(scheduler, 1, "month", "2020-01-01", weekday_of_month: "third_thursday")
         | 
| 157 167 |  | 
| 168 | 
            +
                scheduler = @scheduler.parse("every month on the 2nd Monday until January 1st 2020")
         | 
| 169 | 
            +
                assert_scheduler_attributes(scheduler, 1, "month", "2020-01-01", weekday_of_month: "2nd_monday")
         | 
| 170 | 
            +
             | 
| 158 171 | 
             
                scheduler = @scheduler.parse("every 3 months on 1, 2 and 3 until January 1st 2020")
         | 
| 159 172 | 
             
                assert_scheduler_attributes(scheduler, 3, "month", "2020-01-01", days_of_month: [1, 2, 3])
         | 
| 160 173 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: omise
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.10.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Robin Clart
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-02-16 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rest-client
         | 
| @@ -94,7 +94,7 @@ dependencies: | |
| 94 94 | 
             
                - - ">="
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 96 | 
             
                    version: '5.4'
         | 
| 97 | 
            -
            description: | 
| 97 | 
            +
            description:
         | 
| 98 98 | 
             
            email:
         | 
| 99 99 | 
             
            - robin@omise.co
         | 
| 100 100 | 
             
            executables: []
         | 
| @@ -137,6 +137,7 @@ files: | |
| 137 137 | 
             
            - lib/omise/object.rb
         | 
| 138 138 | 
             
            - lib/omise/occurrence.rb
         | 
| 139 139 | 
             
            - lib/omise/occurrence_list.rb
         | 
| 140 | 
            +
            - lib/omise/receipt.rb
         | 
| 140 141 | 
             
            - lib/omise/recipient.rb
         | 
| 141 142 | 
             
            - lib/omise/refund.rb
         | 
| 142 143 | 
             
            - lib/omise/refund_list.rb
         | 
| @@ -156,6 +157,7 @@ files: | |
| 156 157 | 
             
            - lib/omise/version.rb
         | 
| 157 158 | 
             
            - omise.gemspec
         | 
| 158 159 | 
             
            - test/fixtures/api.omise.co/account-get.json
         | 
| 160 | 
            +
            - test/fixtures/api.omise.co/account-patch.json
         | 
| 159 161 | 
             
            - test/fixtures/api.omise.co/balance-get.json
         | 
| 160 162 | 
             
            - test/fixtures/api.omise.co/capability-get.json
         | 
| 161 163 | 
             
            - test/fixtures/api.omise.co/chains-get.json
         | 
| @@ -170,6 +172,8 @@ files: | |
| 170 172 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq-get.json
         | 
| 171 173 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq-patch.json
         | 
| 172 174 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/capture-post.json
         | 
| 175 | 
            +
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/events-get.json
         | 
| 176 | 
            +
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/expire-post.json
         | 
| 173 177 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds-get.json
         | 
| 174 178 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds-post.json
         | 
| 175 179 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds/404-get.json
         | 
| @@ -191,6 +195,7 @@ files: | |
| 191 195 | 
             
            - test/fixtures/api.omise.co/disputes/closed-get.json
         | 
| 192 196 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs-get.json
         | 
| 193 197 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs-patch.json
         | 
| 198 | 
            +
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/accept-patch.json
         | 
| 194 199 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/documents-get.json
         | 
| 195 200 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/documents-post.json
         | 
| 196 201 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/documents/docu_test_55869onwfm2g3bsw8d8-delete.json
         | 
| @@ -203,8 +208,11 @@ files: | |
| 203 208 | 
             
            - test/fixtures/api.omise.co/integrations/integration_test_5h24qlv37qyx537p1ub-get.json
         | 
| 204 209 | 
             
            - test/fixtures/api.omise.co/links-get.json
         | 
| 205 210 | 
             
            - test/fixtures/api.omise.co/links-post.json
         | 
| 211 | 
            +
            - test/fixtures/api.omise.co/links/link_test_55pcclmznvrv9lc7r9s-delete.json
         | 
| 206 212 | 
             
            - test/fixtures/api.omise.co/links/link_test_55pcclmznvrv9lc7r9s-get.json
         | 
| 207 213 | 
             
            - test/fixtures/api.omise.co/occurrences/occu_test_57s33hmja9t3fs4wmop-get.json
         | 
| 214 | 
            +
            - test/fixtures/api.omise.co/receipts-get.json
         | 
| 215 | 
            +
            - test/fixtures/api.omise.co/receipts/rcpt_5ls0b8zb53qmw3mlvfz-get.json
         | 
| 208 216 | 
             
            - test/fixtures/api.omise.co/recipients-get.json
         | 
| 209 217 | 
             
            - test/fixtures/api.omise.co/recipients-post.json
         | 
| 210 218 | 
             
            - test/fixtures/api.omise.co/recipients/recp_test_50894vc13y8z4v51iuc-delete.json
         | 
| @@ -247,6 +255,7 @@ files: | |
| 247 255 | 
             
            - test/omise/test_link.rb
         | 
| 248 256 | 
             
            - test/omise/test_list.rb
         | 
| 249 257 | 
             
            - test/omise/test_occurrence.rb
         | 
| 258 | 
            +
            - test/omise/test_receipt.rb
         | 
| 250 259 | 
             
            - test/omise/test_recipient.rb
         | 
| 251 260 | 
             
            - test/omise/test_refund.rb
         | 
| 252 261 | 
             
            - test/omise/test_resource.rb
         | 
| @@ -264,7 +273,7 @@ homepage: https://www.omise.co/ | |
| 264 273 | 
             
            licenses:
         | 
| 265 274 | 
             
            - MIT
         | 
| 266 275 | 
             
            metadata: {}
         | 
| 267 | 
            -
            post_install_message: | 
| 276 | 
            +
            post_install_message:
         | 
| 268 277 | 
             
            rdoc_options: []
         | 
| 269 278 | 
             
            require_paths:
         | 
| 270 279 | 
             
            - lib
         | 
| @@ -280,11 +289,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 280 289 | 
             
                  version: '0'
         | 
| 281 290 | 
             
            requirements: []
         | 
| 282 291 | 
             
            rubygems_version: 3.0.3
         | 
| 283 | 
            -
            signing_key: | 
| 292 | 
            +
            signing_key:
         | 
| 284 293 | 
             
            specification_version: 4
         | 
| 285 294 | 
             
            summary: Omise Ruby client
         | 
| 286 295 | 
             
            test_files:
         | 
| 287 296 | 
             
            - test/fixtures/api.omise.co/account-get.json
         | 
| 297 | 
            +
            - test/fixtures/api.omise.co/account-patch.json
         | 
| 288 298 | 
             
            - test/fixtures/api.omise.co/balance-get.json
         | 
| 289 299 | 
             
            - test/fixtures/api.omise.co/capability-get.json
         | 
| 290 300 | 
             
            - test/fixtures/api.omise.co/chains-get.json
         | 
| @@ -299,6 +309,8 @@ test_files: | |
| 299 309 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq-get.json
         | 
| 300 310 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq-patch.json
         | 
| 301 311 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/capture-post.json
         | 
| 312 | 
            +
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/events-get.json
         | 
| 313 | 
            +
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/expire-post.json
         | 
| 302 314 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds-get.json
         | 
| 303 315 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds-post.json
         | 
| 304 316 | 
             
            - test/fixtures/api.omise.co/charges/chrg_test_4yq7duw15p9hdrjp8oq/refunds/404-get.json
         | 
| @@ -320,6 +332,7 @@ test_files: | |
| 320 332 | 
             
            - test/fixtures/api.omise.co/disputes/closed-get.json
         | 
| 321 333 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs-get.json
         | 
| 322 334 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs-patch.json
         | 
| 335 | 
            +
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/accept-patch.json
         | 
| 323 336 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/documents-get.json
         | 
| 324 337 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/documents-post.json
         | 
| 325 338 | 
             
            - test/fixtures/api.omise.co/disputes/dspt_test_5089off452g5m5te7xs/documents/docu_test_55869onwfm2g3bsw8d8-delete.json
         | 
| @@ -332,8 +345,11 @@ test_files: | |
| 332 345 | 
             
            - test/fixtures/api.omise.co/integrations/integration_test_5h24qlv37qyx537p1ub-get.json
         | 
| 333 346 | 
             
            - test/fixtures/api.omise.co/links-get.json
         | 
| 334 347 | 
             
            - test/fixtures/api.omise.co/links-post.json
         | 
| 348 | 
            +
            - test/fixtures/api.omise.co/links/link_test_55pcclmznvrv9lc7r9s-delete.json
         | 
| 335 349 | 
             
            - test/fixtures/api.omise.co/links/link_test_55pcclmznvrv9lc7r9s-get.json
         | 
| 336 350 | 
             
            - test/fixtures/api.omise.co/occurrences/occu_test_57s33hmja9t3fs4wmop-get.json
         | 
| 351 | 
            +
            - test/fixtures/api.omise.co/receipts-get.json
         | 
| 352 | 
            +
            - test/fixtures/api.omise.co/receipts/rcpt_5ls0b8zb53qmw3mlvfz-get.json
         | 
| 337 353 | 
             
            - test/fixtures/api.omise.co/recipients-get.json
         | 
| 338 354 | 
             
            - test/fixtures/api.omise.co/recipients-post.json
         | 
| 339 355 | 
             
            - test/fixtures/api.omise.co/recipients/recp_test_50894vc13y8z4v51iuc-delete.json
         | 
| @@ -376,6 +392,7 @@ test_files: | |
| 376 392 | 
             
            - test/omise/test_link.rb
         | 
| 377 393 | 
             
            - test/omise/test_list.rb
         | 
| 378 394 | 
             
            - test/omise/test_occurrence.rb
         | 
| 395 | 
            +
            - test/omise/test_receipt.rb
         | 
| 379 396 | 
             
            - test/omise/test_recipient.rb
         | 
| 380 397 | 
             
            - test/omise/test_refund.rb
         | 
| 381 398 | 
             
            - test/omise/test_resource.rb
         |