Class: PleskLib::Actions::ListSubscriptions

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#execute_on

Constructor Details

#initialize(owner_id = nil) ⇒ ListSubscriptions

Returns a new instance of ListSubscriptions.



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

def initialize(owner_id = nil)
  @owner_id = owner_id
end

Instance Attribute Details

#subscriptionsObject (readonly)

Returns the value of attribute subscriptions.



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

def subscriptions
  @subscriptions
end

Instance Method Details

#analyse(xml_document) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/plesk_lib/actions/list_subscriptions.rb', line 27

def analyse(xml_document)
  @subscriptions = []
  xml_document.root.webspace.get.nodes.each do |webspace_node|
    subscription = PleskLib::Subscription.new
    # binding.pry
    webspace_node.data.gen_info.nodes.each do |attribute_node|
      subscription_attribute = attribute_node.name.underscore
      next if !subscription.respond_to?(subscription_attribute) ||
              attribute_node.text.blank?
      subscription.send("#{subscription_attribute}=", attribute_node.text)
    end
    subscription.id = webspace_node.id.text.to_i
    @subscriptions << subscription
  end
end

#build_xmlObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/plesk_lib/actions/list_subscriptions.rb', line 8

def build_xml
  xml = Builder::XmlMarkup.new
  xml.instruct!
  xml.packet(:version => '1.6.3.5') {
    xml.webspace {
      xml.get {
        xml.filter {
          xml.tag!('owner-id', @owner_id) if @owner_id.present?
        }
        xml.dataset {
          xml.gen_info
          xml.hosting
        }
      }
    }
  }
  return xml.target!
end