~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to ext/psych/lib/psych/visitors/depth_first.rb

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2011-09-24 19:16:17 UTC
  • mfrom: (1.1.8 upstream) (13.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20110924191617-o1qz4rcmqjot8zuy
Tags: 1.9.3~rc1-1
* New upstream release: 1.9.3 RC1.
  + Includes load.c fixes. Closes: #639959.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
module Psych
 
2
  module Visitors
 
3
    class DepthFirst < Psych::Visitors::Visitor
 
4
      def initialize block
 
5
        @block = block
 
6
      end
 
7
 
 
8
      private
 
9
 
 
10
      def nary o
 
11
        o.children.each { |x| visit x }
 
12
        @block.call o
 
13
      end
 
14
      alias :visit_Psych_Nodes_Stream   :nary
 
15
      alias :visit_Psych_Nodes_Document :nary
 
16
      alias :visit_Psych_Nodes_Sequence :nary
 
17
      alias :visit_Psych_Nodes_Mapping  :nary
 
18
 
 
19
      def terminal o
 
20
        @block.call o
 
21
      end
 
22
      alias :visit_Psych_Nodes_Scalar :terminal
 
23
      alias :visit_Psych_Nodes_Alias  :terminal
 
24
    end
 
25
  end
 
26
end