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
#abort ⇒ Object
157
158
159
|
# File 'lib/mem_model/base.rb', line 157
def abort
self.class.abort
end
|
#class_committed? ⇒ Boolean
131
132
133
|
# File 'lib/mem_model/base.rb', line 131
def class_committed?
self.class.committed?
end
|
#commit ⇒ Object
161
162
163
|
# File 'lib/mem_model/base.rb', line 161
def commit
self.class.commit
end
|
#committed? ⇒ Boolean
128
|
# File 'lib/mem_model/base.rb', line 128
def committed?; @persisted == true; end
|
#create ⇒ Object
173
174
175
176
177
178
179
180
|
# File 'lib/mem_model/base.rb', line 173
def create
persistent do
@created_at = @updated_at = Time.now
@persisted = true if !class_committed?
self.class.store << self
end
self.id
end
|
#delete ⇒ Object
193
194
195
196
|
# File 'lib/mem_model/base.rb', line 193
def delete
self.class.delete(self)
self
end
|
#errors ⇒ Object
151
|
# File 'lib/mem_model/base.rb', line 151
def errors; @errors ||= Errors.new(self); end
|
#initialize(attributes = {}) ⇒ Object
119
120
121
122
123
|
# File 'lib/mem_model/base.rb', line 119
def initialize(attributes = {})
@persisted = false unless maglev?
@id = self.class.generate_id
load_attributes(attributes)
end
|
#maglev? ⇒ Boolean
153
154
155
|
# File 'lib/mem_model/base.rb', line 153
def maglev?
self.class.maglev?
end
|
#model_name ⇒ Object
125
|
# File 'lib/mem_model/base.rb', line 125
def model_name; self.class.model_name; end
|
#new? ⇒ Boolean
Also known as:
new_record?
142
143
144
|
# File 'lib/mem_model/base.rb', line 142
def new?
!persisted?
end
|
#persisted? ⇒ Boolean
Also known as:
exists?
135
136
137
138
139
|
# File 'lib/mem_model/base.rb', line 135
def persisted?
class_committed? ?
committed? :
@persisted == true
end
|
#persistent(&block) ⇒ Object
165
166
167
|
# File 'lib/mem_model/base.rb', line 165
def persistent(&block)
self.class.persistent(&block)
end
|
#save ⇒ Object
169
170
171
|
# File 'lib/mem_model/base.rb', line 169
def save
new? ? create : update
end
|
#to_hash ⇒ Object
202
203
204
205
206
207
208
|
# File 'lib/mem_model/base.rb', line 202
def to_hash
{
id: id,
created_at: created_at,
updated_at: updated_at
}
end
|
#to_key ⇒ Object
147
|
# File 'lib/mem_model/base.rb', line 147
def to_key; end
|
#to_model ⇒ Object
198
199
200
|
# File 'lib/mem_model/base.rb', line 198
def to_model
return self
end
|
#to_param ⇒ Object
148
|
# File 'lib/mem_model/base.rb', line 148
def to_param; end
|
#to_partial_path ⇒ Object
149
|
# File 'lib/mem_model/base.rb', line 149
def to_partial_path; 'something'; end
|
#update ⇒ Object
182
183
184
185
186
|
# File 'lib/mem_model/base.rb', line 182
def update
@updated_at = Time.now
commit
true
end
|
#update_attributes(attributes) ⇒ Object
188
189
190
191
|
# File 'lib/mem_model/base.rb', line 188
def update_attributes(attributes)
load_attributes(attributes)
save
end
|