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(node) ⇒ MethodDefinition

Returns a new instance of MethodDefinition.



12
13
14
# File 'lib/fastererer/method_definition.rb', line 12

def initialize(node)
  @element = node
end

Instance Attribute Details

#elementObject (readonly)

Returns the value of attribute element.



10
11
12
# File 'lib/fastererer/method_definition.rb', line 10

def element
  @element
end

Instance Method Details

#argumentsObject



25
26
27
# File 'lib/fastererer/method_definition.rb', line 25

def arguments
  @arguments ||= parameter_nodes.map { |node| MethodDefinitionArgument.new(node) }
end

#block?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/fastererer/method_definition.rb', line 33

def block?
  !block_parameter.nil?
end

#block_argument_nameObject



29
30
31
# File 'lib/fastererer/method_definition.rb', line 29

def block_argument_name
  block_parameter&.name
end

#bodyObject



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

def body
  @body ||= statement_body
end

#method_nameObject Also known as: name



16
17
18
# File 'lib/fastererer/method_definition.rb', line 16

def method_name
  element.name
end

#setter?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/fastererer/method_definition.rb', line 37

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