diff --git a/changelog/change_1295_covers_validates_comparison_of_in.md b/changelog/change_1295_covers_validates_comparison_of_in.md new file mode 100644 index 0000000000..bdcadc8ec6 --- /dev/null +++ b/changelog/change_1295_covers_validates_comparison_of_in.md @@ -0,0 +1 @@ +* [#1295](https://github.com/rubocop/rubocop-rails/issues/1295): Cover validates_comparison_of in `Rails/Validation`. ([@ChaelCodes][]) diff --git a/lib/rubocop/cop/rails/validation.rb b/lib/rubocop/cop/rails/validation.rb index 5499f3991d..beaa8f2b6e 100644 --- a/lib/rubocop/cop/rails/validation.rb +++ b/lib/rubocop/cop/rails/validation.rb @@ -8,6 +8,7 @@ module Rails # @example # # bad # validates_acceptance_of :foo + # validates_comparison_of :foo # validates_confirmation_of :foo # validates_exclusion_of :foo # validates_format_of :foo @@ -22,6 +23,7 @@ module Rails # # good # validates :foo, acceptance: true # validates :foo, confirmation: true + # validates :foo, comparison: true # validates :foo, exclusion: true # validates :foo, format: true # validates :foo, inclusion: true @@ -39,6 +41,7 @@ class Validation < Base TYPES = %w[ acceptance + comparison confirmation exclusion format diff --git a/spec/rubocop/cop/rails/validation_spec.rb b/spec/rubocop/cop/rails/validation_spec.rb index e789842d6d..20f2fabea3 100644 --- a/spec/rubocop/cop/rails/validation_spec.rb +++ b/spec/rubocop/cop/rails/validation_spec.rb @@ -159,6 +159,18 @@ include_examples 'autocorrects' end + context 'with a proc' do + let(:autocorrected_source) do + 'validates :a, :b, comparison: { greater_than: -> { Time.zone.today } }' + end + + let(:source) do + 'validates_comparison_of :a, :b, greater_than: -> { Time.zone.today }' + end + + include_examples 'autocorrects' + end + context 'with splat' do let(:autocorrected_source) do 'validates :a, *b, numericality: true'