module MemModel::Base
Attributes
created_at[R]
guid[RW]
guid=[RW]
id[RW]
updated_at[R]
Public Class Methods
new(attributes = {})
click to toggle source
# File lib/mem_model/base.rb, line 119 def initialize(attributes = {}) @persisted = false unless maglev? @id = self.class.generate_id load_attributes(attributes) end
Public Instance Methods
abort()
click to toggle source
# File lib/mem_model/base.rb, line 157 def abort self.class.abort end
class_committed?()
click to toggle source
# File lib/mem_model/base.rb, line 131 def class_committed? self.class.committed? end
commit()
click to toggle source
# File lib/mem_model/base.rb, line 161 def commit self.class.commit end
committed?()
click to toggle source
# File lib/mem_model/base.rb, line 128 def committed?; @persisted == true; end
create()
click to toggle source
# File lib/mem_model/base.rb, line 173 def create persistent{ create_without_commit } self.id end
create_without_commit()
click to toggle source
This can be used when bulk loading
# File lib/mem_model/base.rb, line 179 def create_without_commit @created_at = @updated_at = Time.now @persisted = true if !class_committed? self.class.store << self end
delete()
click to toggle source
# File lib/mem_model/base.rb, line 199 def delete self.class.delete(self) self end
errors()
click to toggle source
# File lib/mem_model/base.rb, line 151 def errors; @errors ||= Errors.new(self); end
maglev?()
click to toggle source
# File lib/mem_model/base.rb, line 153 def maglev? self.class.maglev? end
model_name()
click to toggle source
# File lib/mem_model/base.rb, line 125 def model_name; self.class.model_name; end
new?()
click to toggle source
# File lib/mem_model/base.rb, line 142 def new? !persisted? end
Also aliased as: new_record?
persisted?()
click to toggle source
# File lib/mem_model/base.rb, line 135 def persisted? class_committed? ? committed? : @persisted == true end
Also aliased as: exists?
persistent(&block)
click to toggle source
# File lib/mem_model/base.rb, line 165 def persistent(&block) self.class.persistent(&block) end
save()
click to toggle source
# File lib/mem_model/base.rb, line 169 def save new? ? create : update end
to_hash()
click to toggle source
# File lib/mem_model/base.rb, line 208 def to_hash { id: id, created_at: created_at, updated_at: updated_at } end
to_key()
click to toggle source
# File lib/mem_model/base.rb, line 147 def to_key; end
to_model()
click to toggle source
# File lib/mem_model/base.rb, line 204 def to_model return self end
to_param()
click to toggle source
# File lib/mem_model/base.rb, line 148 def to_param; end
to_partial_path()
click to toggle source
# File lib/mem_model/base.rb, line 149 def to_partial_path; 'something'; end
update()
click to toggle source
# File lib/mem_model/base.rb, line 185 def update persistent{ update_without_commit } true end
update_attributes(attributes)
click to toggle source
# File lib/mem_model/base.rb, line 194 def update_attributes(attributes) load_attributes(attributes) save end
update_without_commit()
click to toggle source
# File lib/mem_model/base.rb, line 190 def update_without_commit @updated_at = Time.now end
Private Instance Methods
load_attributes(attributes)
click to toggle source
# File lib/mem_model/base.rb, line 218 def load_attributes(attributes) return unless attributes attributes.each do |(name, value)| self.send("#{name}=".to_sym, value) end end