Sha256: ca35fc6f966e5c9c20d0e9f208ea024cdcc3ba2c9e5f955e96339db36707627d

Contents?: true

Size: 682 Bytes

Versions: 12

Compression:

Stored size: 682 Bytes

Contents

#
# tests/visitor.rb
#
#   Copyright (C) UENO Katsuhiro 2002
#
# $Id: visitor.rb,v 1.3 2002/09/24 21:39:30 katsu Exp $
#

module RecordingVisitor

  def initialize
    @result = []
  end

  attr_reader :result

  def self.new_class(visitor)
    klass = Class.new
    mod = self
    klass.module_eval { include mod, visitor }
    methods = visitor.instance_methods
    visitor.included_modules.each { |i| methods.concat i.instance_methods }
    methods.sort.uniq.each { |i|
      klass.module_eval <<-END, __FILE__, __LINE__ + 1
        def #{i}(*args)
          @result.push [ :#{i} ].concat(args)
        end
      END
    }
    klass
  end


end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rgen-0.5.3 redist/xmlscan/tests/visitor.rb
rgen-0.5.4 redist/xmlscan/tests/visitor.rb
rgen-0.5.1 redist/xmlscan/tests/visitor.rb
rgen-0.5.2 redist/xmlscan/tests/visitor.rb
rgen-0.4.0 redist/xmlscan/tests/visitor.rb
rgen-0.4.1 redist/xmlscan/tests/visitor.rb
rgen-0.4.2 redist/xmlscan/tests/visitor.rb
rgen-0.5.0 redist/xmlscan/tests/visitor.rb
rgen-0.4.4 redist/xmlscan/tests/visitor.rb
rgen-0.4.6 redist/xmlscan/tests/visitor.rb
rgen-0.4.5 redist/xmlscan/tests/visitor.rb
rgen-0.4.3 redist/xmlscan/tests/visitor.rb