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
# File 'lib/loopiator/domains.rb', line 40

def purchase_domain(domain_name, customer_number: "", raise_exception_on_occupied: false)
  success       =   false
  
  order_domain(domain_name, accept_terms: true, customer_number: customer_number, raise_exception_on_occupied: raise_exception_on_occupied)
  
  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
  
  return success
end

#remove_domain(domain, deactivate: true, customer_number: "") ⇒ Object



54
55
56
57
58
# File 'lib/loopiator/domains.rb', line 54

def remove_domain(domain, deactivate: true, customer_number: "")
  response      =   parse_status_response(call("removeDomain", customer_number, encode_domain(domain), deactivate))
  
  return response.eql?(:ok)
end

#remove_subdomain(domain, subdomain, customer_number: "") ⇒ Object



60
61
62
63
64
# File 'lib/loopiator/domains.rb', line 60

def remove_subdomain(domain, subdomain, customer_number: "")
  response      =   parse_status_response(call("removeSubdomain", customer_number, encode_domain(domain), subdomain))
  
  return response.eql?(:ok)
end

#update_nameservers(domain, nameservers = ["ns1.loopia.se", "ns2.loopia.se"], customer_number: "") ⇒ Object



66
67
68
69
70
# File 'lib/loopiator/domains.rb', line 66

def update_nameservers(domain, nameservers = ["ns1.loopia.se", "ns2.loopia.se"], customer_number: "")
  response      =   parse_status_response(call("updateDNSServers", customer_number, encode_domain(domain), nameservers))
  
  return response.eql?(:ok)
end