Class: Fastererer::MethodDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/fastererer/method_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(element) ⇒ MethodDefinition

Returns a new instance of MethodDefinition.



10
11
12
13
14
15
16
# File 'lib/fastererer/method_definition.rb', line 10

def initialize(element)
  @element = element # Ripper element
  set_method_name
  set_body
  set_arguments
  set_block_argument_name
end

Instance Attribute Details

#argumentsObject (readonly)

Exposed for testing purposes.



6
7
8
# File 'lib/fastererer/method_definition.rb', line 6

def arguments
  @arguments
end

#block_argument_nameObject (readonly)

Exposed for testing purposes.



6
7
8
# File 'lib/fastererer/method_definition.rb', line 6

def block_argument_name
  @block_argument_name
end

#bodyObject (readonly)

Exposed for testing purposes.



6
7
8
# File 'lib/fastererer/method_definition.rb', line 6

def body
  @body
end

#elementObject (readonly)

Exposed for testing purposes.



6
7
8
# File 'lib/fastererer/method_definition.rb', line 6

def element
  @element
end

#method_nameObject (readonly) Also known as: name

Exposed for testing purposes.



6
7
8
# File 'lib/fastererer/method_definition.rb', line 6

def method_name
  @method_name
end

Instance Method Details

#block?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/fastererer/method_definition.rb', line 18

def block?
  !!@block_argument_name
end

#setter?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/fastererer/method_definition.rb', line 22

def setter?
  name.to_s.end_with?('=')
end