Class: Chouette::TimeTablePeriod
- Inherits:
-
ActiveRecord
- Object
- ActiveRecord::Base
- ActiveRecord
- Chouette::TimeTablePeriod
- Defined in:
- app/models/chouette/time_table_period.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#contains?(p) ⇒ Boolean
Test to see if a period is included in this period.
- #copy ⇒ Object
-
#overlap?(p) ⇒ Boolean
Test to see if a period overlap this period.
- #start_must_be_before_end ⇒ Object
Methods inherited from ActiveRecord
#human_attribute_name, #nil_if_blank, nullable_attributes
Class Method Details
.model_name ⇒ Object
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
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 |
#copy ⇒ Object
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
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_end ⇒ Object
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 |