Class: Inch::Language::Elixir::CodeObject::FunctionParameterObject
- Inherits:
-
Object
- Object
- Inch::Language::Elixir::CodeObject::FunctionParameterObject
- Defined in:
- lib/inch/language/elixir/code_object/function_parameter_object.rb
Overview
Proxy class for method parameters
Constant Summary collapse
- BAD_NAME_EXCEPTIONS =
%w(id)
- BAD_NAME_THRESHOLD =
3
Instance Method Summary collapse
- #[](key) ⇒ Object
-
#bad_name? ⇒ Boolean
true
if the name of the parameter is uncommunicative. -
#block? ⇒ Boolean
true
if the parameter is a block. -
#described? ⇒ Boolean
true
if an additional description given?. -
#initialize(attributes) ⇒ FunctionParameterObject
constructor
A new instance of FunctionParameterObject.
-
#mentioned? ⇒ Boolean
true
if the parameter is mentioned in the docs. - #name ⇒ Object (also: #fullname)
-
#splat? ⇒ Boolean
true
if the parameter is a splat argument. -
#typed? ⇒ Boolean
true
if the type of the parameter is defined. - #unnamed? ⇒ Boolean
-
#wrongly_mentioned? ⇒ Boolean
true
if the parameter is mentioned in the docs, but not present in the method’s signature.
Constructor Details
#initialize(attributes) ⇒ FunctionParameterObject
Returns a new instance of FunctionParameterObject.
7 8 9 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 7 def initialize(attributes) @attributes = attributes end |
Instance Method Details
#[](key) ⇒ Object
11 12 13 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 11 def [](key) @attributes[key] end |
#bad_name? ⇒ Boolean
Returns true
if the name of the parameter is uncommunicative.
20 21 22 23 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 20 def bad_name? return false if BAD_NAME_EXCEPTIONS.include?(name) name.size < BAD_NAME_THRESHOLD || name =~ /[0-9]$/ end |
#block? ⇒ Boolean
Returns true
if the parameter is a block.
26 27 28 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 26 def block? self[:block?] end |
#described? ⇒ Boolean
Returns true
if an additional description given?.
31 32 33 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 31 def described? self[:described?] end |
#mentioned? ⇒ Boolean
Returns true
if the parameter is mentioned in the docs.
36 37 38 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 36 def mentioned? self[:mentioned?] end |
#name ⇒ Object Also known as: fullname
40 41 42 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 40 def name self[:name] end |
#splat? ⇒ Boolean
Returns true
if the parameter is a splat argument.
46 47 48 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 46 def splat? self[:splat?] end |
#typed? ⇒ Boolean
Returns true
if the type of the parameter is defined.
51 52 53 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 51 def typed? self[:typed?] end |
#unnamed? ⇒ Boolean
55 56 57 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 55 def unnamed? name == '' end |
#wrongly_mentioned? ⇒ Boolean
Returns true
if the parameter is mentioned in the docs, but not present in the method’s signature.
61 62 63 |
# File 'lib/inch/language/elixir/code_object/function_parameter_object.rb', line 61 def wrongly_mentioned? self[:wrongly_mentioned?] end |