class RuboCop::Cop::Rails::NotNullColumn
This cop checks for add_column call with NOT NULL constraint in migration file.
@example
# bad add_column :users, :name, :string, null: false add_reference :products, :category, null: false # good add_column :users, :name, :string, null: true add_column :users, :name, :string, null: false, default: '' add_reference :products, :category add_reference :products, :category, null: false, default: 1
Constants
- MSG
Public Instance Methods
on_send(node)
click to toggle source
# File lib/rubocop/cop/rails/not_null_column.rb, line 38 def on_send(node) check_add_column(node) check_add_reference(node) end
Private Instance Methods
check_add_column(node)
click to toggle source
# File lib/rubocop/cop/rails/not_null_column.rb, line 45 def check_add_column(node) pairs = add_not_null_column?(node) check_pairs(pairs) end
check_add_reference(node)
click to toggle source
# File lib/rubocop/cop/rails/not_null_column.rb, line 50 def check_add_reference(node) pairs = add_not_null_reference?(node) check_pairs(pairs) end
check_pairs(pairs)
click to toggle source
# File lib/rubocop/cop/rails/not_null_column.rb, line 55 def check_pairs(pairs) return unless pairs return if pairs.any? { |pair| default_option?(pair) } null_false = pairs.find { |pair| null_false?(pair) } return unless null_false add_offense(null_false) end