Class: Plist::Listener

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeListener

Returns a new instance of Listener.



38
39
40
41
# File 'lib/plist/parser.rb', line 38

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

Instance Attribute Details

#openObject

include REXML::StreamListener



36
37
38
# File 'lib/plist/parser.rb', line 36

def open
  @open
end

#resultObject

include REXML::StreamListener



36
37
38
# File 'lib/plist/parser.rb', line 36

def result
  @result
end

Instance Method Details

#tag_end(name) ⇒ Object



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

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



44
45
46
# File 'lib/plist/parser.rb', line 44

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

#text(contents) ⇒ Object



48
49
50
# File 'lib/plist/parser.rb', line 48

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