class RuboCop::Cop::Rails::DelegateAllowBlank
This cop looks for delegations that pass :allow_blank as an option instead of :allow_nil. :allow_blank is not a valid option to pass to ActiveSupport#delegate.
@example
# bad delegate :foo, to: :bar, allow_blank: true # good delegate :foo, to: :bar, allow_nil: true
Constants
- MSG
Public Instance Methods
on_send(node)
click to toggle source
# File lib/rubocop/cop/rails/delegate_allow_blank.rb, line 26 def on_send(node) offending_node = allow_blank_option(node) return unless offending_node add_offense(offending_node) end
Private Instance Methods
allow_blank_option(node)
click to toggle source
# File lib/rubocop/cop/rails/delegate_allow_blank.rb, line 42 def allow_blank_option(node) delegate_options(node) do |hash| hash.pairs.find { |opt| allow_blank_option?(opt) } end end
autocorrect(pair_node)
click to toggle source
# File lib/rubocop/cop/rails/delegate_allow_blank.rb, line 36 def autocorrect(pair_node) lambda do |corrector| corrector.replace(pair_node.key.source_range, 'allow_nil') end end