Class: Delorean::BaseNode

Inherits:
SNode
  • Object
show all
Defined in:
lib/delorean/nodes.rb

Direct Known Subclasses

SubNode

Instance Method Summary collapse

Instance Method Details

#check(context) ⇒ Object

defines a base node



67
68
69
# File 'lib/delorean/nodes.rb', line 67

def check(context, *)
  context.parse_define_node(n.text_value, nil)
end

#def_class(context, base_name) ⇒ Object



71
72
73
74
75
76
77
# File 'lib/delorean/nodes.rb', line 71

def def_class(context, base_name)
  # Nodes are simply translated to classes.  Define our own
  # self.name() since it's extremely slow in MRI 2.0.
  "class #{n.text_value} < #{base_name}; " +
    "def self.module_name; '#{context.module_name}'; end;" +
    "def self.name; '#{n.text_value}'; end; end"
end

#rewrite(context) ⇒ Object



79
80
81
# File 'lib/delorean/nodes.rb', line 79

def rewrite(context)
  def_class(context, "BaseClass")
end