Class: Chouette::TimeTablePeriod

Inherits:
ActiveRecord
  • Object
show all
Defined in:
app/models/chouette/time_table_period.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ActiveRecord

#human_attribute_name, #nil_if_blank, nullable_attributes

Class Method Details

.model_nameObject



14
15
16
# File 'app/models/chouette/time_table_period.rb', line 14

def self.model_name
  ActiveModel::Name.new Chouette::TimeTablePeriod, Chouette, "TimeTablePeriod"
end

Instance Method Details

#contains?(p) ⇒ Boolean

Test to see if a period is included in this period

Returns:

  • (Boolean)


38
39
40
# File 'app/models/chouette/time_table_period.rb', line 38

def contains?(p)
   (p.period_start >= self.period_start && p.period_end <= self.period_end)
end

#copyObject



28
29
30
# File 'app/models/chouette/time_table_period.rb', line 28

def copy
  Chouette::TimeTablePeriod.new(:period_start => self.period_start,:period_end => self.period_end)
end

#overlap?(p) ⇒ Boolean

Test to see if a period overlap this period

Returns:

  • (Boolean)


33
34
35
# File 'app/models/chouette/time_table_period.rb', line 33

def overlap?(p)
   (p.period_start >= self.period_start && p.period_start <= self.period_end) || (p.period_end >= self.period_start && p.period_end <= self.period_end)
end

#start_must_be_before_endObject



18
19
20
21
22
23
24
25
26
# File 'app/models/chouette/time_table_period.rb', line 18

def start_must_be_before_end
  # security against nil values
  if period_end.nil? || period_start.nil?
    return
  end
  if period_end <= period_start
    errors.add(:period_end,I18n.t("activerecord.errors.models.time_table_period.start_must_be_before_end"))
  end
end