mailbuild 1.0 → 1.1

Sign up to get free protection for your applications and to get access to all the features.
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