Module: Regressor::Model::Validation
- Included in:
- ActiveRecordModel
- Defined in:
- lib/model/active_record/validation.rb,
lib/model/active_record/validation/length.rb,
lib/model/active_record/validation/presence.rb,
lib/model/active_record/validation/numericality.rb
Defined Under Namespace
Modules: Length, Numericality, Presence
Instance Method Summary
collapse
Instance Method Details
#if_condition_mock(validator) ⇒ Object
18
19
20
21
22
|
# File 'lib/model/active_record/validation.rb', line 18
def if_condition_mock validator
if_condition = validator.options[:if]
return '' unless if_condition && if_condition.is_a?(Symbol)
" allow(subject).to receive(:#{if_condition.to_s}).and_return(true)\n"
end
|
#unless_condition_mock(validator) ⇒ Object
24
25
26
27
28
|
# File 'lib/model/active_record/validation.rb', line 24
def unless_condition_mock validator
unless_condition = validator.options[:unless]
return '' unless unless_condition && unless_condition.is_a?(Symbol)
" allow(subject).to receive(:#{unless_condition.to_s}).and_return(false)\n"
end
|
#wrap_conditional_validations(validator, specs) ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/model/active_record/validation.rb', line 4
def wrap_conditional_validations validator, specs
if_mock = if_condition_mock validator
unless_mock = unless_condition_mock validator
padding = if_mock.blank? && unless_mock.blank? ? '' : ' '
specs = specs.map do |spec|
"#{padding}#{spec}"
end.uniq.join("\n ")
if if_mock.blank? && unless_mock.blank?
specs
else
"context \"with conditions\" do\n before do\n#{if_mock}#{unless_mock} end\n\n#{specs}\n end\n"
end
end
|