Class: SpreeCmCommissioner::Route

Inherits:
Base
  • Object
show all
Includes:
RouteType
Defined in:
app/models/spree_cm_commissioner/route.rb

Constant Summary

Constants included from RouteType

SpreeCmCommissioner::RouteType::ROUTE_TYPES

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.ransackable_attributes(_auth_object = nil) ⇒ Object



24
25
26
# File 'app/models/spree_cm_commissioner/route.rb', line 24

def self.ransackable_attributes(_auth_object = nil)
  %w[route_type short_name route_name]
end

Instance Method Details

#route_stopsObject



28
29
30
# File 'app/models/spree_cm_commissioner/route.rb', line 28

def route_stops
  Transit::RouteStopCollection.from_hash(read_attribute(:route_stops))
end

#route_stops=(value) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'app/models/spree_cm_commissioner/route.rb', line 32

def route_stops=(value)
  if value.is_a?(Transit::RouteStopCollection)
    @route_stops = value
    self[:route_stops] = value.to_h
  elsif value.is_a?(Array)
    @route_stops = Transit::RouteStopCollection.from_hash(value)
    self[:route_stops] = @route_stops.to_h
  else
    raise ArgumentError, 'route_stops must be an Array or RouteStopCollection'
  end
end