Class: Hashira::Smells::Foreign
- Inherits:
-
Object
- Object
- Hashira::Smells::Foreign
- Defined in:
- lib/hashira/smells/foreign.rb
Constant Summary collapse
- TYPE_TESTS =
%i[is_a? kind_of? instance_of?].freeze
- KEYED_READS =
%i[[] fetch values_at dig key?].freeze
- KEYS =
[Prism::StringNode, Prism::SymbolNode].freeze
- LITERALS =
[Prism::HashNode, Prism::KeywordHashNode, Prism::ArrayNode, Prism::StringNode].freeze
- STATE =
[ Prism::InstanceVariableReadNode, Prism::InstanceVariableWriteNode, Prism::InstanceVariableOrWriteNode, Prism::InstanceVariableAndWriteNode, Prism::InstanceVariableOperatorWriteNode, Prism::InstanceVariableTargetNode ].freeze
Instance Method Summary collapse
- #dismiss?(name) ⇒ Boolean
-
#initialize(subject, ownership) ⇒ Foreign
constructor
A new instance of Foreign.
- #reaches ⇒ Object
Constructor Details
Instance Method Details
#dismiss?(name) ⇒ Boolean
27 28 29 30 |
# File 'lib/hashira/smells/foreign.rb', line 27 def dismiss?(name) convert? || fenced?(name) || wire?(name) || built?(name) || derived?(name) || rescued?(name) end |
#reaches ⇒ Object
32 33 34 |
# File 'lib/hashira/smells/foreign.rb', line 32 def reaches tests { true }.reject { @ownership.owned?(it) }.map(&:first).uniq end |