Class: RuboCop::Cop::Legion::HelperMigration::DirectKnowledge
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Legion::HelperMigration::DirectKnowledge
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/legion/helper_migration/direct_knowledge.rb
Overview
Detects direct calls to ‘Legion::Apollo` and `Legion::Apollo::Local` methods and suggests using the `query_knowledge` / `ingest_knowledge` helpers instead.
Constant Summary collapse
- MSG =
'Use `%<helper>s` instead of `%<receiver>s.%<method>s`. ' \ 'Include the knowledge helper mixin.'
- RESTRICT_ON_SEND =
%i[query ingest].freeze
- GLOBAL_MAP =
{ query: 'query_knowledge', ingest: 'ingest_knowledge' }.freeze
Instance Method Summary collapse
Instance Method Details
#apollo_global_call?(node) ⇒ Object
37 38 39 |
# File 'lib/rubocop/cop/legion/helper_migration/direct_knowledge.rb', line 37 def_node_matcher :apollo_global_call?, <<~PATTERN (send (const (const nil? :Legion) :Apollo) {:query :ingest} ...) PATTERN |
#apollo_local_call?(node) ⇒ Object
42 43 44 |
# File 'lib/rubocop/cop/legion/helper_migration/direct_knowledge.rb', line 42 def_node_matcher :apollo_local_call?, <<~PATTERN (send (const (const (const nil? :Legion) :Apollo) :Local) {:query :ingest} ...) PATTERN |
#on_send(node) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/rubocop/cop/legion/helper_migration/direct_knowledge.rb', line 46 def on_send(node) if apollo_global_call?(node) register_global_offense(node) elsif apollo_local_call?(node) register_local_offense(node) end end |