module SendGrid4r::REST::Sm::Groups

SendGrid Web API v3 Suppression Management - Groups

Constants

Group

Public Class Methods

create_group(resp) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 26
def self.create_group(resp)
  return resp if resp.nil?
  Group.new(
    resp['id'],
    resp['name'],
    resp['description'],
    resp['last_email_sent_at'],
    resp['is_default'],
    resp['unsubscribes']
  )
end
create_groups(resp) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 21
def self.create_groups(resp)
  return resp if resp.nil?
  resp.map { |group| Sm::Groups.create_group(group) }
end
url(group_id = nil) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 15
def self.url(group_id = nil)
  url = "#{BASE_URL}/asm/groups"
  url = "#{url}/#{group_id}" unless group_id.nil?
  url
end

Public Instance Methods

delete_group(group_id:, &block) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 62
def delete_group(group_id:, &block)
  delete(@auth, Sm::Groups.url(group_id), &block)
end
get_group(group_id:, &block) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 51
def get_group(group_id:, &block)
  resp = get(@auth, Sm::Groups.url(group_id), &block)
  finish(resp, @raw_resp) { |r| Sm::Groups.create_group(r) }
end
get_groups(ids: nil, &block) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 45
def get_groups(ids: nil, &block)
  i = ids.map { |id| { id: id } } unless ids.nil?
  resp = get(@auth, Sm::Groups.url, i, &block)
  finish(resp, @raw_resp) { |r| Sm::Groups.create_groups(r) }
end
patch_group(group_id:, group:, &block) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 56
def patch_group(group_id:, group:, &block)
  endpoint = Sm::Groups.url(group_id)
  resp = patch(@auth, endpoint, group.to_h, &block)
  finish(resp, @raw_resp) { |r| Sm::Groups.create_group(r) }
end
post_group(name:, description:, is_default: nil, &block) click to toggle source
# File lib/sendgrid4r/rest/sm/groups.rb, line 38
def post_group(name:, description:, is_default: nil, &block)
  params = { name: name, description: description }
  params[:is_default] = is_default unless is_default.nil?
  resp = post(@auth, Sm::Groups.url, params, &block)
  finish(resp, @raw_resp) { |r| Sm::Groups.create_group(r) }
end