Class: Delorean::BaseNode

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

Direct Known Subclasses

SubNode, SubNodeNested

Instance Method Summary collapse

Instance Method Details

#check(context) ⇒ Object

defines a base node



71
72
73
# File 'lib/delorean/nodes.rb', line 71

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

#def_class(context, base_name) ⇒ Object



75
76
77
78
79
80
81
# File 'lib/delorean/nodes.rb', line 75

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



83
84
85
# File 'lib/delorean/nodes.rb', line 83

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