infusion 0.0.9 → 0.0.10
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/README.md +17 -8
- data/lib/infusion/version.rb +1 -1
- metadata +2 -4
- data/infusion.gemspec~ +0 -23
- data/lib/infusion.rb~ +0 -122
data/README.md
CHANGED
@@ -27,6 +27,7 @@ Create a file in config/config.yml add the key and server
|
|
27
27
|
|
28
28
|
And in your Rails Application, where you require your gem, you can add an initializer and configure like following:
|
29
29
|
|
30
|
+
|
30
31
|
config/initializers/infusion.rb
|
31
32
|
|
32
33
|
require "infusion"
|
@@ -36,30 +37,38 @@ Create a file in config/config.yml add the key and server
|
|
36
37
|
|
37
38
|
|
38
39
|
|
39
|
-
|
40
|
+
Get a users first and last name using the DataService:
|
41
|
+
|
40
42
|
Infusion.data_load('Contact', contact_id, [:FirstName, :LastName])
|
41
43
|
|
42
|
-
|
44
|
+
Update a contact with specific field values:
|
45
|
+
|
43
46
|
Infusion.update(contact_id, { :FirstName => 'first_name', :Email => 'test@test.com' })
|
44
47
|
|
45
|
-
|
48
|
+
Add a new Contact:
|
49
|
+
|
46
50
|
Infusion.add_contact({:FirstName => 'first_name', :LastName => 'last_name', :Email => 'test@test.com'})
|
47
51
|
|
48
|
-
|
52
|
+
Merge Contact:
|
53
|
+
|
49
54
|
Infusion.merge(contact_id, merge_contact_id)
|
50
55
|
|
51
|
-
|
56
|
+
Method for add contact to campaign:
|
57
|
+
|
52
58
|
Infusion.campaign(contact_id, campaign_id)
|
53
59
|
|
54
|
-
|
60
|
+
Find by query this method is for to check subscription:
|
61
|
+
|
55
62
|
fields = ["ProductId", "SubscriptionPlanId", "ItemName", "Qty"]
|
56
63
|
|
57
|
-
|
64
|
+
Order Details of user retrieve all items:
|
65
|
+
|
58
66
|
query = {:OrderId => params[:orderId]}
|
59
67
|
|
60
68
|
Infusion.query(query, fields)
|
61
69
|
|
62
|
-
|
70
|
+
Method to opt in email:
|
71
|
+
|
63
72
|
Infusion.optin(email, message)
|
64
73
|
|
65
74
|
|
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.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-09-
|
12
|
+
date: 2013-09-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -56,9 +56,7 @@ files:
|
|
56
56
|
- README.md
|
57
57
|
- Rakefile
|
58
58
|
- infusion.gemspec
|
59
|
-
- infusion.gemspec~
|
60
59
|
- lib/infusion.rb
|
61
|
-
- lib/infusion.rb~
|
62
60
|
- lib/infusion/version.rb
|
63
61
|
homepage: ''
|
64
62
|
licenses:
|
data/infusion.gemspec~
DELETED
@@ -1,23 +0,0 @@
|
|
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
|
-
|
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~
DELETED
@@ -1,122 +0,0 @@
|
|
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
|