Class: MiniTest::Matchers::ActiveModel::ValidateUniquenessMatcher
Instance Method Summary
collapse
#failure_message, #negative_failure_message, #on, #with_message
Methods included from Helpers
#class_of, #to_sentence
Constructor Details
Returns a new instance of ValidateUniquenessMatcher.
22
23
24
25
26
27
|
# File 'lib/matchers/validate_uniqueness_matcher.rb', line 22
def initialize attr
@scope = nil
@case_insensitive = false
super attr, :uniqueness
end
|
Instance Method Details
#case_insensitive ⇒ Object
34
35
36
37
|
# File 'lib/matchers/validate_uniqueness_matcher.rb', line 34
def case_insensitive
@case_insensitive = true
self
end
|
#description ⇒ Object
48
49
50
51
52
53
|
# File 'lib/matchers/validate_uniqueness_matcher.rb', line 48
def description
desc = []
desc << " scoped to #{to_sentence(@scope)}" if @scope
desc << ' allowing case insensitive values' if @case_insensitive
super << desc.to_sentence
end
|
#matches?(subject) ⇒ Boolean
39
40
41
42
43
44
45
46
|
# File 'lib/matchers/validate_uniqueness_matcher.rb', line 39
def matches? subject
return false unless @result = super(subject)
check_scope if @scope
check_case_sensivity if @case_insensitive
@result
end
|
#scoped_to(*scope) ⇒ Object
29
30
31
32
|
# File 'lib/matchers/validate_uniqueness_matcher.rb', line 29
def scoped_to *scope
@scope = [scope].flatten.map(&:to_s)
self
end
|