jortt 2.0.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 +7 -0
 - data/.gitignore +18 -0
 - data/.rubocop.yml +26 -0
 - data/.ruby-version +1 -0
 - data/.travis.yml +7 -0
 - data/Gemfile +4 -0
 - data/LICENSE.txt +22 -0
 - data/README.md +99 -0
 - data/Rakefile +6 -0
 - data/jortt.gemspec +29 -0
 - data/lib/freemle.rb +22 -0
 - data/lib/freemle/client.rb +69 -0
 - data/lib/freemle/client/resource.rb +140 -0
 - data/lib/freemle/client/version.rb +7 -0
 - data/spec/freemle/client/resource_spec.rb +31 -0
 - data/spec/freemle/client_spec.rb +43 -0
 - data/spec/freemle_spec.rb +9 -0
 - data/spec/spec_helper.rb +15 -0
 - metadata +181 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 77c2bef2b81e18794d1f60872ba00fb5a267d2e1
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: be437bdf4b8d419736c7d5a08f963931a1b70826
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 685dcfac26a6f566ec4f074f6e44908b219cd1e8c094fb4c3bb4bee0962879aee17feb09e086a16e704755434a08d0e96c68f55121a0d69a316dca9a80480b39
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: c7b5c30f5d1417acaecf3d736e0b9bf8fcdb985bdae26bd56abba674037ca445454b8da71e63fcb434197fe0a245f004b2956f1a2ca082057520bd416b97fb9d
         
     | 
    
        data/.gitignore
    ADDED
    
    
    
        data/.rubocop.yml
    ADDED
    
    | 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require: rubocop-rspec
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Style/AccessModifierIndentation:
         
     | 
| 
      
 4 
     | 
    
         
            +
              EnforcedStyle: outdent
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            Style/AlignParameters:
         
     | 
| 
      
 7 
     | 
    
         
            +
              EnforcedStyle: with_fixed_indentation
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            Style/DotPosition:
         
     | 
| 
      
 10 
     | 
    
         
            +
              EnforcedStyle: trailing
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            Style/TrailingComma:
         
     | 
| 
      
 13 
     | 
    
         
            +
              EnforcedStyleForMultiline: comma
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            Style/EmptyLinesAroundBody:
         
     | 
| 
      
 16 
     | 
    
         
            +
              Description: "Keeps track of empty lines around expression bodies."
         
     | 
| 
      
 17 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            Style/RegexpLiteral:
         
     | 
| 
      
 20 
     | 
    
         
            +
              MaxSlashes: 0
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            Style/HashSyntax:
         
     | 
| 
      
 23 
     | 
    
         
            +
              EnforcedStyle: ruby19
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            Style/SpaceInsideHashLiteralBraces:
         
     | 
| 
      
 26 
     | 
    
         
            +
              EnforcedStyle: no_space
         
     | 
    
        data/.ruby-version
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            2.1.5
         
     | 
    
        data/.travis.yml
    ADDED
    
    
    
        data/Gemfile
    ADDED
    
    
    
        data/LICENSE.txt
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Copyright (c) 2014 Bob Forma
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            MIT License
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining
         
     | 
| 
      
 6 
     | 
    
         
            +
            a copy of this software and associated documentation files (the
         
     | 
| 
      
 7 
     | 
    
         
            +
            "Software"), to deal in the Software without restriction, including
         
     | 
| 
      
 8 
     | 
    
         
            +
            without limitation the rights to use, copy, modify, merge, publish,
         
     | 
| 
      
 9 
     | 
    
         
            +
            distribute, sublicense, and/or sell copies of the Software, and to
         
     | 
| 
      
 10 
     | 
    
         
            +
            permit persons to whom the Software is furnished to do so, subject to
         
     | 
| 
      
 11 
     | 
    
         
            +
            the following conditions:
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be
         
     | 
| 
      
 14 
     | 
    
         
            +
            included in all copies or substantial portions of the Software.
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
         
     | 
| 
      
 17 
     | 
    
         
            +
            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
         
     | 
| 
      
 18 
     | 
    
         
            +
            MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
         
     | 
| 
      
 19 
     | 
    
         
            +
            NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
         
     | 
| 
      
 20 
     | 
    
         
            +
            LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
         
     | 
| 
      
 21 
     | 
    
         
            +
            OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
         
     | 
| 
      
 22 
     | 
    
         
            +
            WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,99 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Freemle REST API client
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            [](http://inch-ci.org/github/jorttbv/jortt-ruby)
         
     | 
| 
      
 6 
     | 
    
         
            +
            [](https://codeclimate.com/github/jorttbv/jortt-ruby)
         
     | 
| 
      
 9 
     | 
    
         
            +
            [](https://coveralls.io/r/jorttbv/jortt-ruby)
         
     | 
| 
      
 12 
     | 
    
         
            +
            [](https://travis-ci.org/jorttbv/jortt-ruby)
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            A Ruby interface to the [Jortt](https://www.jortt.nl/) REST API.
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ## Usage
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            Note: The client is still called Freemle for historic reasons. Name change on its way...
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            To create a freemle client:
         
     | 
| 
      
 23 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 24 
     | 
    
         
            +
            freemle = Freemle.client(
         
     | 
| 
      
 25 
     | 
    
         
            +
              app_name: "application-name-as-chosen-on-jortt.nl",
         
     | 
| 
      
 26 
     | 
    
         
            +
              api_key: "api-key-as-provided-by-jortt.nl"
         
     | 
| 
      
 27 
     | 
    
         
            +
            )
         
     | 
| 
      
 28 
     | 
    
         
            +
            ```
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            ### Customers
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            Accessing customers (`freemle.customers.search('Jortt')`) returns:
         
     | 
| 
      
 33 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 34 
     | 
    
         
            +
            [{
         
     | 
| 
      
 35 
     | 
    
         
            +
              company_name: 'Jortt',
         
     | 
| 
      
 36 
     | 
    
         
            +
              address: {
         
     | 
| 
      
 37 
     | 
    
         
            +
                street: "Transistorstraat 71C",
         
     | 
| 
      
 38 
     | 
    
         
            +
                postal_code: "1322 CK",
         
     | 
| 
      
 39 
     | 
    
         
            +
                city: "Almere",
         
     | 
| 
      
 40 
     | 
    
         
            +
                country_code: "NL"
         
     | 
| 
      
 41 
     | 
    
         
            +
              }
         
     | 
| 
      
 42 
     | 
    
         
            +
            },
         
     | 
| 
      
 43 
     | 
    
         
            +
              company_name: 'ttroj',
         
     | 
| 
      
 44 
     | 
    
         
            +
              address: {
         
     | 
| 
      
 45 
     | 
    
         
            +
                street: "Jorttweg",
         
     | 
| 
      
 46 
     | 
    
         
            +
                ...
         
     | 
| 
      
 47 
     | 
    
         
            +
              }
         
     | 
| 
      
 48 
     | 
    
         
            +
            }]
         
     | 
| 
      
 49 
     | 
    
         
            +
            ```
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            Adding customers:
         
     | 
| 
      
 52 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 53 
     | 
    
         
            +
            freemle.customers.create(
         
     | 
| 
      
 54 
     | 
    
         
            +
              company_name: "Jortt B.V.",
         
     | 
| 
      
 55 
     | 
    
         
            +
              attn: "Vibiemme", # Optional
         
     | 
| 
      
 56 
     | 
    
         
            +
              extra_information: "The best cofee maker!", # Optional
         
     | 
| 
      
 57 
     | 
    
         
            +
              address: {
         
     | 
| 
      
 58 
     | 
    
         
            +
                street: "Transistorstraat 71C",
         
     | 
| 
      
 59 
     | 
    
         
            +
                postal_code: "1322 CK",
         
     | 
| 
      
 60 
     | 
    
         
            +
                city: "Almere",
         
     | 
| 
      
 61 
     | 
    
         
            +
                country_code: "NL"
         
     | 
| 
      
 62 
     | 
    
         
            +
              }
         
     | 
| 
      
 63 
     | 
    
         
            +
            )
         
     | 
| 
      
 64 
     | 
    
         
            +
            ```
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            ### Invoices
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
            Adding invoices:
         
     | 
| 
      
 69 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 70 
     | 
    
         
            +
            freemle.invoices.create(
         
     | 
| 
      
 71 
     | 
    
         
            +
              customer_id: "123456789", # Optional
         
     | 
| 
      
 72 
     | 
    
         
            +
              delivery_period: "31-12-1234", # Optional
         
     | 
| 
      
 73 
     | 
    
         
            +
              reference: "my-reference", # Optional
         
     | 
| 
      
 74 
     | 
    
         
            +
              line_items: [
         
     | 
| 
      
 75 
     | 
    
         
            +
                {vat: 21, amount: 1359.50, quantity: 1, description: "Scrum Training"}
         
     | 
| 
      
 76 
     | 
    
         
            +
              ]
         
     | 
| 
      
 77 
     | 
    
         
            +
            )
         
     | 
| 
      
 78 
     | 
    
         
            +
            ```
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
            ## Documentation
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
            Check https://app.jortt.nl/api-documentatie for more info.
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            ## Development
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
            ### Running tests
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            `bundle install` and then `rake spec` or `rspec spec`.
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            ### Building the gem
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            `rake build` and then `rake install` to test it locally (`irb` followed
         
     | 
| 
      
 93 
     | 
    
         
            +
            by `require 'freemle/client'` and do your stuff).
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
            ### Releasing the gem
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
            Make a fix, commit and push. Make sure the build is green. Then bump the
         
     | 
| 
      
 98 
     | 
    
         
            +
            version (edit `lib/freemle/client/version.rb`). Now `rake release` and follow
         
     | 
| 
      
 99 
     | 
    
         
            +
            the instructions (you need a rubygems.org account and permissions ;-)).
         
     | 
    
        data/Rakefile
    ADDED
    
    
    
        data/jortt.gemspec
    ADDED
    
    | 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # coding: utf-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            lib = File.expand_path('../lib', __FILE__)
         
     | 
| 
      
 3 
     | 
    
         
            +
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'freemle/client/version'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            Gem::Specification.new do |spec|
         
     | 
| 
      
 7 
     | 
    
         
            +
              spec.name          = 'jortt'
         
     | 
| 
      
 8 
     | 
    
         
            +
              spec.version       = Freemle::Client::VERSION
         
     | 
| 
      
 9 
     | 
    
         
            +
              spec.authors       = ['Bob Forma', 'Steven Weller', 'Lars Vonk']
         
     | 
| 
      
 10 
     | 
    
         
            +
              spec.email         = %w(bforma@zilverline.com suweller@zilverline.com lvonk@zilverline.com)
         
     | 
| 
      
 11 
     | 
    
         
            +
              spec.summary       = 'jortt.nl REST API client'
         
     | 
| 
      
 12 
     | 
    
         
            +
              spec.homepage      = 'https://www.jortt.nl/api-documentatie'
         
     | 
| 
      
 13 
     | 
    
         
            +
              spec.license       = 'MIT'
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              spec.files         = `git ls-files -z`.split("\x0")
         
     | 
| 
      
 16 
     | 
    
         
            +
              spec.executables   = spec.files.grep(%r{^exec/}) { |f| File.basename(f) }
         
     | 
| 
      
 17 
     | 
    
         
            +
              spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
      
 18 
     | 
    
         
            +
              spec.require_paths = ['lib']
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              spec.add_runtime_dependency 'rest-client', '~> 1.6'
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              spec.add_development_dependency 'bundler', '~> 1.0'
         
     | 
| 
      
 23 
     | 
    
         
            +
              spec.add_development_dependency 'coveralls', '~> 0.7'
         
     | 
| 
      
 24 
     | 
    
         
            +
              spec.add_development_dependency 'rake', '~> 10.0'
         
     | 
| 
      
 25 
     | 
    
         
            +
              spec.add_development_dependency 'rspec', '~> 2.14'
         
     | 
| 
      
 26 
     | 
    
         
            +
              spec.add_development_dependency 'webmock', '~> 1.17'
         
     | 
| 
      
 27 
     | 
    
         
            +
              spec.add_development_dependency 'rubocop', '~> 0.24.1'
         
     | 
| 
      
 28 
     | 
    
         
            +
              spec.add_development_dependency 'rubocop-rspec', '~> 1.1.0'
         
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/freemle.rb
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: UTF-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'freemle/client'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'freemle/client/version'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            ##
         
     | 
| 
      
 6 
     | 
    
         
            +
            # This module contains everything needed to setup a connection to the Freemle
         
     | 
| 
      
 7 
     | 
    
         
            +
            # API. It's only method returns a configured Freemle::Client.
         
     | 
| 
      
 8 
     | 
    
         
            +
            module Freemle
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              # Convenient way to initialize a freemle client.
         
     | 
| 
      
 11 
     | 
    
         
            +
              #
         
     | 
| 
      
 12 
     | 
    
         
            +
              # @see {Freemle::Client.initialize}
         
     | 
| 
      
 13 
     | 
    
         
            +
              #
         
     | 
| 
      
 14 
     | 
    
         
            +
              # @return [ Freemle::Client ] a new freemle client instance
         
     | 
| 
      
 15 
     | 
    
         
            +
              #
         
     | 
| 
      
 16 
     | 
    
         
            +
              # @since 1.0.1
         
     | 
| 
      
 17 
     | 
    
         
            +
              def client(*args)
         
     | 
| 
      
 18 
     | 
    
         
            +
                Freemle::Client.new(*args)
         
     | 
| 
      
 19 
     | 
    
         
            +
              end
         
     | 
| 
      
 20 
     | 
    
         
            +
              module_function :client
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,69 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: UTF-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'freemle/client/resource'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Freemle
         
     | 
| 
      
 5 
     | 
    
         
            +
              ##
         
     | 
| 
      
 6 
     | 
    
         
            +
              # This class is the main interface used to communicate with the Freemle API.
         
     | 
| 
      
 7 
     | 
    
         
            +
              # It is by the {Freemle} module to create configured instances.
         
     | 
| 
      
 8 
     | 
    
         
            +
              class Client
         
     | 
| 
      
 9 
     | 
    
         
            +
                BASE_URL = 'https://www.freemle.com/api'
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                attr_accessor :base_url, :app_name, :api_key
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                # Initialize a Freemle client.
         
     | 
| 
      
 14 
     | 
    
         
            +
                #
         
     | 
| 
      
 15 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 16 
     | 
    
         
            +
                #   Freemle::Client.new(
         
     | 
| 
      
 17 
     | 
    
         
            +
                #     app_name: <application-name, chosen in freemle.com>
         
     | 
| 
      
 18 
     | 
    
         
            +
                #     api_key: <api-key, as provided by freemle.com>
         
     | 
| 
      
 19 
     | 
    
         
            +
                #   )
         
     | 
| 
      
 20 
     | 
    
         
            +
                #
         
     | 
| 
      
 21 
     | 
    
         
            +
                # @params [ Hash ] opts Options for the client,
         
     | 
| 
      
 22 
     | 
    
         
            +
                #   optionally including base_url.
         
     | 
| 
      
 23 
     | 
    
         
            +
                #
         
     | 
| 
      
 24 
     | 
    
         
            +
                # @return [ Freemle::Client ]
         
     | 
| 
      
 25 
     | 
    
         
            +
                #
         
     | 
| 
      
 26 
     | 
    
         
            +
                # @since 1.0.0
         
     | 
| 
      
 27 
     | 
    
         
            +
                def initialize(opts)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  self.base_url = opts.fetch(:base_url, BASE_URL)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  self.app_name = opts.fetch(:app_name)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  self.api_key = opts.fetch(:api_key)
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                # Access the customer resource.
         
     | 
| 
      
 34 
     | 
    
         
            +
                #
         
     | 
| 
      
 35 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 36 
     | 
    
         
            +
                #   client.customers
         
     | 
| 
      
 37 
     | 
    
         
            +
                #
         
     | 
| 
      
 38 
     | 
    
         
            +
                # @return [ Freemle::Client::Resource ] entry to the customer resource.
         
     | 
| 
      
 39 
     | 
    
         
            +
                #
         
     | 
| 
      
 40 
     | 
    
         
            +
                # @since 1.0.0
         
     | 
| 
      
 41 
     | 
    
         
            +
                def customers
         
     | 
| 
      
 42 
     | 
    
         
            +
                  @customers ||= new_resource(self, :customer, :customers)
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                # Access the invoice resource.
         
     | 
| 
      
 46 
     | 
    
         
            +
                #
         
     | 
| 
      
 47 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 48 
     | 
    
         
            +
                #   client.invoices
         
     | 
| 
      
 49 
     | 
    
         
            +
                #
         
     | 
| 
      
 50 
     | 
    
         
            +
                # @return [ Freemle::Client::Resource ] entry to the invoice resource.
         
     | 
| 
      
 51 
     | 
    
         
            +
                #
         
     | 
| 
      
 52 
     | 
    
         
            +
                # @since 1.0.0
         
     | 
| 
      
 53 
     | 
    
         
            +
                def invoices
         
     | 
| 
      
 54 
     | 
    
         
            +
                  @invoices ||= new_resource(self, :invoice, :invoices)
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
              private
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                # Creates a freemle client resource based on the passed configuration
         
     | 
| 
      
 60 
     | 
    
         
            +
                #
         
     | 
| 
      
 61 
     | 
    
         
            +
                # @return [ Freemle::Client::Resource ] entry to a resource.
         
     | 
| 
      
 62 
     | 
    
         
            +
                #
         
     | 
| 
      
 63 
     | 
    
         
            +
                # @since 1.0.1
         
     | 
| 
      
 64 
     | 
    
         
            +
                def new_resource(*args)
         
     | 
| 
      
 65 
     | 
    
         
            +
                  Freemle::Client::Resource.new(*args)
         
     | 
| 
      
 66 
     | 
    
         
            +
                end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
              end
         
     | 
| 
      
 69 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,140 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: UTF-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'rest-client'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module Freemle # :nodoc:
         
     | 
| 
      
 5 
     | 
    
         
            +
              class Client # :nodoc:
         
     | 
| 
      
 6 
     | 
    
         
            +
                ##
         
     | 
| 
      
 7 
     | 
    
         
            +
                # This class is used by {Freemle::Client} internally.
         
     | 
| 
      
 8 
     | 
    
         
            +
                # It wraps rest API calls of a single resource,
         
     | 
| 
      
 9 
     | 
    
         
            +
                # so they can easily be used using the client DSL.
         
     | 
| 
      
 10 
     | 
    
         
            +
                #
         
     | 
| 
      
 11 
     | 
    
         
            +
                # @see { Freemle::Client.customer }
         
     | 
| 
      
 12 
     | 
    
         
            +
                class Resource
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  # Details needed to connect to this resource, see
         
     | 
| 
      
 15 
     | 
    
         
            +
                  # +Freemle::Client#initialize+
         
     | 
| 
      
 16 
     | 
    
         
            +
                  #
         
     | 
| 
      
 17 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 18 
     | 
    
         
            +
                  attr_accessor :config
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  # The singular form, posted to and returned when describing
         
     | 
| 
      
 21 
     | 
    
         
            +
                  # a single member of this resource.
         
     | 
| 
      
 22 
     | 
    
         
            +
                  #
         
     | 
| 
      
 23 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 24 
     | 
    
         
            +
                  attr_accessor :singular
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                  # Used to describe multiple members of this resource.
         
     | 
| 
      
 27 
     | 
    
         
            +
                  #
         
     | 
| 
      
 28 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 29 
     | 
    
         
            +
                  attr_accessor :plural
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                  # Creates a new resource instance.
         
     | 
| 
      
 32 
     | 
    
         
            +
                  #
         
     | 
| 
      
 33 
     | 
    
         
            +
                  # @see { Freemle::Client#new_resource }
         
     | 
| 
      
 34 
     | 
    
         
            +
                  #
         
     | 
| 
      
 35 
     | 
    
         
            +
                  # @returns [ Freemle::Client::Resource ] bound to the resource
         
     | 
| 
      
 36 
     | 
    
         
            +
                  # defined by +singular+ & +plural+
         
     | 
| 
      
 37 
     | 
    
         
            +
                  #
         
     | 
| 
      
 38 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 39 
     | 
    
         
            +
                  def initialize(config, singular, plural)
         
     | 
| 
      
 40 
     | 
    
         
            +
                    self.config = config
         
     | 
| 
      
 41 
     | 
    
         
            +
                    self.singular = singular
         
     | 
| 
      
 42 
     | 
    
         
            +
                    self.plural = plural
         
     | 
| 
      
 43 
     | 
    
         
            +
                  end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  # Performs a search on this resource, given a query.
         
     | 
| 
      
 46 
     | 
    
         
            +
                  #
         
     | 
| 
      
 47 
     | 
    
         
            +
                  # @example
         
     | 
| 
      
 48 
     | 
    
         
            +
                  #   customers.search('Zilverline')
         
     | 
| 
      
 49 
     | 
    
         
            +
                  #
         
     | 
| 
      
 50 
     | 
    
         
            +
                  # @example
         
     | 
| 
      
 51 
     | 
    
         
            +
                  #   customers.search('Zilverline') do |response|
         
     | 
| 
      
 52 
     | 
    
         
            +
                  #     # Roll your own response handler
         
     | 
| 
      
 53 
     | 
    
         
            +
                  #   end
         
     | 
| 
      
 54 
     | 
    
         
            +
                  #
         
     | 
| 
      
 55 
     | 
    
         
            +
                  # @param [ Hash ] query A hash containing the fields to search for.
         
     | 
| 
      
 56 
     | 
    
         
            +
                  # @param [ Proc ] block A custom response handler.
         
     | 
| 
      
 57 
     | 
    
         
            +
                  #
         
     | 
| 
      
 58 
     | 
    
         
            +
                  # @return [ Array<Hash> ] By default, a JSON parsed response body.
         
     | 
| 
      
 59 
     | 
    
         
            +
                  #
         
     | 
| 
      
 60 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 61 
     | 
    
         
            +
                  def search(query, &block)
         
     | 
| 
      
 62 
     | 
    
         
            +
                    block = default_handler unless block_given?
         
     | 
| 
      
 63 
     | 
    
         
            +
                    request.get(params: {query: query}, &block)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                  # Persists a resource on freemle.com, given a payload.
         
     | 
| 
      
 67 
     | 
    
         
            +
                  #
         
     | 
| 
      
 68 
     | 
    
         
            +
                  # @example
         
     | 
| 
      
 69 
     | 
    
         
            +
                  #   customers.create(
         
     | 
| 
      
 70 
     | 
    
         
            +
                  #     company_name: "Zilverline B.V.",
         
     | 
| 
      
 71 
     | 
    
         
            +
                  #     address: {
         
     | 
| 
      
 72 
     | 
    
         
            +
                  #       street: "Cruquiusweg 109 F",
         
     | 
| 
      
 73 
     | 
    
         
            +
                  #       postal_code: "1019 AG",
         
     | 
| 
      
 74 
     | 
    
         
            +
                  #       city: "Amsterdam",
         
     | 
| 
      
 75 
     | 
    
         
            +
                  #       country_code: "NL"
         
     | 
| 
      
 76 
     | 
    
         
            +
                  #     }
         
     | 
| 
      
 77 
     | 
    
         
            +
                  #   )
         
     | 
| 
      
 78 
     | 
    
         
            +
                  #
         
     | 
| 
      
 79 
     | 
    
         
            +
                  # @example
         
     | 
| 
      
 80 
     | 
    
         
            +
                  #   customers.create(
         
     | 
| 
      
 81 
     | 
    
         
            +
                  #     company_name: "Zilverline B.V.",
         
     | 
| 
      
 82 
     | 
    
         
            +
                  #     address: {
         
     | 
| 
      
 83 
     | 
    
         
            +
                  #       street: "Cruquiusweg 109 F",
         
     | 
| 
      
 84 
     | 
    
         
            +
                  #       postal_code: "1019 AG",
         
     | 
| 
      
 85 
     | 
    
         
            +
                  #       city: "Amsterdam",
         
     | 
| 
      
 86 
     | 
    
         
            +
                  #       country_code: "NL"
         
     | 
| 
      
 87 
     | 
    
         
            +
                  #     }
         
     | 
| 
      
 88 
     | 
    
         
            +
                  #   ) do |response|
         
     | 
| 
      
 89 
     | 
    
         
            +
                  #     # Roll your own response handler
         
     | 
| 
      
 90 
     | 
    
         
            +
                  #   end
         
     | 
| 
      
 91 
     | 
    
         
            +
                  #
         
     | 
| 
      
 92 
     | 
    
         
            +
                  # @param [ Hash ] payload A hash containing the fields to set.
         
     | 
| 
      
 93 
     | 
    
         
            +
                  # @param [ Proc ] block A custom response handler.
         
     | 
| 
      
 94 
     | 
    
         
            +
                  #
         
     | 
| 
      
 95 
     | 
    
         
            +
                  # @return [ Hash ] By default, a JSON parsed response body.
         
     | 
| 
      
 96 
     | 
    
         
            +
                  #
         
     | 
| 
      
 97 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 98 
     | 
    
         
            +
                  def create(payload, &block)
         
     | 
| 
      
 99 
     | 
    
         
            +
                    block = default_handler unless block_given?
         
     | 
| 
      
 100 
     | 
    
         
            +
                    request.post(json.generate(singular => payload), &block)
         
     | 
| 
      
 101 
     | 
    
         
            +
                  end
         
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
                private
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                  # Returns a response handler, which parses the response body as JSON.
         
     | 
| 
      
 106 
     | 
    
         
            +
                  #
         
     | 
| 
      
 107 
     | 
    
         
            +
                  # @return [ Proc ] Default response handler.
         
     | 
| 
      
 108 
     | 
    
         
            +
                  #
         
     | 
| 
      
 109 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 110 
     | 
    
         
            +
                  def default_handler
         
     | 
| 
      
 111 
     | 
    
         
            +
                    proc { |response| json.parse(response.body) }
         
     | 
| 
      
 112 
     | 
    
         
            +
                  end
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
                  # Returns a new request handler for this resource.
         
     | 
| 
      
 115 
     | 
    
         
            +
                  #
         
     | 
| 
      
 116 
     | 
    
         
            +
                  # @return [ RestClient::Resource ] A request handler.
         
     | 
| 
      
 117 
     | 
    
         
            +
                  #
         
     | 
| 
      
 118 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 119 
     | 
    
         
            +
                  def request
         
     | 
| 
      
 120 
     | 
    
         
            +
                    RestClient::Resource.new(
         
     | 
| 
      
 121 
     | 
    
         
            +
                      "#{config.base_url}/#{plural}",
         
     | 
| 
      
 122 
     | 
    
         
            +
                      user: config.app_name,
         
     | 
| 
      
 123 
     | 
    
         
            +
                      password: config.api_key,
         
     | 
| 
      
 124 
     | 
    
         
            +
                    )
         
     | 
| 
      
 125 
     | 
    
         
            +
                  end
         
     | 
| 
      
 126 
     | 
    
         
            +
             
     | 
| 
      
 127 
     | 
    
         
            +
                  # Returns the JSON library used in request/default-response handling.
         
     | 
| 
      
 128 
     | 
    
         
            +
                  #
         
     | 
| 
      
 129 
     | 
    
         
            +
                  # @return [ Class ] A JSON library.
         
     | 
| 
      
 130 
     | 
    
         
            +
                  #
         
     | 
| 
      
 131 
     | 
    
         
            +
                  # @since 1.0.0
         
     | 
| 
      
 132 
     | 
    
         
            +
                  def json
         
     | 
| 
      
 133 
     | 
    
         
            +
                    return @json if @json
         
     | 
| 
      
 134 
     | 
    
         
            +
                    require 'json'
         
     | 
| 
      
 135 
     | 
    
         
            +
                    @json = JSON
         
     | 
| 
      
 136 
     | 
    
         
            +
                  end
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
                end
         
     | 
| 
      
 139 
     | 
    
         
            +
              end
         
     | 
| 
      
 140 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: UTF-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            describe Freemle::Client::Resource do
         
     | 
| 
      
 5 
     | 
    
         
            +
              let(:resource) do
         
     | 
| 
      
 6 
     | 
    
         
            +
                described_class.new(
         
     | 
| 
      
 7 
     | 
    
         
            +
                  double('client', base_url: 'foo', app_name: 'app', api_key: 'secret'),
         
     | 
| 
      
 8 
     | 
    
         
            +
                  :person,
         
     | 
| 
      
 9 
     | 
    
         
            +
                  :people,
         
     | 
| 
      
 10 
     | 
    
         
            +
                )
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              describe '#search' do
         
     | 
| 
      
 14 
     | 
    
         
            +
                subject { resource.search('terms') }
         
     | 
| 
      
 15 
     | 
    
         
            +
                before do
         
     | 
| 
      
 16 
     | 
    
         
            +
                  stub_request(:get, 'http://app:secret@foo/people?query=terms').
         
     | 
| 
      
 17 
     | 
    
         
            +
                    to_return(status: 200, body: '{"people": []}')
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
                it { should eq('people' => []) }
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              describe '#create' do
         
     | 
| 
      
 23 
     | 
    
         
            +
                subject { resource.create(foo: :bar) }
         
     | 
| 
      
 24 
     | 
    
         
            +
                before do
         
     | 
| 
      
 25 
     | 
    
         
            +
                  stub_request(:post, 'http://app:secret@foo/people').
         
     | 
| 
      
 26 
     | 
    
         
            +
                    with(body: '{"person":{"foo":"bar"}}').
         
     | 
| 
      
 27 
     | 
    
         
            +
                    to_return(status: 201, body: '{"person_id": "123"}')
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
                it { should eq('person_id' => '123') }
         
     | 
| 
      
 30 
     | 
    
         
            +
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,43 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: UTF-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            describe Freemle::Client do
         
     | 
| 
      
 5 
     | 
    
         
            +
              describe '#initialize' do
         
     | 
| 
      
 6 
     | 
    
         
            +
                subject { described_class.new(opts) }
         
     | 
| 
      
 7 
     | 
    
         
            +
                let(:opts) { {} }
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                specify { expect { subject }.to raise_error(KeyError) }
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                context 'given app_name' do
         
     | 
| 
      
 12 
     | 
    
         
            +
                  before { opts[:app_name] = 'name' }
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  specify { expect { subject }.to raise_error(KeyError) }
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  context 'and api_key' do
         
     | 
| 
      
 17 
     | 
    
         
            +
                    before { opts[:api_key] = 'secret' }
         
     | 
| 
      
 18 
     | 
    
         
            +
                    it { should be_instance_of(described_class) }
         
     | 
| 
      
 19 
     | 
    
         
            +
                    its(:base_url) { should eq(described_class::BASE_URL) }
         
     | 
| 
      
 20 
     | 
    
         
            +
                    its(:app_name) { should eq('name') }
         
     | 
| 
      
 21 
     | 
    
         
            +
                    its(:api_key) { should eq('secret') }
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
              context 'configured' do
         
     | 
| 
      
 27 
     | 
    
         
            +
                let(:client) { described_class.new(app_name: 'app', api_key: 'secret') }
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                describe '#customers' do
         
     | 
| 
      
 30 
     | 
    
         
            +
                  subject { client.customers }
         
     | 
| 
      
 31 
     | 
    
         
            +
                  it { should be_instance_of(described_class::Resource) }
         
     | 
| 
      
 32 
     | 
    
         
            +
                  its(:singular) { should eq(:customer) }
         
     | 
| 
      
 33 
     | 
    
         
            +
                  its(:plural) { should eq(:customers) }
         
     | 
| 
      
 34 
     | 
    
         
            +
                end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                describe '#invoices' do
         
     | 
| 
      
 37 
     | 
    
         
            +
                  subject { client.invoices }
         
     | 
| 
      
 38 
     | 
    
         
            +
                  it { should be_instance_of(described_class::Resource) }
         
     | 
| 
      
 39 
     | 
    
         
            +
                  its(:singular) { should eq(:invoice) }
         
     | 
| 
      
 40 
     | 
    
         
            +
                  its(:plural) { should eq(:invoices) }
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/spec_helper.rb
    ADDED
    
    | 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: UTF-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'simplecov'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'coveralls'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
         
     | 
| 
      
 6 
     | 
    
         
            +
              SimpleCov::Formatter::HTMLFormatter,
         
     | 
| 
      
 7 
     | 
    
         
            +
              Coveralls::SimpleCov::Formatter
         
     | 
| 
      
 8 
     | 
    
         
            +
            ]
         
     | 
| 
      
 9 
     | 
    
         
            +
            SimpleCov.start
         
     | 
| 
      
 10 
     | 
    
         
            +
            # Coveralls.wear!
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            require 'rspec'
         
     | 
| 
      
 13 
     | 
    
         
            +
            require 'webmock/rspec'
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            require 'freemle'
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,181 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: jortt
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.0
         
     | 
| 
      
 5 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 6 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 7 
     | 
    
         
            +
            - Bob Forma
         
     | 
| 
      
 8 
     | 
    
         
            +
            - Steven Weller
         
     | 
| 
      
 9 
     | 
    
         
            +
            - Lars Vonk
         
     | 
| 
      
 10 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 11 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 12 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2015-08-19 00:00:00.000000000 Z
         
     | 
| 
      
 14 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 15 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 16 
     | 
    
         
            +
              name: rest-client
         
     | 
| 
      
 17 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 18 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 19 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 20 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 21 
     | 
    
         
            +
                    version: '1.6'
         
     | 
| 
      
 22 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 23 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 24 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 25 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 26 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 27 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 28 
     | 
    
         
            +
                    version: '1.6'
         
     | 
| 
      
 29 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 30 
     | 
    
         
            +
              name: bundler
         
     | 
| 
      
 31 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 32 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 33 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 35 
     | 
    
         
            +
                    version: '1.0'
         
     | 
| 
      
 36 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 37 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 38 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 39 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 40 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 41 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 42 
     | 
    
         
            +
                    version: '1.0'
         
     | 
| 
      
 43 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 44 
     | 
    
         
            +
              name: coveralls
         
     | 
| 
      
 45 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 46 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 47 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 48 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 49 
     | 
    
         
            +
                    version: '0.7'
         
     | 
| 
      
 50 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 51 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 52 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 53 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 54 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 55 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 56 
     | 
    
         
            +
                    version: '0.7'
         
     | 
| 
      
 57 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 58 
     | 
    
         
            +
              name: rake
         
     | 
| 
      
 59 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 60 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 61 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 62 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 63 
     | 
    
         
            +
                    version: '10.0'
         
     | 
| 
      
 64 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 65 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 66 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 67 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 68 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 69 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 70 
     | 
    
         
            +
                    version: '10.0'
         
     | 
| 
      
 71 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 72 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 73 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 74 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 75 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 77 
     | 
    
         
            +
                    version: '2.14'
         
     | 
| 
      
 78 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 79 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 80 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 81 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 82 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 83 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 84 
     | 
    
         
            +
                    version: '2.14'
         
     | 
| 
      
 85 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 86 
     | 
    
         
            +
              name: webmock
         
     | 
| 
      
 87 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 88 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 89 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 90 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 91 
     | 
    
         
            +
                    version: '1.17'
         
     | 
| 
      
 92 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 93 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 94 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 95 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 96 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 97 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 98 
     | 
    
         
            +
                    version: '1.17'
         
     | 
| 
      
 99 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 100 
     | 
    
         
            +
              name: rubocop
         
     | 
| 
      
 101 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 102 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 103 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 104 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 105 
     | 
    
         
            +
                    version: 0.24.1
         
     | 
| 
      
 106 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 107 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 108 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 109 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 110 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 111 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 112 
     | 
    
         
            +
                    version: 0.24.1
         
     | 
| 
      
 113 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 114 
     | 
    
         
            +
              name: rubocop-rspec
         
     | 
| 
      
 115 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 116 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 117 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 118 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 119 
     | 
    
         
            +
                    version: 1.1.0
         
     | 
| 
      
 120 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 121 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 122 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 123 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 124 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 125 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 126 
     | 
    
         
            +
                    version: 1.1.0
         
     | 
| 
      
 127 
     | 
    
         
            +
            description: 
         
     | 
| 
      
 128 
     | 
    
         
            +
            email:
         
     | 
| 
      
 129 
     | 
    
         
            +
            - bforma@zilverline.com
         
     | 
| 
      
 130 
     | 
    
         
            +
            - suweller@zilverline.com
         
     | 
| 
      
 131 
     | 
    
         
            +
            - lvonk@zilverline.com
         
     | 
| 
      
 132 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 133 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 134 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 135 
     | 
    
         
            +
            files:
         
     | 
| 
      
 136 
     | 
    
         
            +
            - ".gitignore"
         
     | 
| 
      
 137 
     | 
    
         
            +
            - ".rubocop.yml"
         
     | 
| 
      
 138 
     | 
    
         
            +
            - ".ruby-version"
         
     | 
| 
      
 139 
     | 
    
         
            +
            - ".travis.yml"
         
     | 
| 
      
 140 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
      
 141 
     | 
    
         
            +
            - LICENSE.txt
         
     | 
| 
      
 142 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 143 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
      
 144 
     | 
    
         
            +
            - jortt.gemspec
         
     | 
| 
      
 145 
     | 
    
         
            +
            - lib/freemle.rb
         
     | 
| 
      
 146 
     | 
    
         
            +
            - lib/freemle/client.rb
         
     | 
| 
      
 147 
     | 
    
         
            +
            - lib/freemle/client/resource.rb
         
     | 
| 
      
 148 
     | 
    
         
            +
            - lib/freemle/client/version.rb
         
     | 
| 
      
 149 
     | 
    
         
            +
            - spec/freemle/client/resource_spec.rb
         
     | 
| 
      
 150 
     | 
    
         
            +
            - spec/freemle/client_spec.rb
         
     | 
| 
      
 151 
     | 
    
         
            +
            - spec/freemle_spec.rb
         
     | 
| 
      
 152 
     | 
    
         
            +
            - spec/spec_helper.rb
         
     | 
| 
      
 153 
     | 
    
         
            +
            homepage: https://www.jortt.nl/api-documentatie
         
     | 
| 
      
 154 
     | 
    
         
            +
            licenses:
         
     | 
| 
      
 155 
     | 
    
         
            +
            - MIT
         
     | 
| 
      
 156 
     | 
    
         
            +
            metadata: {}
         
     | 
| 
      
 157 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 158 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 159 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 160 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 161 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 162 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 163 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 164 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 165 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 166 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 167 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 168 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 169 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 170 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 171 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 172 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 173 
     | 
    
         
            +
            rubygems_version: 2.2.2
         
     | 
| 
      
 174 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 175 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
      
 176 
     | 
    
         
            +
            summary: jortt.nl REST API client
         
     | 
| 
      
 177 
     | 
    
         
            +
            test_files:
         
     | 
| 
      
 178 
     | 
    
         
            +
            - spec/freemle/client/resource_spec.rb
         
     | 
| 
      
 179 
     | 
    
         
            +
            - spec/freemle/client_spec.rb
         
     | 
| 
      
 180 
     | 
    
         
            +
            - spec/freemle_spec.rb
         
     | 
| 
      
 181 
     | 
    
         
            +
            - spec/spec_helper.rb
         
     |