Class: EPP::Commands::Login

Inherits:
Command
  • Object
show all
Defined in:
lib/epp-client/commands/login.rb

Instance Method Summary collapse

Methods inherited from Command

#set_namespaces, #to_s

Methods included from XMLHelpers

#as_xml, #epp_namespace, #epp_node, #xml_document, #xml_namespace, #xml_node

Constructor Details

#initialize(tag, passwd, config) ⇒ Login

Returns a new instance of Login.



6
7
8
# File 'lib/epp-client/commands/login.rb', line 6

def initialize(tag, passwd, config)
  @tag, @passwd, @config = tag, passwd, config
end

Instance Method Details

#nameObject



10
11
12
# File 'lib/epp-client/commands/login.rb', line 10

def name
  'login'
end

#to_xmlObject



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

def to_xml
  node = super
  node << epp_node('clID', @tag, @namespaces || {})
  node << epp_node('pw', @passwd, @namespaces || {})

  options  = epp_node('options', @namespaces || {})
  options << epp_node('version', @config[:version], @namespaces || {})
  options << epp_node('lang', @config[:lang], @namespaces || {})
  node << options

  svcs = epp_node('svcs', @namespaces || {})
  @config[:services].each { |uri| svcs << epp_node('objURI', uri, @namespaces || {}) }
  node << svcs

  unless @config[:extensions].empty?
    ext = epp_node('svcExtension', @namespaces || {})
    @config[:extensions].each do |uri|
      ext << epp_node('extURI', uri, @namespaces || {})
    end
    svcs << ext
  end

  node
end