Module: Loopiator::Domains

Included in:
Client
Defined in:
lib/loopiator/domains.rb

Instance Method Summary collapse

Instance Method Details

#domain_is_free(domain_name) ⇒ Object



4
5
6
7
8
# File 'lib/loopiator/domains.rb', line 4

def domain_is_free(domain_name)
  response      =   parse_status_response(call("domainIsFree", encode_domain(domain_name)))
  
  return response.eql?(:ok)
end

#get_domain(domain_name, customer_number: "") ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/loopiator/domains.rb', line 10

def get_domain(domain_name, customer_number: "")
  domain        =   nil
  response      =   call("getDomain", customer_number, encode_domain(domain_name))
  
  if (response && response.is_a?(Hash))
    domain      =   Loopiator::Models::Domain.new(response)
  end
  
  return domain
end

#get_domains(customer_number: "") ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/loopiator/domains.rb', line 21

def get_domains(customer_number: "")
  domains       =   []
  response      =   call("getDomains", customer_number)
  
  response.each do |item|
    domains    <<   Loopiator::Models::Domain.new(item)
  end if (response && response.is_a?(Array))
  
  return domains
end

#order_domain(domain_name, accept_terms: true, customer_number: "", raise_exception_on_occupied: false) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/loopiator/domains.rb', line 32

def order_domain(domain_name, accept_terms: true, customer_number: "", raise_exception_on_occupied: false)
  response      =   parse_status_response(call("orderDomain", customer_number, encode_domain(domain_name), accept_terms))
  
  raise Loopiator::DomainOccupiedError if (response.eql?(:domain_occupied) && raise_exception_on_occupied)
  
  return response.eql?(:ok)
end

#purchase_domain(domain_name, customer_number: "", raise_exception_on_occupied: false) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/loopiator/domains.rb', line 40

def purchase_domain(domain_name, customer_number: "", raise_exception_on_occupied: false)
  success       =   false
  ordered       =   order_domain(domain_name, accept_terms: true, customer_number: customer_number, raise_exception_on_occupied: raise_exception_on_occupied)
  
  if ordered
    domain      =   get_domain(domain_name, customer_number: customer_number)
    
    if (domain && domain.needs_to_be_paid? && !domain.reference_number.nil? && !domain.reference_number.empty?)
      success   =   pay_invoice_using_credits(domain.reference_number, customer_number: customer_number)
    end
  end
  
  return success
end