Module: MemModel::Base

Extended by:
Concern
Defined in:
lib/mem_model/base.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Methods included from Concern

append_features, extended, included

Instance Method Details

#abortObject



156
157
158
# File 'lib/mem_model/base.rb', line 156

def abort
  self.class.abort
end

#class_committed?Boolean

Returns:

  • (Boolean)


130
131
132
# File 'lib/mem_model/base.rb', line 130

def class_committed?
  self.class.committed?
end

#commitObject



160
161
162
# File 'lib/mem_model/base.rb', line 160

def commit
  self.class.commit
end

#committed?Boolean

Returns:

  • (Boolean)


127
# File 'lib/mem_model/base.rb', line 127

def committed?; @persisted == true; end

#createObject



172
173
174
175
176
177
178
179
# File 'lib/mem_model/base.rb', line 172

def create
  self.id ||= generate_id
  persistent do
    self.class.store << self
    @persisted = true unless class_committed?
  end
  self.id
end

#deleteObject



191
192
193
194
# File 'lib/mem_model/base.rb', line 191

def delete
  self.class.delete(self)
  self
end

#errorsObject



150
# File 'lib/mem_model/base.rb', line 150

def errors; @errors ||= Errors.new(self); end

#generate_idObject



120
121
122
# File 'lib/mem_model/base.rb', line 120

def generate_id
  object_id
end

#initialize(attributes = {}) ⇒ Object



114
115
116
117
118
# File 'lib/mem_model/base.rb', line 114

def initialize(attributes = {})
  @persisted = false unless maglev?
  load_attributes(attributes)
  self.id ||= self.generate_id
end

#maglev?Boolean

Returns:

  • (Boolean)


152
153
154
# File 'lib/mem_model/base.rb', line 152

def maglev?
  self.class.maglev?
end

#model_nameObject



124
# File 'lib/mem_model/base.rb', line 124

def model_name; self.class.model_name; end

#new?Boolean Also known as: new_record?

Returns:

  • (Boolean)


141
142
143
# File 'lib/mem_model/base.rb', line 141

def new?
  !persisted?
end

#persisted?Boolean Also known as: exists?

Returns:

  • (Boolean)


134
135
136
137
138
# File 'lib/mem_model/base.rb', line 134

def persisted?
  class_committed? ?
    committed? :
    @persisted == true
end

#persistent(&block) ⇒ Object



164
165
166
# File 'lib/mem_model/base.rb', line 164

def persistent(&block)
  self.class.persistent(&block)
end

#saveObject



168
169
170
# File 'lib/mem_model/base.rb', line 168

def save
  new? ? create : update
end

#to_keyObject



146
# File 'lib/mem_model/base.rb', line 146

def to_key; end

#to_modelObject



196
197
198
# File 'lib/mem_model/base.rb', line 196

def to_model
  return self
end

#to_paramObject



147
# File 'lib/mem_model/base.rb', line 147

def to_param; end

#to_partial_pathObject



148
# File 'lib/mem_model/base.rb', line 148

def to_partial_path; 'something'; end

#updateObject



181
182
183
184
# File 'lib/mem_model/base.rb', line 181

def update
  commit
  true
end

#update_attributes(attributes) ⇒ Object



186
187
188
189
# File 'lib/mem_model/base.rb', line 186

def update_attributes(attributes)
  load_attributes(attributes)
  save
end