Class: RuboCop::Cop::Legion::HelperMigration::DirectData
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Legion::HelperMigration::DirectData
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/legion/helper_migration/direct_data.rb
Overview
Detects direct calls to ‘Legion::Data::Connection.sequel`, `Legion::Data::Local.connected?`, `Legion::Data::Local.connection`, and `Legion::Data::Local.model` and suggests using the `data_connection`, `local_data_connected?`, `local_data_connection`, `local_data_model` helpers from `Legion::Data::Helper`.
Constant Summary collapse
- MSG =
'Use `%<helper>s` instead of `%<original>s`. ' \ 'Include `Legion::Data::Helper` via the data helper mixin.'
- RESTRICT_ON_SEND =
%i[sequel connected? connection model].freeze
- LOCAL_HELPER_MAP =
{ connected?: 'local_data_connected?', connection: 'local_data_connection', model: 'local_data_model' }.freeze
Instance Method Summary collapse
Instance Method Details
#data_connection_sequel?(node) ⇒ Object
34 35 36 |
# File 'lib/rubocop/cop/legion/helper_migration/direct_data.rb', line 34 def_node_matcher :data_connection_sequel?, <<~PATTERN (send (const (const (const nil? :Legion) :Data) :Connection) :sequel) PATTERN |
#data_local_call?(node) ⇒ Object
39 40 41 |
# File 'lib/rubocop/cop/legion/helper_migration/direct_data.rb', line 39 def_node_matcher :data_local_call?, <<~PATTERN (send (const (const (const nil? :Legion) :Data) :Local) {:connected? :connection :model} ...) PATTERN |
#on_send(node) ⇒ Object
49 50 51 52 53 54 55 |
# File 'lib/rubocop/cop/legion/helper_migration/direct_data.rb', line 49 def on_send(node) if data_connection_sequel?(node) handle_connection_sequel(node) elsif data_local_call?(node) handle_local_call(node) end end |