Class: RubySimpleParser::ClassDefinition

Inherits:
Block
  • Object
show all
Defined in:
lib/generators/brain_damage/lib/ruby_simple_parser/class_definition.rb

Constant Summary collapse

CLASS_REGEX =
/class\s+(?<class_name>\w+)/

Instance Attribute Summary

Attributes inherited from Block

#lines, #name, #parent

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Block

#add_line, #print

Constructor Details

#initialize(definition, visibility, parent = nil) ⇒ ClassDefinition

Returns a new instance of ClassDefinition.



5
6
7
8
9
# File 'lib/generators/brain_damage/lib/ruby_simple_parser/class_definition.rb', line 5

def initialize(definition, visibility, parent = nil)
  super definition, parent
  @visibility = visibility
  @name = ClassDefinition.extract_class_name definition
end

Class Method Details

.extract_class_name(code) ⇒ Object



11
12
13
# File 'lib/generators/brain_damage/lib/ruby_simple_parser/class_definition.rb', line 11

def self.extract_class_name(code)
  (code.match CLASS_REGEX)[:class_name].to_sym
end

Instance Method Details

#definitionObject



15
16
17
# File 'lib/generators/brain_damage/lib/ruby_simple_parser/class_definition.rb', line 15

def definition
  @lines.first.print
end