Class: OverlapValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/validates_overlap/overlap_validator.rb

Constant Summary collapse

BEGIN_OF_UNIX_TIME =
Time.at(-2147483648).to_datetime
END_OF_UNIX_TIME =
Time.at(2147483648).to_datetime

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ OverlapValidator

Returns a new instance of OverlapValidator.



13
14
15
16
# File 'lib/validates_overlap/overlap_validator.rb', line 13

def initialize(args)
  attributes_are_range(args[:attributes])
  super
end

Instance Attribute Details

#scoped_modelObject

Returns the value of attribute scoped_model.



11
12
13
# File 'lib/validates_overlap/overlap_validator.rb', line 11

def scoped_model
  @scoped_model
end

#sql_conditionsObject

Returns the value of attribute sql_conditions.



9
10
11
# File 'lib/validates_overlap/overlap_validator.rb', line 9

def sql_conditions
  @sql_conditions
end

#sql_valuesObject

Returns the value of attribute sql_values.



10
11
12
# File 'lib/validates_overlap/overlap_validator.rb', line 10

def sql_values
  @sql_values
end

Instance Method Details

#validate(record) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/validates_overlap/overlap_validator.rb', line 18

def validate(record)
  if self.find_crossed(record)
    if record.respond_to? attributes.first
      record.errors.add(options[:message_title] || attributes.first, options[:message_content] || :overlap)
    else
      record.errors.add(options[:message_title] || :base, options[:message_content] || :overlap)
    end
  end
end