Module: ArtisanMemoryRepository::BaseRepository
- Included in:
- ChangeRepository, FutureUserRepository, IterationRepository, ProjectConfigurationRepository, ProjectRepository, StoryRepository, UserRepository
- Defined in:
- lib/artisan-memory-repository/base_repository.rb
Instance Method Summary collapse
-
#create(attrs = {}) ⇒ Object
def create!(attrs = {}) project = model_class.new(attrs) self.save(project) end.
- #delete(id) ⇒ Object
- #destroy_all ⇒ Object
- #find(id) ⇒ Object
- #find_each(&block) ⇒ Object
- #records ⇒ Object
- #save(object) ⇒ Object
- #where(attributes) ⇒ Object
Instance Method Details
#create(attrs = {}) ⇒ Object
def create!(attrs = {})
project = model_class.new(attrs)
self.save(project)
end
22 23 24 25 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 22 def create(attrs = {}) project = model_class.new(attrs) self.save(project) end |
#delete(id) ⇒ Object
39 40 41 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 39 def delete(id) records.delete(id) end |
#destroy_all ⇒ Object
43 44 45 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 43 def destroy_all @records = {} end |
#find(id) ⇒ Object
27 28 29 30 31 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 27 def find(id) record = records[id.to_i] raise Artisan::RecordNotFound unless record record end |
#find_each(&block) ⇒ Object
33 34 35 36 37 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 33 def find_each(&block) records.each do |id, model| block.call(model) end end |
#records ⇒ Object
47 48 49 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 47 def records @records ||= {} end |
#save(object) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 4 def save(object) clone = object.dup if clone.id records[clone.id] = clone else clone.id = records.size + 1 records[clone.id] = clone end return clone end |
#where(attributes) ⇒ Object
51 52 53 54 55 |
# File 'lib/artisan-memory-repository/base_repository.rb', line 51 def where(attributes) records.values.select do |record| attributes.all? { |key, value| record.send(key) == value } end end |