Class: Plist::Listener

Inherits:
Object
  • Object
show all
Defined in:
lib/facter/util/plist/parser.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeListener



37
38
39
40
# File 'lib/facter/util/plist/parser.rb', line 37

def initialize
    @result = nil
    @open   = Array.new
end

Instance Attribute Details

#openObject

include REXML::StreamListener



35
36
37
# File 'lib/facter/util/plist/parser.rb', line 35

def open
  @open
end

#resultObject

include REXML::StreamListener



35
36
37
# File 'lib/facter/util/plist/parser.rb', line 35

def result
  @result
end

Instance Method Details

#tag_end(name) ⇒ Object



51
52
53
54
55
56
57
58
# File 'lib/facter/util/plist/parser.rb', line 51

def tag_end(name)
    last = @open.pop
    if @open.empty?
        @result = last.to_ruby
    else
        @open.last.children.push last
    end
end

#tag_start(name, attributes) ⇒ Object



43
44
45
# File 'lib/facter/util/plist/parser.rb', line 43

def tag_start(name, attributes)
    @open.push PTag::mappings[name].new
end

#text(contents) ⇒ Object



47
48
49
# File 'lib/facter/util/plist/parser.rb', line 47

def text( contents )
    @open.last.text = contents if @open.last
end