Class: PleskLib::Actions::CreateSubscription

Inherits:
Base
  • Object
show all
Defined in:
lib/plesk_lib/actions/create_subscription.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#execute_on

Constructor Details

#initialize(subscription) ⇒ CreateSubscription

Returns a new instance of CreateSubscription.



4
5
6
# File 'lib/plesk_lib/actions/create_subscription.rb', line 4

def initialize(subscription)
  @subscription = subscription
end

Instance Attribute Details

#guidObject (readonly)

Returns the value of attribute guid.



2
3
4
# File 'lib/plesk_lib/actions/create_subscription.rb', line 2

def guid
  @guid
end

#plesk_idObject (readonly)

Returns the value of attribute plesk_id.



2
3
4
# File 'lib/plesk_lib/actions/create_subscription.rb', line 2

def plesk_id
  @plesk_id
end

#subscriptionObject (readonly)

Returns the value of attribute subscription.



2
3
4
# File 'lib/plesk_lib/actions/create_subscription.rb', line 2

def subscription
  @subscription
end

Instance Method Details

#analyse(xml_document) ⇒ Object



50
51
52
53
54
# File 'lib/plesk_lib/actions/create_subscription.rb', line 50

def analyse(xml_document)
  add_node = xml_document.root.locate('*/result').first
  @plesk_id = add_node.id.text.to_i
  @guid = add_node.guid.text
end

#build_xmlObject

Creates Object & Packet



9
10
11
12
13
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
39
40
41
42
43
44
45
46
47
48
# File 'lib/plesk_lib/actions/create_subscription.rb', line 9

def build_xml
  xml = Builder::XmlMarkup.new
  xml.instruct!
  xml.packet(:version => '1.6.3.5') {
    xml.webspace {
      xml.add {
        xml.gen_setup{
          xml.name(subscription.name)
          if subscription.owner_id.present?
            xml.tag!('owner-id', subscription.owner_id)
          end
          if subscription..present?
            xml.tag!('owner-login', subscription.)
          end
          xml.ip_address(subscription.ip_address)
        }
        xml.hosting{
          xml.vrt_hst{
            xml.property{
              xml.name('ftp_login')
              xml.value(subscription.)
            }
            xml.property{
              xml.name('ftp_password')
              xml.value(subscription.ftp_password)
            }
            xml.ip_address(subscription.ip_address)
          }
        }
        if subscription.service_plan_id.present?
          xml.tag!('plan-id', subscription.service_plan_id)
        end
        if subscription.service_plan_name.present?
          xml.tag!('plan-name', subscription.service_plan_name)
        end
      }
    }
  }
  xml.target!
end