module Namecheap::API

Constants

PRODUCTION
SANDBOX

Public Instance Methods

get(command, options = {}) click to toggle source
# File lib/namecheap/api.rb, line 5
def get(command, options = {})
  request :get, command, options
end
post(command, options = {}) click to toggle source
# File lib/namecheap/api.rb, line 9
def post(command, options = {})
  request :post, command, options
end

Private Instance Methods

base_uri() click to toggle source
# File lib/namecheap/api.rb, line 15
def base_uri
  Namecheap.config[:sandbox] ? SANDBOX : PRODUCTION
end
params(options = {}) click to toggle source
# File lib/namecheap/api.rb, line 25
def params(options = {})
  params = ''

  {
    ApiUser:  Namecheap.config[:user],
    ApiKey:   Namecheap.config[:api_key],
    ClientIp: Namecheap.config[:ip],
    UserName: Namecheap.config[:user]
  }.merge(options).each do |key, value|
    params += "&#{key}=#{value}"
  end

  params.gsub(/^&/, '?')
end
request(type, command, options = {}) click to toggle source
# File lib/namecheap/api.rb, line 19
def request(type, command, options = {})
  endpoint = "#{params(options)}&Command=namecheap.#{command}"

  HTTParty.send(type, "#{base_uri}#{endpoint}")
end