Sha256: c1ff822cfe531a70de0cdf90c29b41b6d56fe7fc50b1c3cee8df27bb4dabffcf

Contents?: true

Size: 1.72 KB

Versions: 2

Compression:

Stored size: 1.72 KB

Contents

module Loopiator
  module Domains
    
    def domain_is_free(domain_name)
      response      =   parse_status_response(call("domainIsFree", encode_domain(domain_name)))
      
      return response.eql?(:ok)
    end
    
    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
    
    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
    
    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)
        end
      end
      
      return success
    end
    
    private
    def encode_domain(domain_name)
      Loopiator::Utilities.encode_domain(domain_name)
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
loopiator-0.3.1 lib/loopiator/domains.rb
loopiator-0.3.0 lib/loopiator/domains.rb