Module: Sequel::Plugins::Timestamps

Defined in:
lib/sequel/lib/sequel/plugins/timestamps.rb

Overview

The timestamps plugin creates hooks that automatically set create and update timestamp fields. Both field names used are configurable, and you can also set whether to overwrite existing create timestamps (false by default), or whether to set the update timestamp when creating (also false by default).

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.configure(model, opts = {}) ⇒ Object

Configure the plugin by setting the avialable options. Note that if this method is run more than once, previous settings are ignored, and it will just use the settings given or the default settings. Options:

  • :create - The field to hold the create timestamp (default: :created_at)

  • :force - Whether to overwrite an existing create timestamp (default: false)

  • :update - The field to hold the update timestamp (default: :updated_at)

  • :update_on_create - Whether to set the update timestamp to the create timestamp when creating (default: false)


16
17
18
19
20
21
22
23
# File 'lib/sequel/lib/sequel/plugins/timestamps.rb', line 16

def self.configure(model, opts={})
  model.instance_eval do
    @create_timestamp_field = opts[:create]||:created_at
    @update_timestamp_field = opts[:update]||:updated_at
    @create_timestamp_overwrite = opts[:force]||false
    @set_update_timestamp_on_create = opts[:update_on_create]||false
  end
end