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, models = []) ⇒ Registry

Returns a new instance of Registry.



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

def initialize(model_name, models=[])
  @model_name = model_name
  @models     = 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)
  log_addition_of([ model ], logger)
end

#allObject



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

def all
  Array.new(@models)
end

#clear(logger) ⇒ Object



45
46
47
48
# File 'lib/http_stub/server/registry.rb', line 45

def clear(logger)
  log_pending_clear(logger)
  @models.clear
end

#concat(models, logger) ⇒ Object



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

def concat(models, logger)
  @models.unshift(*models.reverse)
  log_addition_of(models.reverse, logger)
end

#delete(criteria, logger) ⇒ Object



40
41
42
43
# File 'lib/http_stub/server/registry.rb', line 40

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

#find(criteria, logger) ⇒ Object



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

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

#lastObject



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

def last
  @models.first
end

#replace(models, logger) ⇒ Object



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

def replace(models, logger)
  log_pending_clear(logger)
  @models.replace(models.reverse)
  log_addition_of(models.reverse, logger)
end