Sha256: d05f59867edc2876f60e22fd7f9dd95b6250ce761e46a99d09a08977f5e6613d
Contents?: true
Size: 958 Bytes
Versions: 1
Compression:
Stored size: 958 Bytes
Contents
module Mongoid module Friendly module Timestamps extend ActiveSupport::Concern module ClassMethods def friendly_timestamp(raw_name, friendly_name) update_friendly_field_method_name = "update_friendly_timestamp_field_#{friendly_name}" define_method update_friendly_field_method_name do self[friendly_name] = Time.at(self[raw_name]).strftime '%d-%b-%Y %H:%M:%S.%N' end define_method "#{raw_name}=" do |value| utc = value.utc self[raw_name] = utc.to_f self.send update_friendly_field_method_name end self.class_eval do field raw_name, :type => Float field friendly_name, :type => String before_validation { self.send(update_friendly_field_method_name) } end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid-friendly-timestamps-0.0.1 | lib/mongoid-friendly-timestamps.rb |