diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/models/chouette/vehicle_journey_at_stop.rb | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/app/models/chouette/vehicle_journey_at_stop.rb b/app/models/chouette/vehicle_journey_at_stop.rb index f58773d18..6e719fc61 100644 --- a/app/models/chouette/vehicle_journey_at_stop.rb +++ b/app/models/chouette/vehicle_journey_at_stop.rb @@ -26,34 +26,34 @@ module Chouette end end - validates :arrival_day_offset, numericality: { - greater_than_or_equal_to: 0, - less_than_or_equal_to: DAY_OFFSET_MAX, - message: ->(object, data) do - byebug - I18n.t( - 'vehicle_journey_at_stops.errors.day_offset_must_not_exceed_max', - local_id: object.vehicle_journey.objectid.local_id, - max: DAY_OFFSET_MAX + 1 - ) + validate :day_offset_must_be_within_range + + after_initialize :set_virtual_attributes + def set_virtual_attributes + @_destroy = false + @dummy = false + end + + def day_offset_must_be_within_range + def outside_range(offset) + offset < 0 || offset > DAY_OFFSET_MAX end - } - validates :departure_day_offset, numericality: { - greater_than_or_equal_to: 0, - less_than_or_equal_to: DAY_OFFSET_MAX, - message: ->(object, data) do + + def error_message I18n.t( 'vehicle_journey_at_stops.errors.day_offset_must_not_exceed_max', - local_id: object.vehicle_journey.objectid.local_id, + local_id: vehicle_journey.objectid.local_id, max: DAY_OFFSET_MAX + 1 ) end - } - after_initialize :set_virtual_attributes - def set_virtual_attributes - @_destroy = false - @dummy = false + if outside_range(arrival_day_offset) + errors.add(:arrival_day_offset, error_message) + end + + if outside_range(departure_day_offset) + errors.add(:departure_day_offset, error_message) + end end end |
