Class: HttpStub::Server::Registry

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

Instance Method Summary collapse

Constructor Details

#initialize(model_name) ⇒ Registry

Returns a new instance of Registry.



6
7
8
9
# File 'lib/http_stub/server/registry.rb', line 6

def initialize(model_name)
  @model_name = model_name
  @models = []
end

Instance Method Details

#add(model, request) ⇒ Object



11
12
13
14
# File 'lib/http_stub/server/registry.rb', line 11

def add(model, request)
  @models.unshift(model)
  request.logger.info "Registered #{@model_name}: #{model}"
end

#allObject



25
26
27
# File 'lib/http_stub/server/registry.rb', line 25

def all
  Array.new(@models)
end

#clear(request) ⇒ Object



34
35
36
37
# File 'lib/http_stub/server/registry.rb', line 34

def clear(request)
  request.logger.info "Clearing #{@model_name} registry"
  @models.clear
end

#find_for(request) ⇒ Object



16
17
18
19
# File 'lib/http_stub/server/registry.rb', line 16

def find_for(request)
  request.logger.info "Finding #{@model_name} satisfying: #{request.inspect}"
  @models.find { |model| model.satisfies?(request) }
end

#lastObject



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

def last
  @models.first
end

#rollback_to(model) ⇒ Object



29
30
31
32
# File 'lib/http_stub/server/registry.rb', line 29

def rollback_to(model)
  starting_index = @models.index(model)
  @models = @models.slice(starting_index..-1) if starting_index
end