class ANTLR3::Template::Context
Constants
- ATTR_FORM
- SETTER_FORM
- VARIABLE_FORM
Attributes
group[RW]
name[RW]
parameters[RW]
Public Class Methods
define( group, name, parameters ) { |self| ... }
click to toggle source
# File lib/antlr3/template.rb, line 243 def define( group, name, parameters ) Class.new( self ) do include( group ) @group = group @name = name @parameters = parameters block_given? and yield( self ) end end
define_alias( name ) { |new| ... }
click to toggle source
# File lib/antlr3/template.rb, line 235 def define_alias( name ) new = clone new.name = name new.group = @group block_given? and yield( new ) return( new ) end
new( variable_map = nil ) { |self| ... }
click to toggle source
# File lib/antlr3/template.rb, line 281 def initialize( variable_map = nil ) variable_map and self << variable_map block_given? and yield( self ) end
Public Instance Methods
<<( variable_map )
click to toggle source
# File lib/antlr3/template.rb, line 274 def <<( variable_map ) variable_map.each_pair do | name, value | self[ name ] = value end return( self ) end
[]( name )
click to toggle source
# File lib/antlr3/template.rb, line 269 def []( name ) name = make_ivar( name ) instance_variable_defined?( name ) ? instance_variable_get( name ) : nil end
[]=( name, value )
click to toggle source
# File lib/antlr3/template.rb, line 265 def []=( name, value ) instance_variable_set( make_ivar( name ), value ) end
method_missing( method, *args )
click to toggle source
Calls superclass method
# File lib/antlr3/template.rb, line 256 def method_missing( method, *args ) case name = method.to_s when SETTER_FORM then return( self[ $1 ] = args.first ) when ATTR_FORM args.empty? and has_ivar?( name ) and return( self[ name ] ) end super end
Private Instance Methods
has_ivar?( name )
click to toggle source
# File lib/antlr3/template.rb, line 288 def has_ivar?( name ) instance_variable_defined?( make_ivar( name ) ) end
make_ivar( name )
click to toggle source
# File lib/antlr3/template.rb, line 292 def make_ivar( name ) name = name.to_s VARIABLE_FORM =~ name or raise ArgumentError, "cannot convert %p to an instance variable name" % name $1 ? name : "@#{ name }" end