Class: Nasl::Tree
- Inherits:
-
Array
- Object
- Array
- Nasl::Tree
- Defined in:
- lib/nasl/parser/tree.rb
Instance Method Summary collapse
- #all(cls) ⇒ Object
-
#initialize(parent = nil) ⇒ Tree
constructor
A new instance of Tree.
- #register(node) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(parent = nil) ⇒ Tree
Returns a new instance of Tree.
40 41 42 43 |
# File 'lib/nasl/parser/tree.rb', line 40 def initialize(parent=nil) @parent = parent @all = {} end |
Instance Method Details
#all(cls) ⇒ Object
31 32 33 |
# File 'lib/nasl/parser/tree.rb', line 31 def all(cls) (@all[Nasl.const_get(cls).to_s] ||= []) end |
#register(node) ⇒ Object
35 36 37 38 |
# File 'lib/nasl/parser/tree.rb', line 35 def register(node) (@all[node.class.name] ||= []) << node @parent.register(node) unless @parent.nil? end |
#to_s ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/nasl/parser/tree.rb', line 45 def to_s text = '' xml = Builder::XmlMarkup.new(:target=>text, :indent=>2) if empty? xml.tree else xml.tree { self.map { |node| node.to_xml(xml) } } end text end |