Class: RuboCop::Cop::Rails::OptionalBelongsTo
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Rails::OptionalBelongsTo
- Defined in:
- lib/rubocop/cop/rails/optional_belongs_to.rb
Overview
Requires belongs_to to declare optional: true. The 4Shark convention
is to skip Rails' automatic presence/existence validation (a SELECT per
record) and validate presence manually with validates :x_id, presence: true.
Scoped to app/models via the Include config.
Constant Summary collapse
- MSG =
'Declare `belongs_to` with `optional: true` and validate presence manually.'
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.default_configuration ⇒ Object
24 25 26 27 28 |
# File 'lib/rubocop/cop/rails/optional_belongs_to.rb', line 24 def self.default_configuration super.merge( 'Include' => ['app/models/**/*.rb'] ) end |
Instance Method Details
#on_send(node) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/rubocop/cop/rails/optional_belongs_to.rb', line 30 def on_send(node) return unless node.method?(:belongs_to) return if optional_true?(node) add_offense(node.loc.selector) end |