Module: SpreeCmCommissioner::Transit::TripHelper
- Included in:
- MultiLegTripsQuery, SpreeCmCommissioner::Trips::CreateMultiLeg, SpreeCmCommissioner::Trips::CreateSingleLeg, SpreeCmCommissioner::Trips::PreloadInventory
- Defined in:
- app/helpers/spree_cm_commissioner/transit/trip_helper.rb
Instance Method Summary collapse
- #minutes_since_midnight(value) ⇒ Object
- #normalize_date(value) ⇒ Object
-
#parse_date(date_obj) ⇒ Object
Helper to parse date strings or return date objects.
- #parse_time(time, timezone = nil) ⇒ Object
Instance Method Details
#minutes_since_midnight(value) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'app/helpers/spree_cm_commissioner/transit/trip_helper.rb', line 28 def minutes_since_midnight(value) case value when Time, ActiveSupport::TimeWithZone (value.hour * 60) + value.min else str = value.to_s.strip h, m = str.split(':', 2).map(&:to_i) (h * 60) + (m || 0) end end |
#normalize_date(value) ⇒ Object
20 21 22 23 24 25 26 |
# File 'app/helpers/spree_cm_commissioner/transit/trip_helper.rb', line 20 def normalize_date(value) if value.respond_to?(:to_date) && value.to_date == Time.zone.now.to_date Time.zone.now else Time.zone.parse(value.to_s) end end |
#parse_date(date_obj) ⇒ Object
Helper to parse date strings or return date objects
12 13 14 15 16 17 18 |
# File 'app/helpers/spree_cm_commissioner/transit/trip_helper.rb', line 12 def parse_date(date_obj) return date_obj if date_obj.is_a?(Date) Date.parse(date_obj.to_s) rescue ArgumentError nil end |
#parse_time(time, timezone = nil) ⇒ Object
4 5 6 7 8 9 |
# File 'app/helpers/spree_cm_commissioner/transit/trip_helper.rb', line 4 def parse_time(time, timezone = nil) return nil if time.blank? formatted_time = Time.zone.parse(time.to_s) timezone ? formatted_time.in_time_zone(timezone) : formatted_time end |