Class: Inch::CodeObject::Provider::YARD::Object::MethodParameterObject
- Inherits:
-
Object
- Object
- Inch::CodeObject::Provider::YARD::Object::MethodParameterObject
- Defined in:
- lib/inch/code_object/provider/yard/object/method_parameter_object.rb
Overview
Proxy class for method parameters
Constant Summary collapse
- BAD_NAME_EXCEPTIONS =
%w(id)
- BAD_NAME_THRESHOLD =
3
Instance Attribute Summary collapse
- #name ⇒ String readonly
Instance Method Summary collapse
-
#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(method, name, in_signature, tag) ⇒ MethodParameterObject
constructor
A new instance of MethodParameterObject.
-
#mentioned? ⇒ Boolean
true
if the parameter is mentioned in the docs. -
#splat? ⇒ Boolean
true
if the parameter is a splat argument. -
#typed? ⇒ Boolean
true
if the type of the parameter is defined. -
#wrongly_mentioned? ⇒ Boolean
true
if the parameter is mentioned in the docs, but not present in the method’s signature.
Constructor Details
#initialize(method, name, in_signature, tag) ⇒ MethodParameterObject
Returns a new instance of MethodParameterObject.
14 15 16 17 18 19 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 14 def initialize(method, name, in_signature, tag) @method = method @name = name @tag = tag @in_signature = in_signature end |
Instance Attribute Details
#name ⇒ String (readonly)
8 9 10 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 8 def name @name end |
Instance Method Details
#bad_name? ⇒ Boolean
Returns true
if the name of the parameter is uncommunicative.
25 26 27 28 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 25 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.
31 32 33 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 31 def block? @in_signature.to_s =~ /^\&/ end |
#described? ⇒ Boolean
Returns true
if an additional description given?.
36 37 38 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 36 def described? described_by_tag? || described_by_docstring? end |
#mentioned? ⇒ Boolean
Returns true
if the parameter is mentioned in the docs.
41 42 43 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 41 def mentioned? !!@tag || mentioned_by_docstring? end |
#splat? ⇒ Boolean
Returns true
if the parameter is a splat argument.
46 47 48 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 46 def splat? @in_signature.to_s =~ /^\*/ end |
#typed? ⇒ Boolean
Returns true
if the type of the parameter is defined.
51 52 53 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 51 def typed? @tag && @tag.types && !@tag.types.empty? end |
#wrongly_mentioned? ⇒ Boolean
Returns true
if the parameter is mentioned in the docs, but not present in the method’s signature.
56 57 58 |
# File 'lib/inch/code_object/provider/yard/object/method_parameter_object.rb', line 56 def wrongly_mentioned? mentioned? && !@in_signature end |