Class: Maglev::FakePlannerAdapter

Inherits:
PlannerAdapter show all
Defined in:
lib/maglev/planner_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(outputs) ⇒ FakePlannerAdapter

Returns a new instance of FakePlannerAdapter.



13
14
15
16
# File 'lib/maglev/planner_adapter.rb', line 13

def initialize(outputs)
  @outputs = Array(outputs).dup
  @requests = []
end

Instance Attribute Details

#requestsObject (readonly)

Returns the value of attribute requests.



11
12
13
# File 'lib/maglev/planner_adapter.rb', line 11

def requests
  @requests
end

Instance Method Details

#plan(**request) ⇒ Object



18
19
20
21
22
23
# File 'lib/maglev/planner_adapter.rb', line 18

def plan(**request)
  @requests << request.freeze
  raise PermanentProviderError, "Fake planner has no remaining output" if @outputs.empty?

  @outputs.shift
end