class LazyRecord
Constants
- STORE_NAME
Attributes
id[RW]
Public Class Methods
all()
click to toggle source
# File lib/lazyrecord.rb, line 102 def all store.all(entity_name).values end
create(*args)
click to toggle source
# File lib/lazyrecord.rb, line 128 def create(*args) record = new(*args) record.save record end
delete(id)
click to toggle source
# File lib/lazyrecord.rb, line 124 def delete(id) store.delete(entity_name, id) end
entity_name()
click to toggle source
# File lib/lazyrecord.rb, line 94 def entity_name name.downcase end
find(id = nil, &block)
click to toggle source
# File lib/lazyrecord.rb, line 106 def find(id = nil, &block) if block_given? all.find(&block) elsif id store.find(entity_name, id) else raise ArgumentError.new("find requires and id or a block to be provided") end end
inherited(child_class)
click to toggle source
# File lib/lazyrecord.rb, line 90 def inherited(child_class) store.create_entity(child_class.name.downcase) end
next_id()
click to toggle source
# File lib/lazyrecord.rb, line 98 def next_id store.next_id(entity_name) end
save(record)
click to toggle source
# File lib/lazyrecord.rb, line 120 def save(record) store.save(entity_name, record) end
store()
click to toggle source
# File lib/lazyrecord.rb, line 116 def store @@store ||= Store.new(STORE_NAME) end
Public Instance Methods
save()
click to toggle source
# File lib/lazyrecord.rb, line 135 def save @id ||= self.class.next_id self.class.save(self) end