Class: JokerDMAPI::Client

Inherits:
Object
  • Object
show all
Includes:
Contact, Domain, Host, Result, Version
Defined in:
lib/joker-dmapi/client.rb

Constant Summary collapse

DEFAULT_URI =
'https://dmapi.joker.com:443/request/'

Constants included from Contact

JokerDMAPI::Contact::CONTACT_ALLOWED, JokerDMAPI::Contact::CONTACT_LENGTH_LIMIT, JokerDMAPI::Contact::CONTACT_REQUIRED

Constants included from Version

Version::VERSION

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Domain

#domain_create, #domain_info, #domain_registrant_update, #domain_renew, #domain_update

Methods included from Host

#host_create, #host_info, #host_update

Methods included from Contact

#contact_create, #contact_create_result, #contact_delete, #contact_info, #contact_update

Methods included from Result

#complete?, #result_delete, #result_retrieve

Constructor Details

#initialize(username, password, uri = DEFAULT_URI) ⇒ Client

Returns a new instance of Client.



20
21
22
# File 'lib/joker-dmapi/client.rb', line 20

def initialize(username, password, uri = DEFAULT_URI)
  @username, @password, @uri = username, password, uri
end

Class Method Details

.connection(username, password, uri = DEFAULT_URI, &block) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/joker-dmapi/client.rb', line 24

def self.connection(username, password, uri = DEFAULT_URI, &block)
  connection = self.new(username, password, uri)
  if block_given?
    yield connection
    connection.logout
  else
    connection
  end
end

Instance Method Details

#logoutObject



34
35
36
37
38
39
# File 'lib/joker-dmapi/client.rb', line 34

def logout
  unless @auth_sid.nil?
    query :logout
    @auth_sid = nil
  end
end

#query(request, params = {}) ⇒ Object



41
42
43
44
45
46
# File 'lib/joker-dmapi/client.rb', line 41

def query(request, params = {})
  response = query_no_raise request, params
  return response if response[:headers][:status_code] == '0'
  return response if request == :logout && response[:headers][:status_code] == '1000'
  raise_response response
end

#tldsObject



48
49
50
51
# File 'lib/joker-dmapi/client.rb', line 48

def tlds
  auth_sid unless @auth_sid
  @tlds
end