class ForwardMX

Constants

API_URL
Alias
Domain
VERSION

Public Class Methods

new(apikey) click to toggle source
# File lib/ForwardMX.rb, line 27
def initialize apikey
  @apikey = apikey
end

Public Instance Methods

aliases(domain) click to toggle source
# File lib/ForwardMX.rb, line 35
def aliases domain
  post('aliases', {domain: domain}).map{|d| Alias.new(*d.values)}
end
create_alias(domain, _alias, destination) click to toggle source
# File lib/ForwardMX.rb, line 47
def create_alias domain, _alias, destination
  Result.new(post('alias/create', {domain: domain, alias: _alias, destination: destination}))
end
create_domain(domain) click to toggle source
# File lib/ForwardMX.rb, line 39
def create_domain domain
  Result.new(post('domain/create', {domain: domain}))
end
destroy_alias(domain, _alias) click to toggle source
# File lib/ForwardMX.rb, line 51
def destroy_alias domain, _alias
  Result.new(post('alias/destroy', {domain: domain, alias: _alias}))
end
destroy_domain(domain) click to toggle source
# File lib/ForwardMX.rb, line 43
def destroy_domain domain
  Result.new(post('domain/destroy', {domain: domain}))
end
domains() click to toggle source
# File lib/ForwardMX.rb, line 31
def domains
  post('domains').map{|d| Domain.new(*d.values)}
end
update_alias(domain, _alias, destination) click to toggle source
# File lib/ForwardMX.rb, line 55
def update_alias domain, _alias, destination
  Result.new(post('alias/update', {domain: domain, alias: _alias, destination: destination}))
end

Private Instance Methods

post(path, options = {}) click to toggle source
# File lib/ForwardMX.rb, line 61
def post path, options = {}
  options.merge!(key: @apikey)
  x = Net::HTTP.post_form(URI.parse("#{API_URL}/#{path}"), options)
  JSON.parse(x.body)
end