class Ellington::Connection

Attributes

line[R]
states[R]
strict[R]

Public Class Methods

new(line, *states, strict: false) click to toggle source
# File lib/ellington/connection.rb, line 5
def initialize(line, *states, strict: false)
  @line = line
  @states = Ellington::Target.new(*states)
  @strict = strict
end

Public Instance Methods

required?(passenger) click to toggle source
# File lib/ellington/connection.rb, line 11
def required?(passenger)
  return false if line.boarded?(passenger)
  return (passenger.state_history & states).length == states.length if strict
  states.satisfied?(passenger)
end