Module: MemModel::Base::ClassMethods
- Extended by:
- Forwardable
- Defined in:
- lib/mem_model/base.rb
Instance Method Summary collapse
-
#create(atts = {}) ⇒ Object
Create a new record.
- #create!(*args) ⇒ Object
-
#delete_all ⇒ Object
Removes all records without executing destroy callbacks.
- #destroy(id) ⇒ Object
-
#destroy_all ⇒ Object
Removes all records and executes destroy callbacks.
- #exists?(id) ⇒ Boolean
-
#find(id) ⇒ Object
(also: #[])
Find or nil.
-
#find_by_id(id) ⇒ Object
Find or raise.
- #generate_id ⇒ Object
- #store ⇒ Object
- #update(id, atts) ⇒ Object
Instance Method Details
#create(atts = {}) ⇒ Object
Create a new record. Example:
create(:name => "foo", :id => 1)
66 67 68 69 |
# File 'lib/mem_model/base.rb', line 66 def create(atts = {}) rec = self.new(atts) rec.save && rec end |
#create!(*args) ⇒ Object
71 72 73 |
# File 'lib/mem_model/base.rb', line 71 def create!(*args) create(*args) || raise(InvalidRecord) end |
#delete_all ⇒ Object
Removes all records without executing destroy callbacks.
59 60 61 |
# File 'lib/mem_model/base.rb', line 59 def delete_all store.clear end |
#destroy(id) ⇒ Object
47 48 49 |
# File 'lib/mem_model/base.rb', line 47 def destroy(id) find(id).destroy end |
#destroy_all ⇒ Object
Removes all records and executes destroy callbacks.
53 54 55 |
# File 'lib/mem_model/base.rb', line 53 def destroy_all all.each {|r| r.destroy } end |
#exists?(id) ⇒ Boolean
39 40 41 |
# File 'lib/mem_model/base.rb', line 39 def exists?(id) store.any?{ |record| record.id == id } end |
#find(id) ⇒ Object Also known as: []
Find or nil
29 30 31 |
# File 'lib/mem_model/base.rb', line 29 def find(id) store.detect{ |r| r.id == id } end |
#find_by_id(id) ⇒ Object
Find or raise
35 36 37 |
# File 'lib/mem_model/base.rb', line 35 def find_by_id(id) find(id) || raise(UnknownRecord, "Couldn't find #{self.name} with ID=#{id}") end |
#generate_id ⇒ Object
24 25 26 |
# File 'lib/mem_model/base.rb', line 24 def generate_id object_id end |
#store ⇒ Object
20 21 22 |
# File 'lib/mem_model/base.rb', line 20 def store @store ||= Set.new end |
#update(id, atts) ⇒ Object
43 44 45 |
# File 'lib/mem_model/base.rb', line 43 def update(id, atts) find(id).update_attributes(atts) end |