class Sendgrid::API::Newsletter::Categories::Services

Public Instance Methods

add(marketing_email, category) click to toggle source

Assign a Category to an existing Marketing Email.

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

# File lib/sendgrid/api/newsletter/categories.rb, line 34
def add(marketing_email, category)
  params = { :name => extract_marketing_email(marketing_email), :category => extract_category(category) }
  perform_request(Entities::Response, 'newsletter/category/add.json', params)
end
create(category) click to toggle source

Create a new Category.

@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/categories.html#-create @param category [String, Entities::Category] A category name or Entities::Category object. @return [Entities::Response] An Entities::Response object.

# File lib/sendgrid/api/newsletter/categories.rb, line 23
def create(category)
  params = { :category => extract_category(category) }
  perform_request(Entities::Response, 'newsletter/category/create.json', params)
end
list() click to toggle source

List all categories.

@see sendgrid.com/docs/API_Reference/Marketing_Emails_API/categories.html#-list @return [Array<Entities::Category>] An array of Entities::Category objects.

# File lib/sendgrid/api/newsletter/categories.rb, line 54
def list
  perform_request(Entities::Category, 'newsletter/category/list.json')
end
remove(marketing_email, category) click to toggle source

Remove specific categories, or all categories from a Marketing Email.

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

# File lib/sendgrid/api/newsletter/categories.rb, line 45
def remove(marketing_email, category)
  params = { :name => extract_marketing_email(marketing_email), :category => extract_category(category) }
  perform_request(Entities::Response, 'newsletter/category/remove.json', params)
end

Private Instance Methods

extract_category(category) click to toggle source
# File lib/sendgrid/api/newsletter/categories.rb, line 60
def extract_category(category)
  case category
  when ::String
    category
  when Entities::Category
    category.category
  end
end