Sha256: 2c58f2eeaba15c1a6f53c7b7b662cf5ca7a4f122f3a7df5893bdb1b6ff5822b4
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
module ValidatesTimeliness module ORM module ActiveRecord extend ActiveSupport::Concern module ClassMethods def define_attribute_methods super # Define write method and before_type_cast method define_timeliness_methods(true) end def timeliness_attribute_timezone_aware?(attr_name) attr_name = attr_name.to_s create_time_zone_conversion_attribute?(attr_name, columns_hash[attr_name]) end def timeliness_attribute_type(attr_name) columns_hash[attr_name.to_s].type end def timeliness_type_cast_code(attr_name, var_name) type = timeliness_attribute_type(attr_name) <<-END #{super} #{var_name} = #{var_name}.to_date if #{var_name} && :#{type} == :date END end end module InstanceMethods def reload(*args) _clear_timeliness_cache super end end end end end class ActiveRecord::Base include ValidatesTimeliness::AttributeMethods include ValidatesTimeliness::ORM::ActiveRecord end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
validates_timeliness-3.0.6 | lib/validates_timeliness/orm/active_record.rb |