Class: CampaignMonitor::Campaign

Inherits:
Object
  • Object
show all
Defined in:
lib/campaign_monitor.rb

Overview

Provides access to the information about a campaign

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id = nil, subject = nil, sent_date = nil, total_recipients = nil) ⇒ Campaign

Returns a new instance of Campaign.



303
304
305
306
307
308
309
# File 'lib/campaign_monitor.rb', line 303

def initialize(id=nil, subject=nil, sent_date=nil, total_recipients=nil)
  @id = id
  @subject = subject
  @sent_date = sent_date
  @total_recipients = total_recipients
  @cm_client = CampaignMonitor.new
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



301
302
303
# File 'lib/campaign_monitor.rb', line 301

def id
  @id
end

#sent_dateObject (readonly)

Returns the value of attribute sent_date.



301
302
303
# File 'lib/campaign_monitor.rb', line 301

def sent_date
  @sent_date
end

#subjectObject (readonly)

Returns the value of attribute subject.



301
302
303
# File 'lib/campaign_monitor.rb', line 301

def subject
  @subject
end

#total_recipientsObject (readonly)

Returns the value of attribute total_recipients.



301
302
303
# File 'lib/campaign_monitor.rb', line 301

def total_recipients
  @total_recipients
end

Instance Method Details

#bouncesObject

Example

@campaign = Campaign.new(12345)
@subscriber_bounces = @campaign.bounces

for subscriber in @subscriber_bounces
  puts subscriber.email
end


334
335
336
337
338
339
340
341
# File 'lib/campaign_monitor.rb', line 334

def bounces
  response = @cm_client.Campaign_GetBounces("CampaignID"=> @id)
  unless response["Code"].to_i != 0 
    response["SubscriberBounce"].collect{|s| SubscriberBounce.new(s["EmailAddress"], s["ListID"].to_i, s["BounceType"])}
  else
    raise response["Code"] + " - " + response["Message"]
  end
end

#clicksObject

Example

@campaign = Campaign.new(12345)
@subscriber_clicks = @campaign.clicks

for subscriber in @subscriber_clicks
  puts subscriber.email
end


350
351
352
353
354
355
356
357
# File 'lib/campaign_monitor.rb', line 350

def clicks
  response = @cm_client.Campaign_GetSubscriberClicks("CampaignID" => @id)
  unless response["Code"].to_i != 0 
    response["SubscriberClick"].collect{|s| SubscriberClick.new(s["EmailAddress"], s["ListID"].to_i, s["ClickedLinks"])}
  else
    raise response["Code"] + " - " + response["Message"]
  end
end

#number_bouncedObject

Example

@campaign = Campaign.new(12345)
puts @campaign.number_bounced


406
407
408
# File 'lib/campaign_monitor.rb', line 406

def number_bounced
  @number_bounced.nil? ? getInfo.number_bounced : @number_bounced
end

#number_clicksObject

Example

@campaign = Campaign.new(12345)
puts @campaign.number_clicks


392
393
394
# File 'lib/campaign_monitor.rb', line 392

def number_clicks
  @number_clicks.nil? ? getInfo.number_clicks : @number_clicks
end

#number_openedObject

Example

@campaign = Campaign.new(12345)
puts @campaign.number_opened


385
386
387
# File 'lib/campaign_monitor.rb', line 385

def number_opened
  @number_opened.nil? ? getInfo.number_opened : @number_opened
end

#number_recipientsObject

Example

@campaign = Campaign.new(12345)
puts @campaign.number_recipients


378
379
380
# File 'lib/campaign_monitor.rb', line 378

def number_recipients
  @number_recipients.nil? ? getInfo.number_recipients : @number_recipients
end

#number_unsubscribedObject

Example

@campaign = Campaign.new(12345)
puts @campaign.number_unsubscribed


399
400
401
# File 'lib/campaign_monitor.rb', line 399

def number_unsubscribed
  @number_unsubscribed.nil? ? getInfo.number_unsubscribed : @number_unsubscribed
end

#opensObject

Example

@campaign = Campaign.new(12345)
@subscriber_opens = @campaign.opens

for subscriber in @subscriber_opens
  puts subscriber.email
end


318
319
320
321
322
323
324
325
# File 'lib/campaign_monitor.rb', line 318

def opens
  response = @cm_client.Campaign_GetOpens("CampaignID" => @id)
  unless response["Code"].to_i != 0 
    response["SubscriberOpen"].collect{|s| SubscriberOpen.new(s["EmailAddress"], s["ListID"].to_i, s["NumberOfOpens"])}
  else
    raise response["Code"] + " - " + response["Message"]
  end
end

#unsubscribesObject

Example

@campaign = Campaign.new(12345)
@subscriber_unsubscribes = @campaign.unsubscribes

for subscriber in @subscriber_unsubscribes
  puts subscriber.email
end


366
367
368
369
370
371
372
373
# File 'lib/campaign_monitor.rb', line 366

def unsubscribes
  response = @cm_client.Campaign_GetUnsubscribes("CampaignID" => @id)
  unless response["Code"].to_i != 0 
    response["SubscriberUnsubscribe"].collect{|s| SubscriberUnsubscribe.new(s["EmailAddress"], s["ListID"].to_i)}
  else
    raise response["Code"] + " - " + response["Message"]
  end
end