class Sendgrid::API::Newsletter::Schedule::Services

Public Instance Methods

add(marketing_email, options = {}) click to toggle source

Schedule a delivery time for an existing Marketing Email.

@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/schedule.html#-add @param marketing_email [String, Entities::MarketingEmail] A marketing email name or Entities::MarketingEmail object. @param options [Hash] A customizable set of options. @option options [String] :at Date/Time to schedule marketing email Delivery. Date/Time must be provided in ISO 8601 format (YYYY-MM-DD HH:MM:SS+-HH:MM) @option options [Fixnum] :after Number of minutes until delivery should occur. Must be a positive integer. @return [Entities::Response] An Entities::Response object.

# File lib/sendgrid/api/newsletter/schedule.rb, line 26
def add(marketing_email, options = {})
  options.keep_if {|key, value| [:at, :after].include?(key) }
  options[:at] = format_time(options[:at]) if options.member?(:at)
  params = { :name => extract_marketing_email(marketing_email) }
  params.merge!(options) if options.any?
  perform_request(Entities::Response, 'newsletter/schedule/add.json', params)
end
delete(marketing_email) click to toggle source

Cancel a scheduled send for a Marketing Email.

@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/schedule.html#-delete @param marketing_email [String, Entities::MarketingEmail] A marketing email name or Entities::MarketingEmail object. @return [Entities::Response] An Entities::Response object.

# File lib/sendgrid/api/newsletter/schedule.rb, line 49
def delete(marketing_email)
  params = { :name => extract_marketing_email(marketing_email) }
  perform_request(Entities::Response, 'newsletter/schedule/delete.json', params)
end
get(marketing_email) click to toggle source

Retrieve the scheduled delivery time for an existing Marketing Email.

@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/schedule.html#-get @param marketing_email [String, Entities::MarketingEmail] A marketing email name or Entities::MarketingEmail object. @return [Entities::Schedule] An Entities::Schedule objects.

# File lib/sendgrid/api/newsletter/schedule.rb, line 39
def get(marketing_email)
  params = { :name => extract_marketing_email(marketing_email) }
  perform_request(Entities::Schedule, 'newsletter/schedule/get.json', params)
end

Private Instance Methods

format_time(at) click to toggle source
# File lib/sendgrid/api/newsletter/schedule.rb, line 56
def format_time(at)
  case at
  when ::String
    at
  when ::Time
    at.strftime('%Y-%m-%d %H:%M:%S%:z')
  end
end