Class: HttpStub::Server::Registry
- Inherits:
-
Object
- Object
- HttpStub::Server::Registry
- Defined in:
- lib/http_stub/server/registry.rb
Instance Method Summary collapse
- #add(model, request) ⇒ Object
- #all ⇒ Object
- #clear(request) ⇒ Object
- #concat(models, request) ⇒ Object
- #find(args) ⇒ Object
-
#initialize(model_name) ⇒ Registry
constructor
A new instance of Registry.
- #last ⇒ Object
- #rollback_to(model) ⇒ Object
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 |
#all ⇒ Object
29 30 31 |
# File 'lib/http_stub/server/registry.rb', line 29 def all Array.new(@models) end |
#clear(request) ⇒ Object
38 39 40 41 |
# File 'lib/http_stub/server/registry.rb', line 38 def clear(request) request.logger.info "Clearing #{@model_name} registry" @models.clear end |
#concat(models, request) ⇒ Object
16 17 18 |
# File 'lib/http_stub/server/registry.rb', line 16 def concat(models, request) models.each { |model| self.add(model, request) } end |
#find(args) ⇒ Object
20 21 22 23 |
# File 'lib/http_stub/server/registry.rb', line 20 def find(args) args[:request].logger.info "Finding #{@model_name} satisfying: #{args[:criteria]}" @models.find { |model| model.satisfies?(args[:criteria]) } end |
#last ⇒ Object
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 |