Class: HttpStub::Server::Scenario::Controller

Inherits:
Object
  • Object
show all
Defined in:
lib/http_stub/server/scenario/controller.rb

Instance Method Summary collapse

Constructor Details

#initialize(server_memory) ⇒ Controller

Returns a new instance of Controller.



7
8
9
# File 'lib/http_stub/server/scenario/controller.rb', line 7

def initialize(server_memory)
  @scenario_registry = server_memory.scenarios
end

Instance Method Details

#activate(request, logger) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/http_stub/server/scenario/controller.rb', line 25

def activate(request, logger)
  scenario_names = request.parameters[:name] ? [request.parameters[:name] ] : request.parameters[:names]
  scenario_names.each { |name| request.session.activate_scenario!(name, logger) }
  HttpStub::Server::Response::OK
rescue HttpStub::Server::Scenario::NotFoundError
  HttpStub::Server::Response::NOT_FOUND
end

#clear(logger) ⇒ Object



33
34
35
# File 'lib/http_stub/server/scenario/controller.rb', line 33

def clear(logger)
  @scenario_registry.clear(logger)
end

#find(request, logger) ⇒ Object



17
18
19
# File 'lib/http_stub/server/scenario/controller.rb', line 17

def find(request, logger)
  @scenario_registry.find(URI.decode_www_form_component(request.parameters[:name]), logger)
end

#find_allObject



21
22
23
# File 'lib/http_stub/server/scenario/controller.rb', line 21

def find_all
  @scenario_registry.all.sort_by(&:name)
end

#register(request, logger) ⇒ Object



11
12
13
14
15
# File 'lib/http_stub/server/scenario/controller.rb', line 11

def register(request, logger)
  scenario = HttpStub::Server::Scenario.create(HttpStub::Server::Scenario::Parser.parse(request))
  @scenario_registry.add(scenario, logger)
  HttpStub::Server::Response::OK
end