module TimeWrapper::TimeAttribute

Public Instance Methods

time_attribute(*options) click to toggle source
# File lib/time_wrapper/time_attribute.rb, line 5
def time_attribute(*options)
  options.each do |attribute|
    raise TypeError.new("'#{attribute}' is not of column-type datetime") unless (column = columns.detect{|column| column.name == attribute.to_s}) && column.type.to_s == 'datetime'

    include ClassMethods

    define_method "#{attribute}=" do |value| set_time_wrapper_attribute(attribute,value) end
    define_method attribute do get_time_wrapper_attribute(attribute) end
    define_method "#{attribute}_time_wrapper_validation" do validate_time_wrapper_attribute(attribute) end

    validate "#{attribute}_time_wrapper_validation".to_sym
  end
end