Class: Mutant::AST::Meta::Send
- Inherits:
-
Object
- Object
- Mutant::AST::Meta::Send
- Includes:
- NamedChildren
- Defined in:
- lib/mutant/ast/meta/send.rb
Overview
Metadata for send nodes
Constant Summary collapse
- INDEX_ASSIGNMENT_SELECTOR =
:[]=
- ATTRIBUTE_ASSIGNMENT_SELECTOR_SUFFIX =
'='.freeze
Instance Method Summary collapse
-
#assignment? ⇒ Boolean
private
Test if AST node is a valid assignment target.
-
#attribute_assignment? ⇒ Boolean
private
Test if AST node is an attribute assignment?.
-
#binary_method_operator? ⇒ Boolean
private
Test for binary operator implemented as method.
-
#index_assignment? ⇒ Boolean
private
Test if AST node is an index assign.
Methods included from NamedChildren
Instance Method Details
#assignment? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Test if AST node is a valid assignment target
27 28 29 |
# File 'lib/mutant/ast/meta/send.rb', line 27 def assignment? index_assignment? || attribute_assignment? end |
#attribute_assignment? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Test if AST node is an attribute assignment?
36 37 38 39 |
# File 'lib/mutant/ast/meta/send.rb', line 36 def attribute_assignment? !Types::METHOD_OPERATORS.include?(selector) && selector.to_s.end_with?(ATTRIBUTE_ASSIGNMENT_SELECTOR_SUFFIX) end |
#binary_method_operator? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Test for binary operator implemented as method
55 56 57 |
# File 'lib/mutant/ast/meta/send.rb', line 55 def binary_method_operator? Types::BINARY_METHOD_OPERATORS.include?(selector) end |
#index_assignment? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Test if AST node is an index assign
46 47 48 |
# File 'lib/mutant/ast/meta/send.rb', line 46 def index_assignment? selector.equal?(INDEX_ASSIGNMENT_SELECTOR) end |