Class: Temporality::Overlap
Instance Method Summary
collapse
#initialize
Instance Method Details
#error_message ⇒ Object
16
17
18
|
# File 'lib/temporality/overlap.rb', line 16
def error_message
"Found overlapping records for range [#{@model.starts_on} - #{@model.ends_on}]"
end
|
#validate ⇒ Object
6
7
8
9
10
11
12
13
14
|
# File 'lib/temporality/overlap.rb', line 6
def validate
overlapping = inverse.intersecting(@model)
if @model.id
overlapping = overlapping.where('id <> ?', @model.id)
end
raise Temporality::Violation.new(error_message) if overlapping.exists?
end
|