class ConstantContact::Services::CampaignScheduleService

Public Instance Methods

add_schedule(campaign_id, schedule) click to toggle source

Create a new schedule for a campaign @param [Integer] campaign_id - Campaign id to be scheduled @param [Schedule] schedule - Schedule to be created @return [Schedule]

# File lib/constantcontact/services/campaign_schedule_service.rb, line 15
def add_schedule(campaign_id, schedule)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.campaign_schedules'), campaign_id)
  url = build_url(url)
  payload = schedule.to_json
  response = RestClient.post(url, payload, get_headers())
  Components::Schedule.create(JSON.parse(response.body))
end
delete_schedule(campaign_id, schedule_id) click to toggle source

Delete a specific schedule for a campaign @param [Integer] campaign_id - Campaign id to delete a schedule for @param [Integer] schedule_id - Schedule id to delete @return [Boolean]

# File lib/constantcontact/services/campaign_schedule_service.rb, line 61
def delete_schedule(campaign_id, schedule_id)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.campaign_schedule'), campaign_id, schedule_id)
  url = build_url(url)
  response = RestClient.delete(url, get_headers())
  response.code == 204
end
get_schedule(campaign_id, schedule_id) click to toggle source

Get a specific schedule for a campaign @param [Integer] campaign_id - Campaign id to get a schedule for @param [Integer] schedule_id - Schedule id to retrieve @return [Schedule]

# File lib/constantcontact/services/campaign_schedule_service.rb, line 48
def get_schedule(campaign_id, schedule_id)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.campaign_schedule'), campaign_id, schedule_id)
  url = build_url(url)
  response = RestClient.get(url, get_headers())
  Components::Schedule.create(JSON.parse(response.body))
end
get_schedules(campaign_id) click to toggle source

Get a list of schedules for a campaign @param [Integer] campaign_id - Campaign id to be scheduled @return [Array<Schedule>]

# File lib/constantcontact/services/campaign_schedule_service.rb, line 28
def get_schedules(campaign_id)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.campaign_schedules'), campaign_id)
  url = build_url(url)
  response = RestClient.get(url, get_headers())
  body = JSON.parse(response.body)

  schedules = []
  body.each do |schedule|
    schedules << Components::Schedule.create(schedule)
  end

  schedules
end
send_test(campaign_id, test_send) click to toggle source

Send a test send of a campaign @param [Integer] campaign_id - Id of campaign to send test of @param [TestSend] test_send - Test send details @return [TestSend]

# File lib/constantcontact/services/campaign_schedule_service.rb, line 88
def send_test(campaign_id, test_send)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.campaign_test_sends'), campaign_id)
  url = build_url(url)
  payload = test_send.to_json
  response = RestClient.post(url, payload, get_headers())
  Components::TestSend.create(JSON.parse(response.body))
end
update_schedule(campaign_id, schedule) click to toggle source

Update a specific schedule for a campaign @param [Integer] campaign_id - Campaign id to be scheduled @param [Schedule] schedule - Schedule to retrieve @return [Schedule]

# File lib/constantcontact/services/campaign_schedule_service.rb, line 74
def update_schedule(campaign_id, schedule)
  url = Util::Config.get('endpoints.base_url') +
        sprintf(Util::Config.get('endpoints.campaign_schedule'), campaign_id, schedule.id)
  url = build_url(url)
  payload = schedule.to_json
  response = RestClient.put(url, payload, get_headers())
  Components::Schedule.create(JSON.parse(response.body))
end