Class: CampaignMonitor::List
- Inherits:
-
Object
- Object
- CampaignMonitor::List
- Defined in:
- lib/campaign_monitor.rb
Overview
Provides access to the subscribers and info about subscribers associated with a Mailing List
Instance Attribute Summary collapse
-
#cm_client ⇒ Object
readonly
Returns the value of attribute cm_client.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#active_subscribers(date) ⇒ Object
Example current_date = DateTime.new @list = new List(12345) @subscribers = @list.active_subscribers(current_date) for subscriber in @subscribers puts subscriber.email end.
-
#add_subscriber(email, name = nil) ⇒ Object
Example @list = new List(12345) result = @list.add_subscriber(“[email protected]”).
-
#bounced(date) ⇒ Object
Example current_date = DateTime.new @list = new List(12345) @subscribers = @list.bounced(current_date) for subscriber in @subscribers puts subscriber.email end.
-
#initialize(id = nil, name = nil) ⇒ List
constructor
Example @list = new List(12345).
-
#remove_subscriber(email) ⇒ Object
Example @list = new List(12345) result = @list.remove_subscriber(“[email protected]”).
-
#unsubscribed(date) ⇒ Object
Example current_date = DateTime.new @list = new List(12345) @subscribers = @list.unsubscribed(current_date) for subscriber in @subscribers puts subscriber.email end.
Constructor Details
#initialize(id = nil, name = nil) ⇒ List
Example
@list = new List(12345)
216 217 218 219 220 |
# File 'lib/campaign_monitor.rb', line 216 def initialize(id=nil, name=nil) @id = id @name = name @cm_client = CampaignMonitor.new end |
Instance Attribute Details
#cm_client ⇒ Object (readonly)
Returns the value of attribute cm_client.
212 213 214 |
# File 'lib/campaign_monitor.rb', line 212 def cm_client @cm_client end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
212 213 214 |
# File 'lib/campaign_monitor.rb', line 212 def id @id end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
212 213 214 |
# File 'lib/campaign_monitor.rb', line 212 def name @name end |
Instance Method Details
#active_subscribers(date) ⇒ Object
Example
current_date = DateTime.new
@list = new List(12345)
@subscribers = @list.active_subscribers(current_date)
for subscriber in @subscribers
puts subscriber.email
end
254 255 256 257 258 259 260 261 |
# File 'lib/campaign_monitor.rb', line 254 def active_subscribers(date) response = @cm_client.Subscribers_GetActive('ListID' => @id, "Date" => date.strftime("%Y-%m-%d %H:%M:%S")) unless response["Code"].to_i != 0 response["Subscriber"].collect{|s| Subscriber.new(s["EmailAddress"], s["Name"], s["Date"])} else raise response["Code"] + " - " + response["Message"] end end |
#add_subscriber(email, name = nil) ⇒ Object
Example
@list = new List(12345)
result = @list.add_subscriber("[email protected]")
if result.code == 0
puts "Added Subscriber"
end
229 230 231 232 |
# File 'lib/campaign_monitor.rb', line 229 def add_subscriber(email, name = nil) response = @cm_client.Subscriber_Add("ListID" => @id, "Email" => email, "Name" => name) Result.new(response["Message"], response["Code"].to_i) end |
#bounced(date) ⇒ Object
Example
current_date = DateTime.new
@list = new List(12345)
@subscribers = @list.bounced(current_date)
for subscriber in @subscribers
puts subscriber.email
end
288 289 290 291 292 293 294 295 |
# File 'lib/campaign_monitor.rb', line 288 def bounced(date) response = @cm_client.Subscribers_GetBounced('ListID' => @id, 'Date' => date.strftime("%Y-%m-%d %H:%M:%S")) unless response["Code"].to_i != 0 response["Subscriber"].collect{|s| Subscriber.new(s["EmailAddress"], s["Name"], s["Date"])} else raise response["Code"] + " - " + response["Message"] end end |
#remove_subscriber(email) ⇒ Object
Example
@list = new List(12345)
result = @list.remove_subscriber("[email protected]")
if result.code == 0
puts "Deleted Subscriber"
end
241 242 243 244 |
# File 'lib/campaign_monitor.rb', line 241 def remove_subscriber(email) response = @cm_client.Subscriber_Unsubscribe("ListID" => @id, "Email" => email) Result.new(response["Message"], response["Code"].to_i) end |
#unsubscribed(date) ⇒ Object
Example
current_date = DateTime.new
@list = new List(12345)
@subscribers = @list.unsubscribed(current_date)
for subscriber in @subscribers
puts subscriber.email
end
271 272 273 274 275 276 277 278 |
# File 'lib/campaign_monitor.rb', line 271 def unsubscribed(date) response = @cm_client.Subscribers_GetUnsubscribed('ListID' => @id, 'Date' => date.strftime("%Y-%m-%d %H:%M:%S")) unless response["Code"].to_i != 0 response["Subscriber"].collect{|s| Subscriber.new(s["EmailAddress"], s["Name"], s["Date"])} else raise response["Code"] + " - " + response["Message"] end end |