class Dynadot::Api

Public Class Methods

new(key = nil) click to toggle source
# File lib/dynadot/api.rb, line 8
def initialize(key = nil)
  raise ArgumentError, 'An API key is required' if key.to_s.empty?
  self.class.default_params key: key.to_s
end

Public Instance Methods

availabile?(domain) click to toggle source
# File lib/dynadot/api.rb, line 35
def availabile?(domain)
  search(domain)[domain]
end
execute(command, parameters = {}) click to toggle source
# File lib/dynadot/api.rb, line 13
def execute(command, parameters = {})
  response = self.class.get '', query: { command: command.to_s }.merge(parameters)
  parse(response)
end

Private Instance Methods

parse(response) click to toggle source
# File lib/dynadot/api.rb, line 40
def parse(response)
  data = response.parsed_response.split("\n")
  data.delete_at(1)

  error = data[0, 2] != 'ok' ? data.shift.split(",")[1] : nil
  results = data.map { |line| line.split(",") }

  if error
    raise error
  else
    return results
  end
end