module StringifyDate::ActiveRecord::Stringify::ClassMethods
Public Instance Methods
stringify(field, *args)
click to toggle source
# File lib/stringify_date/active_record/stringify.rb, line 22 def stringify(field, *args) column_name = field.to_s options = args.extract_options! format = options[:format] || '%Y-%m-%d' name = [column_name, 'string'].join('_') define_method name do date = send(column_name) date.strftime(format) if date.present? end define_method "#{name}=" do |value| parsed_value = parse_value(name, value, format) send("#{column_name}=", parsed_value) end define_method "validate_#{name}" do errors.add(name.to_sym, I18n.t('errors.invalid')) if instance_variable_get("@#{name}_invalid") end send(:validate, :"validate_#{name}") end