infunnel_cli 1.0.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/lib/eloqua_api_service/contact.rb +4 -0
 - data/lib/eloqua_api_service/custom_object.rb +5 -0
 - data/lib/eloqua_api_service/lead_score.rb +16 -0
 - data/lib/eloqua_api_service/visitor.rb +12 -0
 - data/lib/infunnel_cli/cli/contact.rb +14 -0
 - data/lib/infunnel_cli/cli/custom_object.rb +10 -1
 - data/lib/infunnel_cli/cli/program.rb +7 -8
 - data/lib/infunnel_cli/cli/user.rb +0 -1
 - data/lib/infunnel_cli/cli/visitor.rb +35 -2
 - data/lib/infunnel_cli/version.rb +1 -1
 - metadata +4 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: a6f6a8ccac25b647ad0fe255825989bacfa99fb5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 64cd0bffe2de7877b3c7c241ff406f702c83a6c0
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 56a998d7a184d958b1effffd1e34b5303b9072e60612fdefef64b23bf1b40d826201767420137da74d70f03abe51315738493007e568c57dab13f78736e0e677
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a02df91d7df8e7ce894770658ba383cd7606233c487a5a2b3ffaf723313e8abc132308447c4e3c0b7e350e2e07fff243d1a87936086a6e279089bd94a7ab306e
         
     | 
| 
         @@ -19,6 +19,10 @@ module EloquaApiService 
     | 
|
| 
       19 
19 
     | 
    
         
             
                  responses
         
     | 
| 
       20 
20 
     | 
    
         
             
                end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
      
 22 
     | 
    
         
            +
                def fields
         
     | 
| 
      
 23 
     | 
    
         
            +
                  parse(self.class.get("#{BASE_PATH}/assets/contact/fields?depth=complete", @options))
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       22 
26 
     | 
    
         
             
                def search(term: '')
         
     | 
| 
       23 
27 
     | 
    
         
             
                  parse(self.class.get("#{BASE_PATH}/data/contacts?search=*#{term}*&depth=complete", @options))
         
     | 
| 
       24 
28 
     | 
    
         
             
                end
         
     | 
| 
         @@ -12,6 +12,11 @@ module EloquaApiService 
     | 
|
| 
       12 
12 
     | 
    
         
             
                  parse(self.class.get("#{BASE_PATH}/assets/customObjects?depth=complete", @options))
         
     | 
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
      
 15 
     | 
    
         
            +
                def create(name:)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  @options[:body] = { name: name, description: 'created from cli' }.to_json
         
     | 
| 
      
 17 
     | 
    
         
            +
                  parse(self.class.post("#{BASE_PATH}/assets/customObject", @options))
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       15 
20 
     | 
    
         
             
                def data_by_id(id:)
         
     | 
| 
       16 
21 
     | 
    
         
             
                  parse(self.class.get("#{BASE_PATH}/data/customObject/#{id}?depth=complete", @options))
         
     | 
| 
       17 
22 
     | 
    
         
             
                end
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'eloqua_api_service/service'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'date'
         
     | 
| 
      
 3 
     | 
    
         
            +
            module EloquaApiService
         
     | 
| 
      
 4 
     | 
    
         
            +
              class Contact < Service
         
     | 
| 
      
 5 
     | 
    
         
            +
                BASE_PATH = "/API/REST/1.0"
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                def find(id:)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  parse(self.class.get("#{BASE_PATH}/data/contact/#{id}?depth=complete", @options))
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                def all
         
     | 
| 
      
 12 
     | 
    
         
            +
                	parse(self.class.get("#{BASE_PATH}/data/contact/#{id}?depth=complete", @options))
         
     | 
| 
      
 13 
     | 
    
         
            +
            	end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -16,6 +16,18 @@ module EloquaApiService 
     | 
|
| 
       16 
16 
     | 
    
         
             
                def search(term: '')
         
     | 
| 
       17 
17 
     | 
    
         
             
                  parse(self.class.get("#{BASE_PATH}/data/forms?search=*#{term}*&depth=complete", @options))
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
                
         
     | 
| 
      
 20 
     | 
    
         
            +
                def last_active
         
     | 
| 
      
 21 
     | 
    
         
            +
                  
         
     | 
| 
      
 22 
     | 
    
         
            +
                  #parse(self.class.get("#{BASE_PATH}/data/visitors?search=*l*&orderBy=V_LastVisitDateAndTime&depth=complete", @options))
         
     | 
| 
      
 23 
     | 
    
         
            +
             #HH:MM:SS
         
     | 
| 
      
 24 
     | 
    
         
            +
                  url = "#{BASE_PATH}/data/visitors?search=V_LastVisitDateAndTime>2016-01-02 && V_LastVisitDateAndTime<2017-01-03&depth=complete"
         
     | 
| 
      
 25 
     | 
    
         
            +
            #      url = "#{BASE_PATH}/data/visitors?lastUpdatedAt=#{Time.now.to_i - (  300  ) }&depth=complete"
         
     | 
| 
      
 26 
     | 
    
         
            +
                  puts url
         
     | 
| 
      
 27 
     | 
    
         
            +
                  #&orderBy=V_LastVisitDateAndTime
         
     | 
| 
      
 28 
     | 
    
         
            +
                  self.class.get(url, @options)
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
                
         
     | 
| 
       19 
31 
     | 
    
         | 
| 
       20 
32 
     | 
    
         
             
                def data(id:, options: {})
         
     | 
| 
       21 
33 
     | 
    
         
             
                  start_at = options[:start_at] || 0
         
     | 
| 
         @@ -42,6 +42,20 @@ module InfunnelCli 
     | 
|
| 
       42 
42 
     | 
    
         
             
                    puts activities.count
         
     | 
| 
       43 
43 
     | 
    
         
             
                  end
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  desc "fields", "all contact fields"
         
     | 
| 
      
 47 
     | 
    
         
            +
                  option :account, aliases: :a
         
     | 
| 
      
 48 
     | 
    
         
            +
                  def fields
         
     | 
| 
      
 49 
     | 
    
         
            +
                    fields = EloquaApiService::Contact.new(account: options[:account]).fields
         
     | 
| 
      
 50 
     | 
    
         
            +
                    fields[:elements].each do |field|
         
     | 
| 
      
 51 
     | 
    
         
            +
                      field.each do |k, v|
         
     | 
| 
      
 52 
     | 
    
         
            +
                        puts "#{k}: #{v}"
         
     | 
| 
      
 53 
     | 
    
         
            +
                      end
         
     | 
| 
      
 54 
     | 
    
         
            +
                      puts '*' * 90
         
     | 
| 
      
 55 
     | 
    
         
            +
                    end
         
     | 
| 
      
 56 
     | 
    
         
            +
                    puts "Total: #{fields[:total]}"
         
     | 
| 
      
 57 
     | 
    
         
            +
                  end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
       45 
59 
     | 
    
         
             
                  private
         
     | 
| 
       46 
60 
     | 
    
         | 
| 
       47 
61 
     | 
    
         
             
                  def contact_print(contacts: [], options: {})
         
     | 
| 
         @@ -26,7 +26,16 @@ module InfunnelCli 
     | 
|
| 
       26 
26 
     | 
    
         
             
                    end
         
     | 
| 
       27 
27 
     | 
    
         
             
                  end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  desc "create :name", "Create a cdo"
         
     | 
| 
      
 33 
     | 
    
         
            +
                  option :account, aliases: :a
         
     | 
| 
      
 34 
     | 
    
         
            +
                  def create(name)
         
     | 
| 
      
 35 
     | 
    
         
            +
                    puts EloquaApiService::CustomObject.new(account: options[:account]).create(name: name)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  desc "get data by :id", "CustomObjects data by id"
         
     | 
| 
       30 
39 
     | 
    
         
             
                  option :account, aliases: :a
         
     | 
| 
       31 
40 
     | 
    
         
             
                  def data(id)
         
     | 
| 
       32 
41 
     | 
    
         
             
                    EloquaApiService::CustomObject.new(account: options[:account]).data_by_id(id: id)[:elements].each do |custom_object|
         
     | 
| 
         @@ -10,15 +10,14 @@ module InfunnelCli 
     | 
|
| 
       10 
10 
     | 
    
         
             
                  option :html
         
     | 
| 
       11 
11 
     | 
    
         
             
                  def find( id )
         
     | 
| 
       12 
12 
     | 
    
         
             
                    EloquaApiService::Program.new(account: options[:account]).find(id: id).each do |k, v|
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                           
     | 
| 
       17 
     | 
    
         
            -
                            find_step(_k[:id])
         
     | 
| 
       18 
     | 
    
         
            -
                          end
         
     | 
| 
       19 
     | 
    
         
            -
                        else
         
     | 
| 
       20 
     | 
    
         
            -
                          puts "#{k}: #{v}"
         
     | 
| 
      
 13 
     | 
    
         
            +
                      if k == :steps
         
     | 
| 
      
 14 
     | 
    
         
            +
                        puts 'Steps: '
         
     | 
| 
      
 15 
     | 
    
         
            +
                        v.each do |_k, _v|
         
     | 
| 
      
 16 
     | 
    
         
            +
                          find_step(_k[:id])
         
     | 
| 
       21 
17 
     | 
    
         
             
                        end
         
     | 
| 
      
 18 
     | 
    
         
            +
                      else
         
     | 
| 
      
 19 
     | 
    
         
            +
                        puts "#{k}: #{v}"
         
     | 
| 
      
 20 
     | 
    
         
            +
                      end
         
     | 
| 
       22 
21 
     | 
    
         
             
                    end
         
     | 
| 
       23 
22 
     | 
    
         
             
                  end
         
     | 
| 
       24 
23 
     | 
    
         | 
| 
         @@ -5,7 +5,7 @@ module InfunnelCli 
     | 
|
| 
       5 
5 
     | 
    
         
             
              module CLI
         
     | 
| 
       6 
6 
     | 
    
         
             
                class Visitor < Base
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
                  desc "find_by_guid :id", " 
     | 
| 
      
 8 
     | 
    
         
            +
                  desc "find_by_guid :id", ""
         
     | 
| 
       9 
9 
     | 
    
         
             
                  option :live, aliases: :l
         
     | 
| 
       10 
10 
     | 
    
         
             
                  option :full, aliases: :f
         
     | 
| 
       11 
11 
     | 
    
         
             
                  option :account, aliases: :a
         
     | 
| 
         @@ -17,7 +17,40 @@ module InfunnelCli 
     | 
|
| 
       17 
17 
     | 
    
         
             
                      puts e
         
     | 
| 
       18 
18 
     | 
    
         
             
                    end
         
     | 
| 
       19 
19 
     | 
    
         
             
                    puts response
         
     | 
| 
       20 
     | 
    
         
            -
                    puts EloquaApiService::Contact.new(account: options[:account]).find(id: response[:elements][0][:contactId]) rescue "No contact id on this 
     | 
| 
      
 20 
     | 
    
         
            +
                    puts EloquaApiService::Contact.new(account: options[:account]).find(id: response[:elements][0][:contactId]) rescue "No contact id on this visitor."
         
     | 
| 
      
 21 
     | 
    
         
            +
                  end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                  desc "last active ", ""
         
     | 
| 
      
 24 
     | 
    
         
            +
                  
         
     | 
| 
      
 25 
     | 
    
         
            +
                  option :account, aliases: :a
         
     | 
| 
      
 26 
     | 
    
         
            +
                  def last_active
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                    response = EloquaApiService::Visitor.new(account: options[:account]).last_active()
         
     | 
| 
      
 29 
     | 
    
         
            +
                    # response[:elements].each do |e|
         
     | 
| 
      
 30 
     | 
    
         
            +
                    #   puts '-'*90
         
     | 
| 
      
 31 
     | 
    
         
            +
                    #   puts e
         
     | 
| 
      
 32 
     | 
    
         
            +
                    # end
         
     | 
| 
      
 33 
     | 
    
         
            +
                     puts response.inspect
         
     | 
| 
      
 34 
     | 
    
         
            +
                     
         
     | 
| 
      
 35 
     | 
    
         
            +
                     parsed = JSON.parse(response.body)
         
     | 
| 
      
 36 
     | 
    
         
            +
                     
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                      parsed['elements'].each do |v|
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                        v.each do |k, v|
         
     | 
| 
      
 41 
     | 
    
         
            +
                          puts "#{k}: #{v}" 
         
     | 
| 
      
 42 
     | 
    
         
            +
                        end
         
     | 
| 
      
 43 
     | 
    
         
            +
                        puts DateTime.strptime(v['V_LastVisitDateAndTime'],'%s')
         
     | 
| 
      
 44 
     | 
    
         
            +
                      puts '*' * 90
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                      #require 'date'
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                      #puts v['V_LastVisitDateAndTime']
         
     | 
| 
      
 49 
     | 
    
         
            +
                    end
         
     | 
| 
      
 50 
     | 
    
         
            +
                    puts parsed['total']
         
     | 
| 
      
 51 
     | 
    
         
            +
                    puts parsed['total']
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                    # puts EloquaApiService::Contact.new(account: options[:account]).find(id: response[:elements][0][:contactId]) rescue "No contact id on this visitor."
         
     | 
| 
       21 
54 
     | 
    
         
             
                  end
         
     | 
| 
       22 
55 
     | 
    
         | 
| 
       23 
56 
     | 
    
         
             
                  private
         
     | 
    
        data/lib/infunnel_cli/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: infunnel_cli
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - lundevallan
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2017-01-11 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: thor
         
     | 
| 
         @@ -138,6 +138,7 @@ files: 
     | 
|
| 
       138 
138 
     | 
    
         
             
            - lib/eloqua_api_service/custom_object.rb
         
     | 
| 
       139 
139 
     | 
    
         
             
            - lib/eloqua_api_service/email.rb
         
     | 
| 
       140 
140 
     | 
    
         
             
            - lib/eloqua_api_service/form.rb
         
     | 
| 
      
 141 
     | 
    
         
            +
            - lib/eloqua_api_service/lead_score.rb
         
     | 
| 
       141 
142 
     | 
    
         
             
            - lib/eloqua_api_service/login.rb
         
     | 
| 
       142 
143 
     | 
    
         
             
            - lib/eloqua_api_service/option_list.rb
         
     | 
| 
       143 
144 
     | 
    
         
             
            - lib/eloqua_api_service/program.rb
         
     | 
| 
         @@ -180,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       180 
181 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       181 
182 
     | 
    
         
             
            requirements: []
         
     | 
| 
       182 
183 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       183 
     | 
    
         
            -
            rubygems_version: 2.6. 
     | 
| 
      
 184 
     | 
    
         
            +
            rubygems_version: 2.6.8
         
     | 
| 
       184 
185 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       185 
186 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       186 
187 
     | 
    
         
             
            summary: A cli for working with marketing automation.
         
     |