mailbuild 1.0 → 1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/mailbuild/mailbuild.rb +11 -10
- metadata +2 -2
data/lib/mailbuild/mailbuild.rb
CHANGED
@@ -9,12 +9,12 @@ class Mailbuild
|
|
9
9
|
|
10
10
|
include MailbuildError
|
11
11
|
|
12
|
-
cattr_accessor :api_key, :
|
12
|
+
cattr_accessor :api_key, :default_list_id, :list_ids, :subdomain
|
13
13
|
|
14
14
|
# Implements Subscriber.Add
|
15
15
|
# http://www.mailbuild.com/api/subscriber.add.aspx
|
16
16
|
#
|
17
|
-
def self.add(email, name, list_id = @@
|
17
|
+
def self.add(email, name, list_id = @@default_list_id)
|
18
18
|
self.connect
|
19
19
|
result = @@service.AddSubscriber({:ApiKey=>@@api_key, :ListID=>list_id, :Email=>email, :Name=>name})
|
20
20
|
response = result.subscriber_AddResult
|
@@ -24,7 +24,7 @@ class Mailbuild
|
|
24
24
|
# Implements Subscriber.AddWithCustomFields
|
25
25
|
# http://www.mailbuild.com/api/subscriber.addwithcustomfields.aspx
|
26
26
|
#
|
27
|
-
def self.add_with_custom_field(email, name, custom_fields = {}, list_id = @@
|
27
|
+
def self.add_with_custom_field(email, name, custom_fields = {}, list_id = @@default_list_id)
|
28
28
|
self.connect
|
29
29
|
|
30
30
|
# Convert custom fields to an array of hashes
|
@@ -38,7 +38,7 @@ class Mailbuild
|
|
38
38
|
# Implements <tt>Subscriber.Unsubscribe</tt>
|
39
39
|
# http://www.mailbuild.com/api/subscriber.unsubscribe.aspx
|
40
40
|
#
|
41
|
-
def self.unsubscribe(email, list_id = @@
|
41
|
+
def self.unsubscribe(email, list_id = @@default_list_id)
|
42
42
|
self.connect
|
43
43
|
result = @@service.Unsubscribe({:ApiKey=>@@api_key, :ListID=>list_id, :Email=>email})
|
44
44
|
response = result.subscriber_UnsubscribeResult
|
@@ -49,7 +49,7 @@ class Mailbuild
|
|
49
49
|
#
|
50
50
|
# Implements Subscribers.GetSingleSubscriber
|
51
51
|
#
|
52
|
-
def self.subscriber(email, list_id = @@
|
52
|
+
def self.subscriber(email, list_id = @@default_list_id)
|
53
53
|
self.connect
|
54
54
|
result = @@service.GetSingleSubscriber({:ApiKey=>@@api_key, :ListID=>list_id, :EmailAddress=>email})
|
55
55
|
subscriber = result.subscribers_GetSingleSubscriberResult
|
@@ -62,7 +62,7 @@ class Mailbuild
|
|
62
62
|
# Implements Subscribers.GetActive
|
63
63
|
# http://www.mailbuild.com/api/Subscribers.GetActive.aspx
|
64
64
|
#
|
65
|
-
def self.subscribers(date, list_id = @@
|
65
|
+
def self.subscribers(date, list_id = @@default_list_id)
|
66
66
|
self.connect
|
67
67
|
result = @@service.GetSubscribers({:ApiKey=>@@api_key, :ListID=>list_id, :Date=>date})
|
68
68
|
subscribers = result.subscribers_GetActiveResult
|
@@ -72,7 +72,7 @@ class Mailbuild
|
|
72
72
|
# Implements Subscribers.GetUnsubscribed
|
73
73
|
# http://www.mailbuild.com/api/Subscribers.GetUnsubscribed.aspx
|
74
74
|
#
|
75
|
-
def self.unsubscribed(date, list_id = @@
|
75
|
+
def self.unsubscribed(date, list_id = @@default_list_id)
|
76
76
|
self.connect
|
77
77
|
result = @@service.GetUnsubscribed({:ApiKey=>@@api_key, :ListID=>list_id, :Date=>date})
|
78
78
|
unsubscribed = result.subscribers_GetUnsubscribedResult
|
@@ -82,7 +82,7 @@ class Mailbuild
|
|
82
82
|
# Implements Subscribers.GetBounced
|
83
83
|
# http://www.mailbuild.com/api/Subscribers.GetBounced.aspx
|
84
84
|
#
|
85
|
-
def self.bounced(date, list_id = @@
|
85
|
+
def self.bounced(date, list_id = @@default_list_id)
|
86
86
|
self.connect
|
87
87
|
result = @@service.GetBounced({:ApiKey=>@@api_key, :ListID=>list_id, :Date=>date})
|
88
88
|
bounced = result.subscribers_GetBouncedResult
|
@@ -93,15 +93,16 @@ class Mailbuild
|
|
93
93
|
|
94
94
|
def self.connect
|
95
95
|
self.check_config
|
96
|
+
# Set the default list id
|
97
|
+
@@default_list_id = @@list_ids.values.first
|
96
98
|
wsdl_url = "http://#{@@subdomain}.createsend.com/api/api.asmx?wsdl"
|
97
99
|
@@service = SOAP::WSDLDriverFactory.new(wsdl_url).create_rpc_driver or raise ConnectionError.new('Unable to self.connect to Mailbuild SOAP service. Network problem?')
|
98
|
-
|
99
100
|
@@service.wiredump_dev = STDERR if $DEBUG
|
100
101
|
end
|
101
102
|
|
102
103
|
def self.check_config
|
103
104
|
raise ArgumentError.new("Please set your Mailbuild API key") if @@api_key.blank?
|
104
|
-
raise ArgumentError.new("Please set your Mailbuild list
|
105
|
+
raise ArgumentError.new("Please set your Mailbuild list IDs") if @@list_ids.blank?
|
105
106
|
raise ArgumentError.new("Please set your Mailbuild subdomain") if @@subdomain.blank?
|
106
107
|
end
|
107
108
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailbuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "1.
|
4
|
+
version: "1.1"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cameron Yule
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-09-03 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|