Module: Structural::Timestamps

Defined in:
lib/structural/timestamps.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
6
# File 'lib/structural/timestamps.rb', line 3

def self.included(base)
  base.field :created_at
  base.field :updated_at
end

Instance Method Details

#initialize(data = {}) ⇒ Object



8
9
10
# File 'lib/structural/timestamps.rb', line 8

def initialize(data = {})
  super data.merge(:created_at => data.fetch(:created_at, Time.now))
end

#set(values) ⇒ Object



12
13
14
# File 'lib/structural/timestamps.rb', line 12

def set(values)
  self.class.new(super.data.merge(:updated_at => Time.now))
end

#unset(*keys) ⇒ Object



16
17
18
# File 'lib/structural/timestamps.rb', line 16

def unset(*keys)
  self.class.new(super.data.merge(:updated_at => Time.now))
end