Class: RubySimpleParser::Method

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

Constant Summary collapse

METHOD_REGEX =
/def\s+(?<method_name>(self\.)?\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) ⇒ Method

Returns a new instance of Method.



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

def initialize(definition, visibility, parent = nil)
  super definition, parent
  @visibility = visibility
  @name = Method.extract_method_name definition
end

Class Method Details

.extract_method_name(code) ⇒ Object



19
20
21
# File 'lib/generators/brain_damage/lib/ruby_simple_parser/method.rb', line 19

def self.extract_method_name(code)
  (code.match METHOD_REGEX)[:method_name].to_sym
end

Instance Method Details

#private?Boolean

Returns:

  • (Boolean)


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

def private?
  @visibility == :private
end

#public?Boolean

Returns:

  • (Boolean)


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

def public?
  @visibility == :public
end