diff options
| -rw-r--r-- | app/presenters/time_table_presenter.rb | 52 | ||||
| -rw-r--r-- | app/presenters/vehicle_journey_presenter.rb | 11 |
2 files changed, 63 insertions, 0 deletions
diff --git a/app/presenters/time_table_presenter.rb b/app/presenters/time_table_presenter.rb new file mode 100644 index 000000000..140087c4f --- /dev/null +++ b/app/presenters/time_table_presenter.rb @@ -0,0 +1,52 @@ +class TimeTablePresenter + + def initialize(time_table) + @time_table = time_table + end + + def time_table_state_code + if @time_table.validity_out_from_on?(Date.today) + "validity_out" + elsif @time_table.validity_out_between?(Date.today,Date.today+7.day) + "validity_out_soon" + else + "validity_regular" + end + end + + def tag_list_shortened + @time_table.tags.join(', ').truncate(30, separator: ',') + end + + def time_table_bounding + return I18n.t('time_tables.time_table.empty') if @time_table.bounding_dates.empty? + "#{I18n.l(@time_table.bounding_dates.min)} #{I18n.l(@time_table.bounding_dates.max)}" + end + + def time_tables_shortest_info + return I18n.t('time_tables.time_table.empty') if @time_table.bounding_dates.empty? + "#{I18n.l(@time_table.bounding_dates.min)} #{I18n.l(@time_table.bounding_dates.max)}" + end + + def composition_info + return if @time_table.bounding_dates.empty? + if @time_table.dates.empty? + I18n.t('time_tables.time_table.periods_count', :count => @time_table.periods.count) + elsif @time_table.periods.empty? + I18n.t('time_tables.time_table.dates_count', :count => @time_table.dates.count) + else + I18n.t('time_tables.time_table.periods_dates_count', + :dates_count => @time_table.dates.count, + :periods_count => @time_table.periods.count) + end + end + +private + def bounding_info + return I18n.t('time_tables.time_table.empty') if @time_table.bounding_dates.empty? + I18n.t('time_tables.time_table.bounding', + :start => l(@time_table.bounding_dates.min), + :end => l(@time_table.bounding_dates.max)) + end + +end diff --git a/app/presenters/vehicle_journey_presenter.rb b/app/presenters/vehicle_journey_presenter.rb new file mode 100644 index 000000000..b244946db --- /dev/null +++ b/app/presenters/vehicle_journey_presenter.rb @@ -0,0 +1,11 @@ +class VehicleJourneyPresenter + + def initialize(vehicle_journey) + @vehicle_journey = vehicle_journey + end + + def time_tables_shortest_info + return I18n.t('time_tables.time_table.empty') if @vehicle_journey.bounding_dates.empty? + "#{I18n.l(@vehicle_journey.bounding_dates.min)} #{I18n.l(@vehicle_journey.bounding_dates.max)}" + end +end |
