fountain-papi 0.1.0 → 1.1.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/.rubocop.yml +7 -1
- data/CHANGELOG.md +3 -1
- data/Gemfile.lock +23 -22
- data/lib/fountain/papi/applicant/create_status.rb +7 -4
- data/lib/fountain/papi/applicant/status.rb +6 -1
- data/lib/fountain/papi/client.rb +2 -0
- data/lib/fountain/papi/config.rb +5 -7
- data/lib/fountain/papi/types.rb +4 -2
- data/lib/fountain/papi/version.rb +1 -1
- metadata +14 -14
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5922f36b8eece478e88c52bfc74d645f47d3734008adbbb4a063ebdc18b46c32
         | 
| 4 | 
            +
              data.tar.gz: 9a6c3c26b49a8ad0a842148de810bd98cadb37b85f93af0c917f116f557b699f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a418e9f11b7c55acdb0ce630dff19be1b578363f78581190870909d86f10df516cc7aeacda3260aa78740f90e6dfea1c30003569d6c21a641c7db7553fdabe2b
         | 
| 7 | 
            +
              data.tar.gz: 409ff8ed87947e966b55cf1e257da01816b8ba0f3da1570e6c04d3411bf323c692c4d1c7699045d587acd4789b5959cb0a265e338976414a6f9f2f886700261b
         | 
    
        data/.rubocop.yml
    CHANGED
    
    | @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            AllCops:
         | 
| 2 | 
            -
              TargetRubyVersion:  | 
| 2 | 
            +
              TargetRubyVersion: 3.0
         | 
| 3 3 |  | 
| 4 4 | 
             
            Style/StringLiterals:
         | 
| 5 5 | 
             
              Enabled: true
         | 
| @@ -11,3 +11,9 @@ Style/StringLiteralsInInterpolation: | |
| 11 11 |  | 
| 12 12 | 
             
            Layout/LineLength:
         | 
| 13 13 | 
             
              Max: 120
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            Metrics/BlockLength:
         | 
| 16 | 
            +
              Enabled: false
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            Style/Documentation:
         | 
| 19 | 
            +
              Enabled: false
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                fountain-papi ( | 
| 4 | 
            +
                fountain-papi (1.1.0)
         | 
| 5 5 | 
             
                  dry-struct (~> 1.4)
         | 
| 6 6 | 
             
                  httparty (~> 0.20.0)
         | 
| 7 7 |  | 
| @@ -12,32 +12,29 @@ GEM | |
| 12 12 | 
             
                  public_suffix (>= 2.0.2, < 5.0)
         | 
| 13 13 | 
             
                ast (2.4.2)
         | 
| 14 14 | 
             
                coderay (1.1.3)
         | 
| 15 | 
            -
                concurrent-ruby (1. | 
| 15 | 
            +
                concurrent-ruby (1.2.2)
         | 
| 16 16 | 
             
                crack (0.4.5)
         | 
| 17 17 | 
             
                  rexml
         | 
| 18 18 | 
             
                diff-lcs (1.5.0)
         | 
| 19 | 
            -
                dry- | 
| 19 | 
            +
                dry-core (1.0.0)
         | 
| 20 20 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 21 | 
            -
                   | 
| 22 | 
            -
                dry- | 
| 21 | 
            +
                  zeitwerk (~> 2.6)
         | 
| 22 | 
            +
                dry-inflector (1.0.0)
         | 
| 23 | 
            +
                dry-logic (1.5.0)
         | 
| 23 24 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 24 | 
            -
                  dry- | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
                  concurrent-ruby (~> 1.0)
         | 
| 30 | 
            -
                  dry-core (~> 0.5, >= 0.5)
         | 
| 31 | 
            -
                dry-struct (1.4.0)
         | 
| 32 | 
            -
                  dry-core (~> 0.5, >= 0.5)
         | 
| 33 | 
            -
                  dry-types (~> 1.5)
         | 
| 25 | 
            +
                  dry-core (~> 1.0, < 2)
         | 
| 26 | 
            +
                  zeitwerk (~> 2.6)
         | 
| 27 | 
            +
                dry-struct (1.6.0)
         | 
| 28 | 
            +
                  dry-core (~> 1.0, < 2)
         | 
| 29 | 
            +
                  dry-types (>= 1.7, < 2)
         | 
| 34 30 | 
             
                  ice_nine (~> 0.11)
         | 
| 35 | 
            -
             | 
| 31 | 
            +
                  zeitwerk (~> 2.6)
         | 
| 32 | 
            +
                dry-types (1.7.1)
         | 
| 36 33 | 
             
                  concurrent-ruby (~> 1.0)
         | 
| 37 | 
            -
                  dry- | 
| 38 | 
            -
                  dry- | 
| 39 | 
            -
                  dry- | 
| 40 | 
            -
                   | 
| 34 | 
            +
                  dry-core (~> 1.0)
         | 
| 35 | 
            +
                  dry-inflector (~> 1.0)
         | 
| 36 | 
            +
                  dry-logic (~> 1.4)
         | 
| 37 | 
            +
                  zeitwerk (~> 2.6)
         | 
| 41 38 | 
             
                hashdiff (1.0.1)
         | 
| 42 39 | 
             
                httparty (0.20.0)
         | 
| 43 40 | 
             
                  mime-types (~> 3.0)
         | 
| @@ -46,7 +43,7 @@ GEM | |
| 46 43 | 
             
                method_source (1.0.0)
         | 
| 47 44 | 
             
                mime-types (3.4.1)
         | 
| 48 45 | 
             
                  mime-types-data (~> 3.2015)
         | 
| 49 | 
            -
                mime-types-data (3. | 
| 46 | 
            +
                mime-types-data (3.2023.0218.1)
         | 
| 50 47 | 
             
                multi_xml (0.6.0)
         | 
| 51 48 | 
             
                parallel (1.22.1)
         | 
| 52 49 | 
             
                parser (3.1.2.0)
         | 
| @@ -89,9 +86,13 @@ GEM | |
| 89 86 | 
             
                  addressable (>= 2.8.0)
         | 
| 90 87 | 
             
                  crack (>= 0.3.2)
         | 
| 91 88 | 
             
                  hashdiff (>= 0.4.0, < 2.0.0)
         | 
| 89 | 
            +
                zeitwerk (2.6.7)
         | 
| 92 90 |  | 
| 93 91 | 
             
            PLATFORMS
         | 
| 92 | 
            +
              arm64-darwin-21
         | 
| 93 | 
            +
              arm64-darwin-22
         | 
| 94 94 | 
             
              x86_64-darwin-20
         | 
| 95 | 
            +
              x86_64-linux
         | 
| 95 96 |  | 
| 96 97 | 
             
            DEPENDENCIES
         | 
| 97 98 | 
             
              fountain-papi!
         | 
| @@ -102,4 +103,4 @@ DEPENDENCIES | |
| 102 103 | 
             
              webmock
         | 
| 103 104 |  | 
| 104 105 | 
             
            BUNDLED WITH
         | 
| 105 | 
            -
               2.3. | 
| 106 | 
            +
               2.3.22
         | 
| @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Fountain
         | 
| 2 4 | 
             
              module Papi
         | 
| 3 5 | 
             
                def self.create_status(params)
         | 
| @@ -13,20 +15,21 @@ module Fountain | |
| 13 15 | 
             
                    end
         | 
| 14 16 |  | 
| 15 17 | 
             
                    def call
         | 
| 18 | 
            +
                      uri = Fountain::Papi.config.base_uri(override_partner_id: status.partner_id)
         | 
| 16 19 | 
             
                      response = Client.post(
         | 
| 17 | 
            -
                        "#{ | 
| 20 | 
            +
                        "#{uri}/applicants/#{status.applicant_id}/status",
         | 
| 18 21 | 
             
                        body: { applicant: { partner_status: status } }.to_json,
         | 
| 19 22 | 
             
                        headers: Fountain::Papi.config.headers
         | 
| 20 23 | 
             
                      )
         | 
| 21 24 |  | 
| 22 | 
            -
                      raise Fountain::Papi::Error | 
| 25 | 
            +
                      raise Fountain::Papi::Error, response unless response.success?
         | 
| 23 26 |  | 
| 24 27 | 
             
                      created_status(response)
         | 
| 25 28 | 
             
                    end
         | 
| 26 29 |  | 
| 27 30 | 
             
                    def created_status(response)
         | 
| 28 | 
            -
                      result_status = response["partner_status"] | 
| 29 | 
            -
             | 
| 31 | 
            +
                      result_status = response["partner_status"]
         | 
| 32 | 
            +
                                      .merge(applicant_id: status.applicant_id)
         | 
| 30 33 |  | 
| 31 34 | 
             
                      Fountain::Papi::Applicant::Status.new(result_status)
         | 
| 32 35 | 
             
                    end
         | 
| @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Fountain
         | 
| 2 4 | 
             
              module Papi
         | 
| 3 5 | 
             
                module Applicant
         | 
| @@ -20,9 +22,12 @@ module Fountain | |
| 20 22 | 
             
                    attribute? :color, Types::Strict::String
         | 
| 21 23 | 
             
                    attribute? :display_status, Types::Strict::String
         | 
| 22 24 | 
             
                    attribute? :display_title, Types::Strict::String
         | 
| 23 | 
            -
                    attribute? :external_id, Types::UUID
         | 
| 25 | 
            +
                    attribute? :external_id, Types::UUID.optional
         | 
| 24 26 | 
             
                    attribute? :show_redo, Types::Params::Bool.optional
         | 
| 25 27 | 
             
                    attribute? :status_type, Types::Strict::String.optional
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                    # config override attributes:
         | 
| 30 | 
            +
                    attribute? :partner_id, Types::UUID.optional
         | 
| 26 31 | 
             
                  end
         | 
| 27 32 | 
             
                end
         | 
| 28 33 | 
             
              end
         | 
    
        data/lib/fountain/papi/client.rb
    CHANGED
    
    
    
        data/lib/fountain/papi/config.rb
    CHANGED
    
    | @@ -1,11 +1,9 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Fountain
         | 
| 2 4 | 
             
              module Papi
         | 
| 3 5 | 
             
                class Config
         | 
| 4 | 
            -
                  attr_accessor :api_key
         | 
| 5 | 
            -
                  attr_accessor :partner_id
         | 
| 6 | 
            -
                  attr_accessor :sandbox
         | 
| 7 | 
            -
                  attr_accessor :version
         | 
| 8 | 
            -
                  attr_accessor :base_domain
         | 
| 6 | 
            +
                  attr_accessor :api_key, :partner_id, :sandbox, :version, :base_domain
         | 
| 9 7 |  | 
| 10 8 | 
             
                  def initialize
         | 
| 11 9 | 
             
                    @api_key = nil    # Partner API Key
         | 
| @@ -15,8 +13,8 @@ module Fountain | |
| 15 13 | 
             
                    @base_domain = "https://partners-sandbox.fountain.com" # Default to sandbox base domain
         | 
| 16 14 | 
             
                  end
         | 
| 17 15 |  | 
| 18 | 
            -
                  def base_uri
         | 
| 19 | 
            -
                    "#{base_domain}/v#{version}/partners/#{partner_id}"
         | 
| 16 | 
            +
                  def base_uri(override_partner_id: nil)
         | 
| 17 | 
            +
                    "#{base_domain}/v#{version}/partners/#{override_partner_id || partner_id}"
         | 
| 20 18 | 
             
                  end
         | 
| 21 19 |  | 
| 22 20 | 
             
                  def headers
         | 
    
        data/lib/fountain/papi/types.rb
    CHANGED
    
    | @@ -1,10 +1,12 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Fountain
         | 
| 2 4 | 
             
              module Papi
         | 
| 3 5 | 
             
                module Types
         | 
| 4 6 | 
             
                  include Dry.Types()
         | 
| 5 7 |  | 
| 6 | 
            -
                  UUID = Strict::String | 
| 7 | 
            -
             | 
| 8 | 
            +
                  UUID = Strict::String
         | 
| 9 | 
            +
                         .constrained(format: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i)
         | 
| 8 10 | 
             
                end
         | 
| 9 11 | 
             
              end
         | 
| 10 12 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fountain-papi
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 1.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Joey Cody
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2023-04-17 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: dry-struct
         | 
| @@ -39,33 +39,33 @@ dependencies: | |
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: 0.20.0
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            -
              name:  | 
| 42 | 
            +
              name: pry
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 | 
            -
                - - " | 
| 45 | 
            +
                - - ">="
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: ' | 
| 47 | 
            +
                    version: '0'
         | 
| 48 48 | 
             
              type: :development
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 | 
            -
                - - " | 
| 52 | 
            +
                - - ">="
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: ' | 
| 54 | 
            +
                    version: '0'
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            -
              name:  | 
| 56 | 
            +
              name: rspec
         | 
| 57 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 58 | 
             
                requirements:
         | 
| 59 | 
            -
                - - " | 
| 59 | 
            +
                - - "~>"
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: '0'
         | 
| 61 | 
            +
                    version: '3.0'
         | 
| 62 62 | 
             
              type: :development
         | 
| 63 63 | 
             
              prerelease: false
         | 
| 64 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                requirements:
         | 
| 66 | 
            -
                - - " | 
| 66 | 
            +
                - - "~>"
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            -
                    version: '0'
         | 
| 68 | 
            +
                    version: '3.0'
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: webmock
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -117,14 +117,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 117 117 | 
             
              requirements:
         | 
| 118 118 | 
             
              - - ">="
         | 
| 119 119 | 
             
                - !ruby/object:Gem::Version
         | 
| 120 | 
            -
                  version:  | 
| 120 | 
            +
                  version: 3.0.0
         | 
| 121 121 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 122 122 | 
             
              requirements:
         | 
| 123 123 | 
             
              - - ">="
         | 
| 124 124 | 
             
                - !ruby/object:Gem::Version
         | 
| 125 125 | 
             
                  version: '0'
         | 
| 126 126 | 
             
            requirements: []
         | 
| 127 | 
            -
            rubygems_version: 3. | 
| 127 | 
            +
            rubygems_version: 3.1.6
         | 
| 128 128 | 
             
            signing_key:
         | 
| 129 129 | 
             
            specification_version: 4
         | 
| 130 130 | 
             
            summary: Ruby client for interfacing with Fountain Partners API.
         |