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.
Files changed (2) hide show
  1. data/lib/mailbuild/mailbuild.rb +11 -10
  2. metadata +2 -2
@@ -9,12 +9,12 @@ class Mailbuild
9
9
 
10
10
  include MailbuildError
11
11
 
12
- cattr_accessor :api_key, :list_id, :subdomain
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 = @@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 = @@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 = @@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 = @@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 = @@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 = @@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 = @@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 ID") if @@list_id.blank?
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.0"
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-07-24 00:00:00 +01:00
12
+ date: 2008-09-03 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15