module SendGrid4r::REST::Whitelabel::Ips

SendGrid Web API v3 Whitelabel Ips

Constants

ARecord
Ip
Result
User
ValidationResult
ValidationResults

Public Class Methods

create_a_record(resp) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 51
def self.create_a_record(resp)
  return resp if resp.nil?
  ARecord.new(resp['host'], resp['type'], resp['data'], resp['valid'])
end
create_ip(resp) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 31
def self.create_ip(resp)
  return resp if resp.nil?
  Ip.new(
    resp['id'],
    resp['ip'],
    resp['rdns'],
    Ips.create_users(resp['users']),
    resp['subdomain'],
    resp['domain'],
    resp['valid'],
    resp['legacy'],
    Ips.create_a_record(resp['a_record'])
  )
end
create_ips(resp) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 26
def self.create_ips(resp)
  return resp if resp.nil?
  resp.map { |ip| Ips.create_ip(ip) }
end
create_result(resp) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 60
def self.create_result(resp)
  return resp if resp.nil?
  Result.new(
    resp['id'],
    resp['valid'],
    Ips.create_validation_results(resp['validation_results'])
  )
end
create_users(resp) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 46
def self.create_users(resp)
  return resp if resp.nil?
  resp.map { |user| Ips.create_a_record(user) }
end
create_validation_result(resp) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 76
def self.create_validation_result(resp)
  return resp if resp.nil?
  ValidationResult.new(resp['valid'], resp['reason'])
end
create_validation_results(resp) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 69
def self.create_validation_results(resp)
  return resp if resp.nil?
  ValidationResults.new(
    Ips.create_validation_result(resp['a_record'])
  )
end
url(id = nil) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 20
def self.url(id = nil)
  url = "#{BASE_URL}/whitelabel/ips"
  url = "#{url}/#{id}" unless id.nil?
  url
end

Public Instance Methods

delete_wl_ip(id:, &block) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 105
def delete_wl_ip(id:, &block)
  delete(@auth, Ips.url(id), &block)
end
get_wl_ip(id:, &block) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 100
def get_wl_ip(id:, &block)
  resp = get(@auth, Ips.url(id), nil, &block)
  finish(resp, @raw_resp) { |r| Ips.create_ip(r) }
end
get_wl_ips(ip: nil, limit: nil, offset: nil, &block) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 81
def get_wl_ips(ip: nil, limit: nil, offset: nil, &block)
  params = {}
  params[:ip] = ip unless ip.nil?
  params[:limit] = limit unless limit.nil?
  params[:offset] = offset unless offset.nil?
  resp = get(@auth, Ips.url, params, &block)
  finish(resp, @raw_resp) { |r| Ips.create_ips(r) }
end
post_wl_ip(ip:, subdomain:, domain:, &block) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 90
def post_wl_ip(ip:, subdomain:, domain:, &block)
  params = {
    ip: ip,
    subdomain: subdomain,
    domain: domain
  }
  resp = post(@auth, Ips.url, params, &block)
  finish(resp, @raw_resp) { |r| Ips.create_ip(r) }
end
validate_wl_ip(id:, &block) click to toggle source
# File lib/sendgrid4r/rest/whitelabel/ips.rb, line 109
def validate_wl_ip(id:, &block)
  resp = post(@auth, "#{Ips.url(id)}/validate", &block)
  finish(resp, @raw_resp) { |r| Ips.create_result(r) }
end