Class: SpreeCmCommissioner::Trip
- Includes:
- RouteType, StoreMetadata
- Defined in:
- app/models/spree_cm_commissioner/trip.rb
Constant Summary
Constants included from RouteType
Instance Attribute Summary collapse
-
#hours ⇒ Object
Returns the value of attribute hours.
-
#minutes ⇒ Object
Returns the value of attribute minutes.
-
#seconds ⇒ Object
Returns the value of attribute seconds.
Instance Method Summary collapse
- #arrival_time ⇒ Object
- #convert_duration_to_seconds ⇒ Object
- #duration_in_hms ⇒ Object
- #origin_and_destination_cannot_be_the_same ⇒ Object
Instance Attribute Details
#hours ⇒ Object
Returns the value of attribute hours.
6 7 8 |
# File 'app/models/spree_cm_commissioner/trip.rb', line 6 def hours @hours end |
#minutes ⇒ Object
Returns the value of attribute minutes.
6 7 8 |
# File 'app/models/spree_cm_commissioner/trip.rb', line 6 def minutes @minutes end |
#seconds ⇒ Object
Returns the value of attribute seconds.
6 7 8 |
# File 'app/models/spree_cm_commissioner/trip.rb', line 6 def seconds @seconds end |
Instance Method Details
#arrival_time ⇒ Object
67 68 69 70 71 |
# File 'app/models/spree_cm_commissioner/trip.rb', line 67 def arrival_time return nil if departure_time.nil? || duration.nil? departure_time + duration.seconds end |
#convert_duration_to_seconds ⇒ Object
52 53 54 55 56 |
# File 'app/models/spree_cm_commissioner/trip.rb', line 52 def convert_duration_to_seconds return if hours.blank? && minutes.blank? && seconds.blank? self.duration = (hours.to_i * 3600) + (minutes.to_i * 60) + seconds.to_i end |
#duration_in_hms ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'app/models/spree_cm_commissioner/trip.rb', line 58 def duration_in_hms return { hours: 0, minutes: 0, seconds: 0 } if duration.nil? hours = duration / 3600 minutes = (duration % 3600) / 60 seconds = duration % 60 { hours: hours, minutes: minutes, seconds: seconds } end |
#origin_and_destination_cannot_be_the_same ⇒ Object
73 74 75 76 77 |
# File 'app/models/spree_cm_commissioner/trip.rb', line 73 def origin_and_destination_cannot_be_the_same return unless origin_place_id == destination_place_id errors.add(:base, 'Origin and destination cannot be the same') end |