Class: Temporality::Completeness
Instance Method Summary
collapse
#initialize
Instance Method Details
#error_message ⇒ Object
13
14
15
|
# File 'lib/temporality/completeness.rb', line 13
def error_message
"#{@model.send(@assoc).class} record must have a temporally complete children collection for assocation #{inverse_name}"
end
|
#validate ⇒ Object
6
7
8
9
10
11
|
# File 'lib/temporality/completeness.rb', line 6
def validate
days = @model.day_count + (inverse.where('id <> ?', @model.id || -1).map(&:day_count).inject(&:+) || 0)
parent_days = @model.send(@assoc).day_count
raise Temporality::Violation.new(error_message) unless (parent_days == days)
end
|