elmas 2.3.3 → 2.4.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/Changelog.md +7 -0
- data/elmas.gemspec +13 -13
- data/lib/elmas/exception.rb +2 -2
- data/lib/elmas/oauth.rb +2 -2
- data/lib/elmas/resources/sales_entry.rb +2 -2
- data/lib/elmas/result_set.rb +7 -2
- data/lib/elmas/uri.rb +6 -1
- data/lib/elmas/version.rb +2 -2
- metadata +27 -27
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9a9ed5ba705a72bd6891dcf22693b1266785c87a
         | 
| 4 | 
            +
              data.tar.gz: 9e096590a3fbcf310c117c0ca80b66564c924d99
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: dd2449651468db6b7dcadc2b32a478903055c7f4f43e4cc9c0ed78803cc2e9a5bb0ac37682f0f920c583fd3864f8a2a6e92f2ce77b6e8ad1f89c3b6f0afdcdca
         | 
| 7 | 
            +
              data.tar.gz: 23773f8506826a87f8ff24b4b2570ee0653e0c441d15fac620597314331408b4446caac447b50829d7144af8f086f9b871e3c4696e609c1f343fbc2870ebceeb
         | 
    
        data/Changelog.md
    CHANGED
    
    | @@ -1,3 +1,10 @@ | |
| 1 | 
            +
            ## 2.4.0
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            - Add security measures for constantizing Exact Resources thanks to @confiks
         | 
| 4 | 
            +
            - Add possibility to filter on Date or Time. Added test for BankEntry. thanks to @confiks
         | 
| 5 | 
            +
            - Custom exception shouldn't inherit Exception. Use StandardError instead. thanks to @confiks
         | 
| 6 | 
            +
            - Let go of unecessary dev dependency versions
         | 
| 7 | 
            +
             | 
| 1 8 | 
             
            ## 2.3.3
         | 
| 2 9 |  | 
| 3 10 | 
             
            - Add bank accounts resource
         | 
    
        data/elmas.gemspec
    CHANGED
    
    | @@ -17,20 +17,20 @@ Gem::Specification.new do |spec| | |
| 17 17 | 
             
              spec.version       = Elmas::Version.to_s
         | 
| 18 18 |  | 
| 19 19 | 
             
              spec.add_dependency "faraday", [">= 0.8", "< 0.10"]
         | 
| 20 | 
            -
              spec.add_dependency "mechanize", "2.6.0"
         | 
| 20 | 
            +
              spec.add_dependency "mechanize", ">= 2.6.0"
         | 
| 21 21 | 
             
              spec.add_dependency "activesupport"
         | 
| 22 22 |  | 
| 23 23 | 
             
              spec.add_development_dependency "bundler"
         | 
| 24 | 
            -
              spec.add_development_dependency "rake" | 
| 25 | 
            -
              spec.add_development_dependency | 
| 26 | 
            -
              spec.add_development_dependency | 
| 27 | 
            -
              spec.add_development_dependency | 
| 28 | 
            -
              spec.add_development_dependency | 
| 29 | 
            -
              spec.add_development_dependency | 
| 30 | 
            -
              spec.add_development_dependency | 
| 31 | 
            -
              spec.add_development_dependency | 
| 32 | 
            -
              spec.add_development_dependency | 
| 33 | 
            -
              spec.add_development_dependency | 
| 34 | 
            -
              spec.add_development_dependency | 
| 35 | 
            -
              spec.add_development_dependency | 
| 24 | 
            +
              spec.add_development_dependency "rake"
         | 
| 25 | 
            +
              spec.add_development_dependency "rspec"
         | 
| 26 | 
            +
              spec.add_development_dependency "simplecov"
         | 
| 27 | 
            +
              spec.add_development_dependency "simplecov-rcov"
         | 
| 28 | 
            +
              spec.add_development_dependency "webmock"
         | 
| 29 | 
            +
              spec.add_development_dependency "rubycritic"
         | 
| 30 | 
            +
              spec.add_development_dependency "guard-rspec"
         | 
| 31 | 
            +
              spec.add_development_dependency "guard-rubocop"
         | 
| 32 | 
            +
              spec.add_development_dependency "listen"
         | 
| 33 | 
            +
              spec.add_development_dependency "ruby_dep"
         | 
| 34 | 
            +
              spec.add_development_dependency "mutant-rspec"
         | 
| 35 | 
            +
              spec.add_development_dependency "dotenv"
         | 
| 36 36 | 
             
            end
         | 
    
        data/lib/elmas/exception.rb
    CHANGED
    
    | @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            module Elmas
         | 
| 2 | 
            -
              class BadRequestException <  | 
| 2 | 
            +
              class BadRequestException < StandardError
         | 
| 3 3 | 
             
                def initialize(response, parsed)
         | 
| 4 4 | 
             
                  @response = response
         | 
| 5 5 | 
             
                  @parsed = parsed
         | 
| @@ -11,5 +11,5 @@ module Elmas | |
| 11 11 | 
             
                end
         | 
| 12 12 | 
             
              end
         | 
| 13 13 |  | 
| 14 | 
            -
              class UnauthorizedException <  | 
| 14 | 
            +
              class UnauthorizedException < StandardError; end
         | 
| 15 15 | 
             
            end
         | 
    
        data/lib/elmas/oauth.rb
    CHANGED
    
    | @@ -48,14 +48,14 @@ module Elmas | |
| 48 48 | 
             
                  options[:response_type] ||= "code"
         | 
| 49 49 | 
             
                  options[:redirect_uri] ||= redirect_uri
         | 
| 50 50 | 
             
                  params = authorization_params.merge(options)
         | 
| 51 | 
            -
                  uri = URI(" | 
| 51 | 
            +
                  uri = URI("#{base_url}/api/oauth2/auth/")
         | 
| 52 52 | 
             
                  uri.query = URI.encode_www_form(params)
         | 
| 53 53 | 
             
                  uri.to_s
         | 
| 54 54 | 
             
                end
         | 
| 55 55 |  | 
| 56 56 | 
             
                # Return an access token from authorization
         | 
| 57 57 | 
             
                def get_access_token(code, _options = {})
         | 
| 58 | 
            -
                  conn = Faraday.new(url:  | 
| 58 | 
            +
                  conn = Faraday.new(url: base_url) do |faraday|
         | 
| 59 59 | 
             
                    faraday.request :url_encoded
         | 
| 60 60 | 
             
                    faraday.adapter Faraday.default_adapter
         | 
| 61 61 | 
             
                  end
         | 
| @@ -9,12 +9,12 @@ module Elmas | |
| 9 9 | 
             
                end
         | 
| 10 10 |  | 
| 11 11 | 
             
                def mandatory_attributes
         | 
| 12 | 
            -
                  [:journal, : | 
| 12 | 
            +
                  [:journal, :customer, :sales_entry_lines]
         | 
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
                def other_attributes
         | 
| 16 16 | 
             
                  [
         | 
| 17 | 
            -
                    :batch_number, :currency, : | 
| 17 | 
            +
                    :batch_number, :currency, :document, :due_date, :entry_date,
         | 
| 18 18 | 
             
                    :entry_number, :invoice_number, :order_number, :payment_condition,
         | 
| 19 19 | 
             
                    :payment_reference, :process_number, :rate, :reporting_period,
         | 
| 20 20 | 
             
                    :reporting_year, :reversal, :VAT_amount_FC, :your_ref, :description
         | 
    
        data/lib/elmas/result_set.rb
    CHANGED
    
    | @@ -44,8 +44,13 @@ module Elmas | |
| 44 44 |  | 
| 45 45 | 
             
                def resource_class
         | 
| 46 46 | 
             
                  @resource_class ||= begin
         | 
| 47 | 
            -
                    constant_name =  | 
| 48 | 
            -
                     | 
| 47 | 
            +
                    constant_name = type.classify
         | 
| 48 | 
            +
                    fail NameError unless constant_name =~ /\A[a-zA-Z0-9]+\z/
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                    klass = Elmas.const_get(constant_name, false)
         | 
| 51 | 
            +
                    fail NameError unless klass.included_modules.include?(Elmas::Resource)
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                    klass
         | 
| 49 54 | 
             
                  rescue NameError
         | 
| 50 55 | 
             
                    Elmas.info("Unknown resource encountered, proceed as usual but further resource details might have to be implemented")
         | 
| 51 56 | 
             
                    Class.new { include Elmas::Resource }
         | 
    
        data/lib/elmas/uri.rb
    CHANGED
    
    | @@ -46,12 +46,17 @@ module Elmas | |
| 46 46 |  | 
| 47 47 | 
             
                  # Convert a value to something usable in an ExactOnline request
         | 
| 48 48 | 
             
                  def sanitize_value(value)
         | 
| 49 | 
            -
                     | 
| 49 | 
            +
                    case value
         | 
| 50 | 
            +
                    when String
         | 
| 50 51 | 
             
                      if value =~ /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
         | 
| 51 52 | 
             
                        "guid'#{value}'"
         | 
| 52 53 | 
             
                      else
         | 
| 53 54 | 
             
                        "'#{value}'"
         | 
| 54 55 | 
             
                      end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                    when Date, Time
         | 
| 58 | 
            +
                      "datetime'#{value.strftime('%FT%TZ')}'"
         | 
| 59 | 
            +
             | 
| 55 60 | 
             
                    else
         | 
| 56 61 | 
             
                      value
         | 
| 57 62 | 
             
                    end
         | 
    
        data/lib/elmas/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: elmas
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Marthyn
         | 
| @@ -34,14 +34,14 @@ dependencies: | |
| 34 34 | 
             
              name: mechanize
         | 
| 35 35 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 36 36 | 
             
                requirements:
         | 
| 37 | 
            -
                - -  | 
| 37 | 
            +
                - - ">="
         | 
| 38 38 | 
             
                  - !ruby/object:Gem::Version
         | 
| 39 39 | 
             
                    version: 2.6.0
         | 
| 40 40 | 
             
              type: :runtime
         | 
| 41 41 | 
             
              prerelease: false
         | 
| 42 42 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 43 43 | 
             
                requirements:
         | 
| 44 | 
            -
                - -  | 
| 44 | 
            +
                - - ">="
         | 
| 45 45 | 
             
                  - !ruby/object:Gem::Version
         | 
| 46 46 | 
             
                    version: 2.6.0
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -76,30 +76,30 @@ dependencies: | |
| 76 76 | 
             
              name: rake
         | 
| 77 77 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 78 78 | 
             
                requirements:
         | 
| 79 | 
            -
                - - " | 
| 79 | 
            +
                - - ">="
         | 
| 80 80 | 
             
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            -
                    version: ' | 
| 81 | 
            +
                    version: '0'
         | 
| 82 82 | 
             
              type: :development
         | 
| 83 83 | 
             
              prerelease: false
         | 
| 84 84 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 85 85 | 
             
                requirements:
         | 
| 86 | 
            -
                - - " | 
| 86 | 
            +
                - - ">="
         | 
| 87 87 | 
             
                  - !ruby/object:Gem::Version
         | 
| 88 | 
            -
                    version: ' | 
| 88 | 
            +
                    version: '0'
         | 
| 89 89 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 90 90 | 
             
              name: rspec
         | 
| 91 91 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 92 92 | 
             
                requirements:
         | 
| 93 | 
            -
                - - " | 
| 93 | 
            +
                - - ">="
         | 
| 94 94 | 
             
                  - !ruby/object:Gem::Version
         | 
| 95 | 
            -
                    version: ' | 
| 95 | 
            +
                    version: '0'
         | 
| 96 96 | 
             
              type: :development
         | 
| 97 97 | 
             
              prerelease: false
         | 
| 98 98 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 99 99 | 
             
                requirements:
         | 
| 100 | 
            -
                - - " | 
| 100 | 
            +
                - - ">="
         | 
| 101 101 | 
             
                  - !ruby/object:Gem::Version
         | 
| 102 | 
            -
                    version: ' | 
| 102 | 
            +
                    version: '0'
         | 
| 103 103 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 104 104 | 
             
              name: simplecov
         | 
| 105 105 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -132,30 +132,30 @@ dependencies: | |
| 132 132 | 
             
              name: webmock
         | 
| 133 133 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 134 134 | 
             
                requirements:
         | 
| 135 | 
            -
                - - " | 
| 135 | 
            +
                - - ">="
         | 
| 136 136 | 
             
                  - !ruby/object:Gem::Version
         | 
| 137 | 
            -
                    version: ' | 
| 137 | 
            +
                    version: '0'
         | 
| 138 138 | 
             
              type: :development
         | 
| 139 139 | 
             
              prerelease: false
         | 
| 140 140 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 141 141 | 
             
                requirements:
         | 
| 142 | 
            -
                - - " | 
| 142 | 
            +
                - - ">="
         | 
| 143 143 | 
             
                  - !ruby/object:Gem::Version
         | 
| 144 | 
            -
                    version: ' | 
| 144 | 
            +
                    version: '0'
         | 
| 145 145 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 146 146 | 
             
              name: rubycritic
         | 
| 147 147 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 148 148 | 
             
                requirements:
         | 
| 149 | 
            -
                - - " | 
| 149 | 
            +
                - - ">="
         | 
| 150 150 | 
             
                  - !ruby/object:Gem::Version
         | 
| 151 | 
            -
                    version:  | 
| 151 | 
            +
                    version: '0'
         | 
| 152 152 | 
             
              type: :development
         | 
| 153 153 | 
             
              prerelease: false
         | 
| 154 154 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 155 155 | 
             
                requirements:
         | 
| 156 | 
            -
                - - " | 
| 156 | 
            +
                - - ">="
         | 
| 157 157 | 
             
                  - !ruby/object:Gem::Version
         | 
| 158 | 
            -
                    version:  | 
| 158 | 
            +
                    version: '0'
         | 
| 159 159 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 160 160 | 
             
              name: guard-rspec
         | 
| 161 161 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -188,30 +188,30 @@ dependencies: | |
| 188 188 | 
             
              name: listen
         | 
| 189 189 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 190 190 | 
             
                requirements:
         | 
| 191 | 
            -
                - - " | 
| 191 | 
            +
                - - ">="
         | 
| 192 192 | 
             
                  - !ruby/object:Gem::Version
         | 
| 193 | 
            -
                    version: ' | 
| 193 | 
            +
                    version: '0'
         | 
| 194 194 | 
             
              type: :development
         | 
| 195 195 | 
             
              prerelease: false
         | 
| 196 196 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 197 197 | 
             
                requirements:
         | 
| 198 | 
            -
                - - " | 
| 198 | 
            +
                - - ">="
         | 
| 199 199 | 
             
                  - !ruby/object:Gem::Version
         | 
| 200 | 
            -
                    version: ' | 
| 200 | 
            +
                    version: '0'
         | 
| 201 201 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 202 202 | 
             
              name: ruby_dep
         | 
| 203 203 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 204 204 | 
             
                requirements:
         | 
| 205 | 
            -
                - - " | 
| 205 | 
            +
                - - ">="
         | 
| 206 206 | 
             
                  - !ruby/object:Gem::Version
         | 
| 207 | 
            -
                    version: ' | 
| 207 | 
            +
                    version: '0'
         | 
| 208 208 | 
             
              type: :development
         | 
| 209 209 | 
             
              prerelease: false
         | 
| 210 210 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 211 211 | 
             
                requirements:
         | 
| 212 | 
            -
                - - " | 
| 212 | 
            +
                - - ">="
         | 
| 213 213 | 
             
                  - !ruby/object:Gem::Version
         | 
| 214 | 
            -
                    version: ' | 
| 214 | 
            +
                    version: '0'
         | 
| 215 215 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 216 216 | 
             
              name: mutant-rspec
         | 
| 217 217 | 
             
              requirement: !ruby/object:Gem::Requirement
         |