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



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

def abort
  self.class.abort
end

#class_committed?Boolean

Returns:

  • (Boolean)


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

def class_committed?
  self.class.committed?
end

#commitObject



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

def commit
  self.class.commit
end

#committed?Boolean

Returns:

  • (Boolean)


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

def committed?; @persisted == true; end

#createObject



156
157
158
159
160
161
162
163
# File 'lib/mem_model/base.rb', line 156

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

#deleteObject



175
176
177
178
# File 'lib/mem_model/base.rb', line 175

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

#errorsObject



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

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

#generate_idObject



104
105
106
# File 'lib/mem_model/base.rb', line 104

def generate_id
  object_id
end

#initialize(attributes = {}) ⇒ Object



98
99
100
101
102
# File 'lib/mem_model/base.rb', line 98

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

#maglev?Boolean

Returns:

  • (Boolean)


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

def maglev?
  self.class.maglev?
end

#model_nameObject



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

def model_name; self.class.model_name; end

#new?Boolean Also known as: new_record?

Returns:

  • (Boolean)


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

def new?
  !persisted?
end

#persisted?Boolean Also known as: exists?

Returns:

  • (Boolean)


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

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

#persistent(&block) ⇒ Object



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

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

#saveObject



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

def save
  new? ? create : update
end

#to_keyObject



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

def to_key; end

#to_modelObject



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

def to_model
  return self
end

#to_paramObject



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

def to_param; end

#to_partial_pathObject



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

def to_partial_path; 'something'; end

#updateObject



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

def update
  commit
  true
end

#update_attributes(attributes) ⇒ Object



170
171
172
173
# File 'lib/mem_model/base.rb', line 170

def update_attributes(attributes)
  load_attributes(attributes)
  save
end