lib/sendgrid4r/rest/ips/pools.rb in sendgrid4r-0.2.0 vs lib/sendgrid4r/rest/ips/pools.rb in sendgrid4r-0.3.0
- old
+ new
@@ -15,48 +15,63 @@
module Pools
include SendGrid4r::REST::Request
Pool = Struct.new(:pool_name, :name, :ips)
+ def self.create_pools(resp)
+ return resp if resp.nil?
+ pools = []
+ resp.each do |pool|
+ pools.push(SendGrid4r::REST::Ips::Pools.create_pool(pool))
+ end
+ pools
+ end
+
def self.create_pool(resp)
+ return resp if resp.nil?
ips = []
Array(resp['ips']).each { |ip| ips.push(ip) }
Pool.new(resp['pool_name'], resp['name'], ips)
end
- def post_pool(name)
+ def self.url(name = nil, ips = nil, ip = nil)
+ url = "#{SendGrid4r::Client::BASE_URL}/ips/pools"
+ url = "#{url}/#{name}" unless name.nil?
+ url = "#{url}/#{ips}" unless ips.nil?
+ url = "#{url}/#{ip}" unless ip.nil?
+ url
+ end
+
+ def post_pool(name, &block)
resp = post(
- @auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools", name: name
+ @auth, SendGrid4r::REST::Ips::Pools.url, name: name, &block
)
SendGrid4r::REST::Ips::Pools.create_pool(resp)
end
- def get_pools
- resp_a = get(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools")
- pools = []
- resp_a.each do |resp|
- pools.push(SendGrid4r::REST::Ips::Pools.create_pool(resp))
- end
- pools
+ def get_pools(&block)
+ resp = get(@auth, SendGrid4r::REST::Ips::Pools.url, &block)
+ SendGrid4r::REST::Ips::Pools.create_pools(resp)
end
- def get_pool(name)
+ def get_pool(name, &block)
resp = get(
- @auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools/#{name}"
+ @auth, SendGrid4r::REST::Ips::Pools.url(name), &block
)
SendGrid4r::REST::Ips::Pools.create_pool(resp)
end
- def put_pool(name, new_name)
+ def put_pool(name, new_name, &block)
resp = put(
@auth,
- "#{SendGrid4r::Client::BASE_URL}/ips/pools/#{name}",
- name: new_name)
+ SendGrid4r::REST::Ips::Pools.url(name),
+ name: new_name,
+ &block)
SendGrid4r::REST::Ips::Pools.create_pool(resp)
end
- def delete_pool(name)
- delete(@auth, "#{SendGrid4r::Client::BASE_URL}/ips/pools/#{name}")
+ def delete_pool(name, &block)
+ delete(@auth, SendGrid4r::REST::Ips::Pools.url(name), &block)
end
end
end
end
end