Sha256: 1f7f4b6b5bb170de5a11661d93651557ad276b3d2f6c75d4ba82a3f0a88d84fe
Contents?: true
Size: 1.78 KB
Versions: 4
Compression:
Stored size: 1.78 KB
Contents
# -*- encoding: utf-8 -*- module SendGrid4r::REST # # SendGrid Web API v3 Ip Management # module Ips # # SendGrid Web API v3 Ip Management - Pools # module Addresses include Request Address = Struct.new( :ip, :pools, :warmup, :start_date, :subusers, :rdns, :pool_name ) def self.create_addresses(resp) return resp if resp.nil? resp.map { |address| Ips::Addresses.create_address(address) } end def self.create_address(resp) return resp if resp.nil? Address.new( resp['ip'], resp['pools'], resp['warmup'], resp['start_date'].nil? ? nil : Time.at(resp['start_date']), resp['subusers'], resp['rdns'], resp['pool_name'] ) end def self.url(ip = nil) url = "#{BASE_URL}/ips" url = "#{url}/#{ip}" unless ip.nil? url end def post_ip_to_pool(pool_name:, ip:, &block) resp = post(@auth, Ips::Pools.url(pool_name, :ips), ip: ip, &block) finish(resp, @raw_resp) { |r| Ips::Addresses.create_address(r) } end def get_ips(&block) resp = get(@auth, Ips::Addresses.url, &block) finish(resp, @raw_resp) { |r| Ips::Addresses.create_addresses(r) } end def get_ips_assigned(&block) resp = get(@auth, Ips::Addresses.url(:assigned), &block) finish(resp, @raw_resp) { |r| Ips::Addresses.create_addresses(r) } end def get_ip(ip:, &block) resp = get(@auth, Ips::Addresses.url(ip), &block) finish(resp, @raw_resp) { |r| Ips::Addresses.create_address(r) } end def delete_ip_from_pool(pool_name:, ip:, &block) delete(@auth, Ips::Pools.url(pool_name, :ips, ip), &block) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems