Module: EPPClient::HostmasterTransfer

Included in:
Hostmaster
Defined in:
lib/epp-client/hostmaster-transfer.rb

Instance Method Summary collapse

Instance Method Details

#transfer(domain, op) ⇒ Object



19
20
21
22
23
# File 'lib/epp-client/hostmaster-transfer.rb', line 19

def transfer(domain, op)
  domain = { name: domain } if domain.is_a? String
  response = send_request(transfer_xml(domain, op))
  get_result(:xml => response, :callback => :transfer_process)
end

#transfer_process(xml) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/epp-client/hostmaster-transfer.rb', line 29

def transfer_process(xml)
  trn = xml.xpath('epp:resData/domain:trnData', EPPClient::SCHEMAS_URL)
  {
    name: trn.xpath('domain:name', EPPClient::SCHEMAS_URL).text,
    trStatus: trn.xpath('domain:trStatus', EPPClient::SCHEMAS_URL).text,
    reID: trn.xpath('domain:reID', EPPClient::SCHEMAS_URL).text,
    reDate: DateTime.parse(trn.xpath('domain:reDate', EPPClient::SCHEMAS_URL).text),
    acID: trn.xpath('domain:acID', EPPClient::SCHEMAS_URL).text,
    acDate: DateTime.parse(trn.xpath('domain:acDate', EPPClient::SCHEMAS_URL).text),
    exDate: DateTime.parse(trn.xpath('domain:exDate', EPPClient::SCHEMAS_URL).text)
  }
end

#transfer_xml(domain, op) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/epp-client/hostmaster-transfer.rb', line 3

def transfer_xml(domain, op)
  command do |xml|
    xml.transfer op: op do
      xml.domain :transfer, 'xmlns:domain' => EPPClient::SCHEMAS_URL['domain-1.1'] do
        xml.domain :name, domain[:name]
        domain_period_xml(xml, domain[:period]) if domain.key? :period
        if domain.key? :authInfo
          xml.domain :authInfo do
            xml.domain :pw, domain[:authInfo]
          end
        end
      end
    end
  end
end