module Loco::Persistable
Public Class Methods
included(base)
click to toggle source
# File lib/motion-loco/persistable.rb, line 90 def self.included(base) base.extend(ClassMethods) end
Public Instance Methods
destroy(&block)
click to toggle source
# File lib/motion-loco/persistable.rb, line 5 def destroy(&block) adapter = self.class.get_class_adapter unless self.new? adapter.delete_record(self) do |record| block.call(record) if block.is_a? Proc end end end
load(id, data)
click to toggle source
# File lib/motion-loco/persistable.rb, line 14 def load(id, data) data.merge!({ id: id }) self.set_properties(data) self end
new?()
click to toggle source
# File lib/motion-loco/persistable.rb, line 20 def new? self.id.nil? end
save(&block)
click to toggle source
# File lib/motion-loco/persistable.rb, line 24 def save(&block) adapter = self.class.get_class_adapter if self.new? adapter.create_record(self) do |record| block.call(record) if block.is_a? Proc end else adapter.update_record(self) do |record| block.call(record) if block.is_a? Proc end end end
serialize(options={})
click to toggle source
# File lib/motion-loco/persistable.rb, line 37 def serialize(options={}) self.class.get_class_adapter.serialize(self, options) end