Sha256: 507d738cba673a124890f9e68aa851bdaf0ee75bf72c3299c30eedb8ba2269de

Contents?: true

Size: 810 Bytes

Versions: 5

Compression:

Stored size: 810 Bytes

Contents

module Spontaneous
  module DataMapper

    def self.timestamp
      ::Sequel.datetime_class.now
    end

    module ContentModel
      module Timestamps
        def before_create
          set_create_timestamp
          super
        end

        def before_update
          set_update_timestamp
          super
        end

        def set_create_timestamp(time=nil)
          return unless self.respond_to?(:created_at)
          time ||= Spontaneous::DataMapper.timestamp
          self.send(:"created_at=", time) if send(:created_at).nil?
          set_update_timestamp(time)
        end

        def set_update_timestamp(time=nil)
          return unless self.respond_to?(:modified_at)
          self.send(:modified_at=, time || Spontaneous::DataMapper.timestamp)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spontaneous-0.2.0.beta10 lib/spontaneous/data_mapper/content_model/timestamps.rb
spontaneous-0.2.0.beta9 lib/spontaneous/data_mapper/content_model/timestamps.rb
spontaneous-0.2.0.beta8 lib/spontaneous/data_mapper/content_model/timestamps.rb
spontaneous-0.2.0.beta7 lib/spontaneous/data_mapper/content_model/timestamps.rb
spontaneous-0.2.0.beta6 lib/spontaneous/data_mapper/content_model/timestamps.rb