class Ellington::Conductor

Attributes

route[R]

Public Class Methods

new(route) click to toggle source
# File lib/ellington/conductor.rb, line 8
def initialize(route)
  @route = route
end

Public Instance Methods

conduct(passenger) click to toggle source
# File lib/ellington/conductor.rb, line 18
def conduct(passenger)
  if !passenger.is_a?(Ellington::Passenger)
    ticket = Ellington::Ticket.new
    passenger = Ellington::Passenger.new(passenger, ticket: ticket, state_history: [])
  end
  passenger.current_state = route.initial_state
  return unless verify(passenger)
  route.lines.first.board passenger
end
verify(passenger) click to toggle source

override this method in a subclass to perform actual passenger verification

# File lib/ellington/conductor.rb, line 14
def verify(passenger)
  true
end