This rule was added in rubocop 1.44.0. It's useful to avoid accidental `unless !condition` clauses. Note we aren't replacing `unless zero?` with `if nonzero?` because we never use `nonzero?`; using it sounds like `if !zero?`. Replacing `unless any?` with `if none?` is only consistent if we also replace `unless present?` with `if blank?`, so we're also adding this case. For consistency, we're also replacing `unless blank?` with `if present?`. We're also simplifying code dealing with `> 0` conditions in order to make the code (hopefully) easier to understand. Also for consistency, we're enabling the `Style/InverseMethods` rule, which follows a similar idea.
14 lines
370 B
Ruby
14 lines
370 B
Ruby
module ActiveModel::Dates
|
|
def parse_date(field, attrs)
|
|
year, month, day = attrs["#{field}(1i)"], attrs["#{field}(2i)"], attrs["#{field}(3i)"]
|
|
|
|
return nil if day.blank? || month.blank? || year.blank?
|
|
|
|
Date.new(year.to_i, month.to_i, day.to_i)
|
|
end
|
|
|
|
def remove_date(field, attrs)
|
|
attrs.except("#{field}(1i)", "#{field}(2i)", "#{field}(3i)")
|
|
end
|
|
end
|