Sha256: e51f1d8af7f26b036322ca90977c1f780b4b341e3aac5b8746a401867673e94e
Contents?: true
Size: 1.31 KB
Versions: 8
Compression:
Stored size: 1.31 KB
Contents
require 'spiderfw/model/base_model' module Spider; module Model # The main superclass of non-legacy models. # Extends the BaseModel providing an autoincrementing id and creation/modification timestamps. # Defines the following elements: # element :id, Fixnum, :primary_key => true,:autoincrement => true, :read_only => true, :element_position => 0} # element :obj_created, DateTime, :hidden => true # element :obj_modified, DateTime, :hidden => true # # Other modules may be mixed-in to add default functionality to managed models. class Managed < BaseModel element :id, Fixnum, { :primary_key => true, :autoincrement => true, :read_only => true, :element_position => 0 } element :obj_created, DateTime, :hidden => true element :obj_modified, DateTime, :hidden => true def assign_id(val) #:nodoc: @id = val end def self.managed? true end with_mapper do def before_save(obj, mode) obj.obj_created = DateTime.now if mode == :insert obj.obj_modified = DateTime.now if obj.modified? super end end end end; end
Version data entries
8 entries across 8 versions & 1 rubygems