class Fasterer::MethodDefinition
Attributes
arguments[R]
block_argument_name[R]
body[R]
element[R]
method_name[R]
name[R]
Public Class Methods
new(element)
click to toggle source
# File lib/fasterer/method_definition.rb, line 11 def initialize(element) @element = element # Ripper element set_method_name set_body set_arguments set_block_argument_name end
Public Instance Methods
has_block?()
click to toggle source
# File lib/fasterer/method_definition.rb, line 19 def has_block? !!@block_argument_name end
setter?()
click to toggle source
# File lib/fasterer/method_definition.rb, line 23 def setter? name.to_s.end_with?('=') end
Private Instance Methods
arguments_element()
click to toggle source
# File lib/fasterer/method_definition.rb, line 29 def arguments_element element[2].drop(1) || [] end
last_argument_element()
click to toggle source
# File lib/fasterer/method_definition.rb, line 53 def last_argument_element arguments_element.last end
set_arguments()
click to toggle source
# File lib/fasterer/method_definition.rb, line 37 def set_arguments @arguments = arguments_element.map do |argument_element| MethodDefinitionArgument.new(argument_element) end end
set_block_argument_name()
click to toggle source
# File lib/fasterer/method_definition.rb, line 47 def set_block_argument_name if last_argument_element.to_s.start_with?('&') @block_argument_name = last_argument_element.to_s[1..-1].to_sym end end
set_body()
click to toggle source
# File lib/fasterer/method_definition.rb, line 43 def set_body @body = @element[3..-1] end
set_method_name()
click to toggle source
# File lib/fasterer/method_definition.rb, line 33 def set_method_name @method_name = @element[1] end