Module: NominetEPP::Operations::Merge

Included in:
Client
Defined in:
lib/nominet-epp/operations/merge.rb

Overview

EPP Merge Operation

Instance Method Summary collapse

Instance Method Details

#merge(target, sources = {}) ⇒ false, Response

Merge accounts or domains into an Account

Parameters:

  • target (String)

    Account ID to merge into

  • sources (Hash) (defaults to: {})

    Account IDs to merge into the target

Options Hash (sources):

  • :accounts (Array)

    Account numbers to merge

  • :names (Array)

    Account names to merge

  • :domains (Array)

    Domain names to merge

Returns:

  • (false)

    merge failed

  • (Response)

    merge succeded



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/nominet-epp/operations/merge.rb', line 14

def merge(target, sources = {})
  @resp = @client.update do
    ('merge') do |node, ns|
      node << XML::Node.new('roid', target, ns)

      (sources[:accounts] || []).each do |acct|
        n = XML::Node.new('roid', acct, ns)
        n['source'] = 'y'
        node << n
      end

      (sources[:names] || []).each do |name|
        node << XML::Node.new('name', name, ns)
      end

      (sources[:domains] || []).each do |domain|
        node << XML::Node.new('domain-name', domain, ns)
      end
    end
  end

  return false unless @resp.success?

  @resp  # Need to test this to see what gets returned
end