infusion 0.0.1 → 0.0.2
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.
- data/infusion.gemspec +2 -2
- data/infusion.gemspec~ +23 -0
- data/lib/infusion.rb +5 -1
- data/lib/infusion.rb~ +122 -0
- data/lib/infusion/version.rb +1 -1
- metadata +4 -2
data/infusion.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'infusion/version'
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.summary = %q{Methods includes add, update contact to IS and campaign setup}
|
13
13
|
spec.homepage = ""
|
14
14
|
spec.license = "MIT"
|
15
|
-
|
15
|
+
spec.rubyforge_project = "infusion"
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
data/infusion.gemspec~
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'infusion/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "infusion"
|
8
|
+
spec.version = Infusion::VERSION
|
9
|
+
spec.authors = ["Jagdish.Barabari"]
|
10
|
+
spec.email = ["jagdish.barabari@example.com"]
|
11
|
+
spec.description = %q{A custom Ruby wrapper for the Infusionsoft API }
|
12
|
+
spec.summary = %q{Methods includes add, update contact to IS and campaign setup}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.rubyforge_project = "infusion"
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
end
|
data/lib/infusion.rb
CHANGED
@@ -5,7 +5,7 @@ require 'yaml'
|
|
5
5
|
|
6
6
|
|
7
7
|
module Infusion
|
8
|
-
config = YAML.load_file("config.
|
8
|
+
config = YAML.load_file("#{RAILS_ROOT}/config/config.yml")
|
9
9
|
@key = config["config"]["key"]
|
10
10
|
server = config["config"]["server"]
|
11
11
|
@server = XMLRPC::Client.new2(server)
|
@@ -114,4 +114,8 @@ module Infusion
|
|
114
114
|
puts "ensure! #{attempts}"
|
115
115
|
end
|
116
116
|
end
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
117
121
|
end
|
data/lib/infusion.rb~
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
require "infusion/version"
|
2
|
+
require 'xmlrpc/client'
|
3
|
+
require 'pp'
|
4
|
+
require 'yaml'
|
5
|
+
|
6
|
+
|
7
|
+
module Infusion
|
8
|
+
config = YAML.load_file("#{RAILS_ROOT}/config/config.yml")
|
9
|
+
@key = config["config"]["key"]
|
10
|
+
server = config["config"]["server"]
|
11
|
+
@server = XMLRPC::Client.new2(server)
|
12
|
+
#method for get the data from the table
|
13
|
+
|
14
|
+
def self.data_load(table, id, selected_fields)
|
15
|
+
attempts = 0
|
16
|
+
begin
|
17
|
+
main_product = @server.call("DataService.load", @key,table, id, selected_fields)
|
18
|
+
rescue Exception
|
19
|
+
attempts += 1
|
20
|
+
retry unless attempts > 1000
|
21
|
+
exit -1
|
22
|
+
ensure
|
23
|
+
puts "ensure! #{attempts}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# method to opt in email
|
28
|
+
|
29
|
+
def self.optin(email, message)
|
30
|
+
@server.call("APIEmailService.optIn", @key,email,message)
|
31
|
+
end
|
32
|
+
|
33
|
+
# method for find email from IS
|
34
|
+
def self.findByEmail(email, contact_info)
|
35
|
+
attempts = 0
|
36
|
+
begin
|
37
|
+
@server.call("ContactService.findByEmail", @key, email,contact_info)
|
38
|
+
rescue Exception
|
39
|
+
attempts += 1
|
40
|
+
retry unless attempts > 1000
|
41
|
+
exit -1
|
42
|
+
ensure
|
43
|
+
puts "ensure! #{attempts}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# method for contact add
|
48
|
+
def self.add_contact(contact)
|
49
|
+
attempts = 0
|
50
|
+
begin
|
51
|
+
server.call("ContactService.add", @key, contact)
|
52
|
+
rescue Exception
|
53
|
+
attempts += 1
|
54
|
+
retry unless attempts > 1000
|
55
|
+
exit -1
|
56
|
+
ensure
|
57
|
+
puts "ensure! #{attempts}"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# method for update the contact_info
|
62
|
+
def self.update(user_id, contact)
|
63
|
+
attempts = 0
|
64
|
+
begin
|
65
|
+
@server.call("ContactService.update", @key,user_id,contact)
|
66
|
+
rescue Exception
|
67
|
+
attempts += 1
|
68
|
+
retry unless attempts > 1000
|
69
|
+
exit -1
|
70
|
+
ensure
|
71
|
+
puts "ensure! #{attempts}"
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# method for merge contacts
|
76
|
+
def self.merge(user_id, merge_id)
|
77
|
+
attempts = 0
|
78
|
+
begin
|
79
|
+
@server.call("ContactService.merge", @key,user_id, merge_id)
|
80
|
+
rescue Exception
|
81
|
+
attempts += 1
|
82
|
+
retry unless attempts > 1000
|
83
|
+
exit -1
|
84
|
+
ensure
|
85
|
+
puts "ensure! #{attempts}"
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# method for add contact to campaign
|
90
|
+
def self.campaign(results, campaign_id)
|
91
|
+
attempts = 0
|
92
|
+
begin
|
93
|
+
@server.call("ContactService.addToGroup",@key,results,campaign_id)
|
94
|
+
rescue Exception
|
95
|
+
attempts += 1
|
96
|
+
retry unless attempts > 1000
|
97
|
+
exit -1
|
98
|
+
ensure
|
99
|
+
puts "ensure! #{attempts}"
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
# find by query this method is for to check subscription
|
105
|
+
def self.query(query, fields)
|
106
|
+
attempts = 0
|
107
|
+
begin
|
108
|
+
@server.call("DataService.query",@key,"RecurringOrder",10,0,query,fields)
|
109
|
+
rescue Exception
|
110
|
+
attempts += 1
|
111
|
+
retry unless attempts > 1000
|
112
|
+
exit -1
|
113
|
+
ensure
|
114
|
+
puts "ensure! #{attempts}"
|
115
|
+
end
|
116
|
+
end
|
117
|
+
def method_missing(method, *args, &block)
|
118
|
+
return super unless new.respond_to?(method)
|
119
|
+
new.send(method, *args, &block)
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
data/lib/infusion/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infusion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -56,7 +56,9 @@ files:
|
|
56
56
|
- README.md
|
57
57
|
- Rakefile
|
58
58
|
- infusion.gemspec
|
59
|
+
- infusion.gemspec~
|
59
60
|
- lib/infusion.rb
|
61
|
+
- lib/infusion.rb~
|
60
62
|
- lib/infusion/version.rb
|
61
63
|
homepage: ''
|
62
64
|
licenses:
|
@@ -78,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
80
|
- !ruby/object:Gem::Version
|
79
81
|
version: '0'
|
80
82
|
requirements: []
|
81
|
-
rubyforge_project:
|
83
|
+
rubyforge_project: infusion
|
82
84
|
rubygems_version: 1.8.25
|
83
85
|
signing_key:
|
84
86
|
specification_version: 3
|