mailbuild 1.0 → 1.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.
- 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
|
|