Class: Temporality::Inclusion

Inherits:
ValidationStrategy show all
Defined in:
lib/temporality/inclusion.rb

Instance Method Summary collapse

Methods inherited from ValidationStrategy

#initialize

Constructor Details

This class inherits a constructor from Temporality::ValidationStrategy

Instance Method Details

#validateObject



4
5
6
7
8
9
10
# File 'lib/temporality/inclusion.rb', line 4

def validate
  parent = @model.send(@assoc)

  if parent && (parent.starts_on > @model.starts_on || parent.ends_on < @model.ends_on)
    raise Temporality::Violation.new("Record of class #{self.class} is not temporally included in parent of class #{parent.class}, [#{@model.starts_on} - #{@model.ends_on}] is not included in [#{parent.starts_on} - #{parent.ends_on}]")
  end
end