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, logger) ⇒ Object



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

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

#allObject



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

def all
  Array.new(@models)
end

#clear(logger) ⇒ Object



38
39
40
41
# File 'lib/http_stub/server/registry.rb', line 38

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

#concat(models, logger) ⇒ Object



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

def concat(models, logger)
  models.each { |model| self.add(model, logger) }
end

#find(criteria, logger) ⇒ Object



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

def find(criteria, logger)
  logger.info "Finding #{@model_name} matching: #{criteria}"
  @models.find { |model| model.matches?(criteria, logger) }
end

#lastObject



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

def last
  @models.first
end

#rollback_to(model) ⇒ Object



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

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