Module: MemModel::Base::ClassMethods
- Includes:
- Enumerable
- Defined in:
- lib/mem_model/base.rb
Instance Method Summary collapse
- #abort ⇒ Object
- #all ⇒ Object
- #commit ⇒ Object
-
#create(atts = {}) ⇒ Object
Create a new record.
- #delete(record) ⇒ Object
- #delete_all ⇒ Object
- #each(&block) ⇒ Object
- #exists?(id) ⇒ Boolean
-
#find(id) ⇒ Object
(also: #[])
Find or nil.
-
#find_by_id(id) ⇒ Object
Find or raise.
- #generate_id ⇒ Object
- #last ⇒ Object
- #maglev? ⇒ Boolean
- #model_name ⇒ Object
- #size ⇒ Object
- #store ⇒ Object
- #store_class ⇒ Object
Instance Method Details
#abort ⇒ Object
76 77 78 79 |
# File 'lib/mem_model/base.rb', line 76 def abort # no-op true end |
#all ⇒ Object
33 34 35 |
# File 'lib/mem_model/base.rb', line 33 def all store.to_a end |
#commit ⇒ Object
81 82 83 84 |
# File 'lib/mem_model/base.rb', line 81 def commit # no-op true end |
#create(atts = {}) ⇒ Object
Create a new record. Example:
create(:name => "foo", :id => 1)
67 68 69 70 |
# File 'lib/mem_model/base.rb', line 67 def create(atts = {}) rec = self.new(atts) rec.save && rec end |
#delete(record) ⇒ Object
88 89 90 |
# File 'lib/mem_model/base.rb', line 88 def delete(record) store.delete(record) end |
#delete_all ⇒ Object
60 61 62 |
# File 'lib/mem_model/base.rb', line 60 def delete_all store.clear end |
#each(&block) ⇒ Object
13 14 15 |
# File 'lib/mem_model/base.rb', line 13 def each(&block) store.each(&block) end |
#exists?(id) ⇒ Boolean
56 57 58 |
# File 'lib/mem_model/base.rb', line 56 def exists?(id) store.any?{ |record| record.id == id } end |
#find(id) ⇒ Object Also known as: []
Find or nil
46 47 48 |
# File 'lib/mem_model/base.rb', line 46 def find(id) store.detect{ |r| r.id == id } end |
#find_by_id(id) ⇒ Object
Find or raise
52 53 54 |
# File 'lib/mem_model/base.rb', line 52 def find_by_id(id) find(id) || raise(UnknownRecord, "Couldn't find #{self.name} with ID=#{id}") end |
#generate_id ⇒ Object
41 42 43 |
# File 'lib/mem_model/base.rb', line 41 def generate_id object_id end |
#last ⇒ Object
37 38 39 |
# File 'lib/mem_model/base.rb', line 37 def last all[-1] end |
#maglev? ⇒ Boolean
72 73 74 |
# File 'lib/mem_model/base.rb', line 72 def maglev? MemModel.maglev? end |
#model_name ⇒ Object
17 18 19 |
# File 'lib/mem_model/base.rb', line 17 def model_name @model_name ||= ModelName.new(self.name) end |
#size ⇒ Object
29 30 31 |
# File 'lib/mem_model/base.rb', line 29 def size store.size end |
#store ⇒ Object
25 26 27 |
# File 'lib/mem_model/base.rb', line 25 def store @store ||= store_class.new end |
#store_class ⇒ Object
21 22 23 |
# File 'lib/mem_model/base.rb', line 21 def store_class maglev? ? IdentitySet : Set end |