Class: Fastererer::MethodDefinitionArgument

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ MethodDefinitionArgument

Returns a new instance of MethodDefinitionArgument.



68
69
70
# File 'lib/fastererer/method_definition.rb', line 68

def initialize(node)
  @element = node
end

Instance Attribute Details

#elementObject (readonly)

Returns the value of attribute element.



66
67
68
# File 'lib/fastererer/method_definition.rb', line 66

def element
  @element
end

Instance Method Details

#default_argument?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/fastererer/method_definition.rb', line 85

def default_argument?
  type == :default_argument
end

#keyword_argument?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/fastererer/method_definition.rb', line 89

def keyword_argument?
  type == :keyword_argument
end

#nameObject

Prism param nodes expose #name (nil when anonymous); MultiTargetNode has none



73
74
75
# File 'lib/fastererer/method_definition.rb', line 73

def name
  element.respond_to?(:name) ? element.name : nil
end

#regular_argument?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/fastererer/method_definition.rb', line 81

def regular_argument?
  type == :regular_argument
end

#typeObject



77
78
79
# File 'lib/fastererer/method_definition.rb', line 77

def type
  @type ||= argument_type
end