module DigitalOpera::FormObject
Public Class Methods
date_field(field)
click to toggle source
# File lib/digital_opera/form_object/base.rb, line 75 def self.date_field(field) # create a getter that gets the date and converts it to strftime send :define_method, field do if instance_variable_get("@#{field}").present? date = instance_variable_get("@#{field}") begin date.strftime('%m/%d/%Y') rescue date end end end # setter for date send :define_method, "#{field}=" do |date| if date.is_a? String begin d = date.gsub(' ', '') new_date = Date.parse(d) rescue new_date = date end else new_date = date end instance_variable_set("@#{field}", new_date) end send :define_method, "valid_#{field}" do begin val = send(field) val.is_a?(Date) || Date.parse(val) rescue errors.add(field.to_sym, 'is not a valid date') end end end