Class: Remarkable::ActiveRecord::Matchers::ValidateUniquenessOfMatcher

Inherits:
Matcher::Base
  • Object
show all
Includes:
Helpers
Defined in:
lib/remarkable/active_record/macros/validations/validate_uniqueness_of_matcher.rb

Instance Method Summary collapse

Methods included from Helpers

#allow_blank, #allow_nil, #message

Methods included from Default::Helpers

#assert_contains, #assert_does_not_contain

Methods inherited from Matcher::Base

#failure_message, #negative, #negative_failure_message, #spec

Methods included from Matcher::DSL

included, #matches?

Instance Method Details

#descriptionObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/remarkable/active_record/macros/validations/validate_uniqueness_of_matcher.rb', line 26

def description
  message = "require unique "

  if @options.key? :case_sensitive
    message << (@options[:case_sensitive] ? 'case sensitive ' : 'case insensitive ')
  end

  message << "value for #{@attributes.to_sentence}"
  message << " scoped to #{@options[:scope].to_sentence}" unless @options[:scope].empty?
  message
end

#scope(scope) ⇒ Object



14
15
16
17
# File 'lib/remarkable/active_record/macros/validations/validate_uniqueness_of_matcher.rb', line 14

def scope(scope)
  @options[:scope] = [*scope].compact
  self
end

#scoped_to(scoped) ⇒ Object

TODO Deprecate this



21
22
23
24
# File 'lib/remarkable/active_record/macros/validations/validate_uniqueness_of_matcher.rb', line 21

def scoped_to(scoped)
  warn "[DEPRECATION] scoped_to is deprecated. Use only scope instead."
  scope(scoped)
end