Class: SpreeCmCommissioner::TripResult

Inherits:
Object
  • Object
show all
Defined in:
lib/spree_cm_commissioner/trip_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ TripResult

Returns a new instance of TripResult.



8
9
10
11
12
# File 'lib/spree_cm_commissioner/trip_result.rb', line 8

def initialize(options = {})
  options.each do |key, value|
    instance_variable_set("@#{key}", value)
  end
end

Instance Attribute Details

#departure_timeObject

Returns the value of attribute departure_time.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def departure_time
  @departure_time
end

#destinationObject

Returns the value of attribute destination.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def destination
  @destination
end

#destination_idObject

Returns the value of attribute destination_id.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def destination_id
  @destination_id
end

#durationObject

Returns the value of attribute duration.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def duration
  @duration
end

#originObject

Returns the value of attribute origin.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def origin
  @origin
end

#origin_idObject

Returns the value of attribute origin_id.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def origin_id
  @origin_id
end

#route_nameObject

Returns the value of attribute route_name.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def route_name
  @route_name
end

#short_nameObject

Returns the value of attribute short_name.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def short_name
  @short_name
end

#total_seatsObject

Returns the value of attribute total_seats.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def total_seats
  @total_seats
end

#total_soldObject

Returns the value of attribute total_sold.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def total_sold
  @total_sold
end

#trip_idObject

Returns the value of attribute trip_id.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def trip_id
  @trip_id
end

#vehicle_idObject

Returns the value of attribute vehicle_id.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def vehicle_id
  @vehicle_id
end

#vendor_idObject

Returns the value of attribute vendor_id.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def vendor_id
  @vendor_id
end

#vendor_nameObject

Returns the value of attribute vendor_name.



3
4
5
# File 'lib/spree_cm_commissioner/trip_result.rb', line 3

def vendor_name
  @vendor_name
end

Instance Method Details

#arrival_timeObject



18
19
20
# File 'lib/spree_cm_commissioner/trip_result.rb', line 18

def arrival_time
  (departure_time.to_time + duration.to_i.seconds).strftime('%H:%M')
end

#duration_in_hmsObject



22
23
24
25
26
27
28
29
# File 'lib/spree_cm_commissioner/trip_result.rb', line 22

def duration_in_hms
  return 0 if duration.nil?

  hours = duration / 3600
  minutes = (duration % 3600) / 60
  seconds = duration % 60
  "#{hours}h #{minutes}m #{seconds}s"
end

#remaining_seatsObject



14
15
16
# File 'lib/spree_cm_commissioner/trip_result.rb', line 14

def remaining_seats
  total_seats - total_sold
end