mrkt 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/mrkt/concerns/connection.rb +12 -3
- data/lib/mrkt/concerns/crud_activities.rb +2 -2
- data/lib/mrkt/concerns/crud_custom_objects.rb +1 -1
- data/lib/mrkt/concerns/crud_leads.rb +10 -8
- data/lib/mrkt/concerns/import_custom_objects.rb +1 -1
- data/lib/mrkt/concerns/import_leads.rb +1 -1
- data/lib/mrkt/faraday.rb +4 -0
- data/lib/mrkt/faraday/params_encoder.rb +20 -0
- data/lib/mrkt/faraday_middleware.rb +3 -7
- data/lib/mrkt/version.rb +1 -1
- data/spec/concerns/crud_leads_spec.rb +1 -1
- data/spec/faraday/params_encoder_spec.rb +24 -0
- metadata +6 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8b9a26db5da0ff83b251b40c276517013a120bccac5e0723d2cb23f751bc9817
         | 
| 4 | 
            +
              data.tar.gz: 74a55a3fde8f192301e8995c7391fc5f88c7f8d9fa0163a1f2ef633cf9ade4bf
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 365eaf2f0ea0ffc9a9a47af40b9834bab11de69438bb44a42dc23720f19b705b8918c097164c49cc2d82ce02dfb8b1add9f761cb6ae3ee99df69091493fb3b32
         | 
| 7 | 
            +
              data.tar.gz: 7a184f5ce07e10e3e88f9cfe988adfdf2633271e229f55da2290e04ac78b3282a46eb77c87d01f00c3e3493e77920abf7a38bc1be8edf3cc565224aa8ecb8bff
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            require 'mrkt/ | 
| 1 | 
            +
            require 'mrkt/faraday'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Mrkt
         | 
| 4 4 | 
             
              module Connection
         | 
| @@ -7,7 +7,7 @@ module Mrkt | |
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| 9 9 | 
             
                def init_connection
         | 
| 10 | 
            -
                  Faraday.new( | 
| 10 | 
            +
                  ::Faraday.new(options) do |conn|
         | 
| 11 11 | 
             
                    conn.request :multipart
         | 
| 12 12 | 
             
                    conn.request :url_encoded
         | 
| 13 13 |  | 
| @@ -17,8 +17,17 @@ module Mrkt | |
| 17 17 | 
             
                    conn.options.timeout = @options[:read_timeout] if @options.key?(:read_timeout)
         | 
| 18 18 | 
             
                    conn.options.open_timeout = @options[:open_timeout] if @options.key?(:open_timeout)
         | 
| 19 19 |  | 
| 20 | 
            -
                    conn.adapter @options.fetch(:adapter, Faraday.default_adapter)
         | 
| 20 | 
            +
                    conn.adapter @options.fetch(:adapter, ::Faraday.default_adapter)
         | 
| 21 21 | 
             
                  end
         | 
| 22 22 | 
             
                end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                def options
         | 
| 25 | 
            +
                  {
         | 
| 26 | 
            +
                    url: "https://#{@host}",
         | 
| 27 | 
            +
                    request: {
         | 
| 28 | 
            +
                      params_encoder: Mrkt::Faraday::ParamsEncoder
         | 
| 29 | 
            +
                    }
         | 
| 30 | 
            +
                  }
         | 
| 31 | 
            +
                end
         | 
| 23 32 | 
             
              end
         | 
| 24 33 | 
             
            end
         | 
| @@ -13,8 +13,8 @@ module Mrkt | |
| 13 13 | 
             
                    nextPageToken: next_page_token
         | 
| 14 14 | 
             
                  }
         | 
| 15 15 |  | 
| 16 | 
            -
                  params[:activityTypeIds] = activity_type_ids | 
| 17 | 
            -
                  params[:leadIds] = lead_ids | 
| 16 | 
            +
                  params[:activityTypeIds] = activity_type_ids unless blank?(activity_type_ids)
         | 
| 17 | 
            +
                  params[:leadIds] = lead_ids unless blank?(lead_ids)
         | 
| 18 18 |  | 
| 19 19 | 
             
                  get('/rest/v1/activities.json', params)
         | 
| 20 20 | 
             
                end
         | 
| @@ -2,7 +2,7 @@ module Mrkt | |
| 2 2 | 
             
              module CrudLeads
         | 
| 3 3 | 
             
                def get_lead_by_id(id, fields: nil)
         | 
| 4 4 | 
             
                  optional = {
         | 
| 5 | 
            -
                    fields: fields | 
| 5 | 
            +
                    fields: fields
         | 
| 6 6 | 
             
                  }
         | 
| 7 7 |  | 
| 8 8 | 
             
                  get("/rest/v1/lead/#{id}.json", {}, optional)
         | 
| @@ -11,7 +11,7 @@ module Mrkt | |
| 11 11 | 
             
                def get_leads(filter_type, filter_values, fields: nil, batch_size: nil, next_page_token: nil)
         | 
| 12 12 | 
             
                  params = {
         | 
| 13 13 | 
             
                    filterType: filter_type,
         | 
| 14 | 
            -
                    filterValues: filter_values | 
| 14 | 
            +
                    filterValues: filter_values
         | 
| 15 15 | 
             
                  }
         | 
| 16 16 |  | 
| 17 17 | 
             
                  optional = {
         | 
| @@ -47,18 +47,20 @@ module Mrkt | |
| 47 47 | 
             
                end
         | 
| 48 48 |  | 
| 49 49 | 
             
                def associate_lead(id, cookie)
         | 
| 50 | 
            -
                  params = Faraday:: | 
| 51 | 
            -
                  params[:cookie] = cookie
         | 
| 50 | 
            +
                  params = Mrkt::Faraday::ParamsEncoder.encode(cookie: cookie)
         | 
| 52 51 |  | 
| 53 | 
            -
                  post_json("/rest/v1/leads/#{id}/associate.json?#{params | 
| 52 | 
            +
                  post_json("/rest/v1/leads/#{id}/associate.json?#{params}")
         | 
| 54 53 | 
             
                end
         | 
| 55 54 |  | 
| 56 55 | 
             
                def merge_leads(winning_lead_id, losing_lead_ids, merge_in_crm: false)
         | 
| 57 | 
            -
                  params =  | 
| 56 | 
            +
                  params = {}
         | 
| 57 | 
            +
             | 
| 58 58 | 
             
                  params[:mergeInCRM] = merge_in_crm
         | 
| 59 | 
            -
                  params[:leadIds] = losing_lead_ids | 
| 59 | 
            +
                  params[:leadIds] = losing_lead_ids if losing_lead_ids
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                  query_params = Mrkt::Faraday::ParamsEncoder.encode(params)
         | 
| 60 62 |  | 
| 61 | 
            -
                  post_json("/rest/v1/leads/#{winning_lead_id}/merge.json?#{ | 
| 63 | 
            +
                  post_json("/rest/v1/leads/#{winning_lead_id}/merge.json?#{query_params}")
         | 
| 62 64 | 
             
                end
         | 
| 63 65 |  | 
| 64 66 | 
             
                def describe_lead
         | 
| @@ -3,7 +3,7 @@ module Mrkt | |
| 3 3 | 
             
                def import_custom_object(file, custom_object, format = 'csv')
         | 
| 4 4 | 
             
                  params = {
         | 
| 5 5 | 
             
                    format: format,
         | 
| 6 | 
            -
                    file: Faraday::UploadIO.new(file, 'text/csv')
         | 
| 6 | 
            +
                    file: ::Faraday::UploadIO.new(file, 'text/csv')
         | 
| 7 7 | 
             
                  }
         | 
| 8 8 |  | 
| 9 9 | 
             
                  post("/bulk/v1/customobjects/#{custom_object}/import.json", params)
         | 
    
        data/lib/mrkt/faraday.rb
    ADDED
    
    
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            module Mrkt
         | 
| 2 | 
            +
              module Faraday
         | 
| 3 | 
            +
                class ParamsEncoder
         | 
| 4 | 
            +
                  class << self
         | 
| 5 | 
            +
                    def encode(hash)
         | 
| 6 | 
            +
                      new_hash = hash.transform_values { |v| encode_value(v) }
         | 
| 7 | 
            +
                      ::Faraday::NestedParamsEncoder.encode(new_hash)
         | 
| 8 | 
            +
                    end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def decode(string)
         | 
| 11 | 
            +
                      ::Faraday::NestedParamsEncoder.decode(string)
         | 
| 12 | 
            +
                    end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    def encode_value(value)
         | 
| 15 | 
            +
                      value.respond_to?(:join) ? value.join(',') : value
         | 
| 16 | 
            +
                    end
         | 
| 17 | 
            +
                  end
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
            end
         | 
| @@ -1,11 +1,7 @@ | |
| 1 | 
            -
            require ' | 
| 1 | 
            +
            require 'mrkt/faraday_middleware/response'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Mrkt
         | 
| 4 | 
            -
               | 
| 5 | 
            -
                 | 
| 6 | 
            -
              end
         | 
| 7 | 
            -
             | 
| 8 | 
            -
              if Faraday::Middleware.respond_to? :register_middleware
         | 
| 9 | 
            -
                Faraday::Response.register_middleware mkto: -> { Mrkt::FaradayMiddleware::Response }
         | 
| 4 | 
            +
              if ::Faraday::Middleware.respond_to?(:register_middleware)
         | 
| 5 | 
            +
                ::Faraday::Response.register_middleware(mkto: Mrkt::FaradayMiddleware::Response)
         | 
| 10 6 | 
             
              end
         | 
| 11 7 | 
             
            end
         | 
    
        data/lib/mrkt/version.rb
    CHANGED
    
    
| @@ -211,7 +211,7 @@ describe Mrkt::CrudLeads do | |
| 211 211 | 
             
                subject { client.merge_leads(id, losing_lead_ids) }
         | 
| 212 212 |  | 
| 213 213 | 
             
                before do
         | 
| 214 | 
            -
                  params = Faraday::Utils::ParamsHash.new
         | 
| 214 | 
            +
                  params = ::Faraday::Utils::ParamsHash.new
         | 
| 215 215 | 
             
                  params[:mergeInCRM] = false
         | 
| 216 216 | 
             
                  params[:leadIds] = losing_lead_ids.join(',') if losing_lead_ids
         | 
| 217 217 |  | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            describe Mrkt::Faraday::ParamsEncoder do
         | 
| 2 | 
            +
              describe '.encode' do
         | 
| 3 | 
            +
                let(:params) do
         | 
| 4 | 
            +
                  {
         | 
| 5 | 
            +
                    string: 'foobar',
         | 
| 6 | 
            +
                    number: 1,
         | 
| 7 | 
            +
                    boolean: true,
         | 
| 8 | 
            +
                    array: [1, 2, 3]
         | 
| 9 | 
            +
                  }
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                subject { described_class.encode(params) }
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                it { is_expected.to eq(Faraday::Utils::ParamsHash.new.merge(params.merge(array: '1,2,3')).to_query) }
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
              describe '.decode' do
         | 
| 18 | 
            +
                let(:value) { 'foo=foo&bar=bar' }
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                subject { described_class.decode(value) }
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                it { is_expected.to eq('foo' => 'foo', 'bar' => 'bar') }
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: mrkt
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - KARASZI István
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2020-07- | 
| 12 | 
            +
            date: 2020-07-08 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: faraday
         | 
| @@ -185,6 +185,8 @@ files: | |
| 185 185 | 
             
            - lib/mrkt/concerns/import_custom_objects.rb
         | 
| 186 186 | 
             
            - lib/mrkt/concerns/import_leads.rb
         | 
| 187 187 | 
             
            - lib/mrkt/errors.rb
         | 
| 188 | 
            +
            - lib/mrkt/faraday.rb
         | 
| 189 | 
            +
            - lib/mrkt/faraday/params_encoder.rb
         | 
| 188 190 | 
             
            - lib/mrkt/faraday_middleware.rb
         | 
| 189 191 | 
             
            - lib/mrkt/faraday_middleware/response.rb
         | 
| 190 192 | 
             
            - lib/mrkt/version.rb
         | 
| @@ -202,6 +204,7 @@ files: | |
| 202 204 | 
             
            - spec/concerns/import_custom_objects_spec.rb
         | 
| 203 205 | 
             
            - spec/concerns/import_leads_spec.rb
         | 
| 204 206 | 
             
            - spec/errors_spec.rb
         | 
| 207 | 
            +
            - spec/faraday/params_encoder_spec.rb
         | 
| 205 208 | 
             
            - spec/mkto_rest_spec.rb
         | 
| 206 209 | 
             
            - spec/spec_helper.rb
         | 
| 207 210 | 
             
            - spec/support/initialized_client.rb
         | 
| @@ -243,6 +246,7 @@ test_files: | |
| 243 246 | 
             
            - spec/concerns/import_custom_objects_spec.rb
         | 
| 244 247 | 
             
            - spec/concerns/import_leads_spec.rb
         | 
| 245 248 | 
             
            - spec/errors_spec.rb
         | 
| 249 | 
            +
            - spec/faraday/params_encoder_spec.rb
         | 
| 246 250 | 
             
            - spec/mkto_rest_spec.rb
         | 
| 247 251 | 
             
            - spec/spec_helper.rb
         | 
| 248 252 | 
             
            - spec/support/initialized_client.rb
         |