class Ezframe::DatetimeType
Public Class Methods
new(attr = nil)
click to toggle source
Calls superclass method
Ezframe::TypeBase::new
# File lib/ezframe/column_type.rb, line 434 def initialize(attr = nil) super(attr) # @attribute[:class] = "datettimepicker" # for jquery datetimepicker @attribute[:class] = "datetpicker" end
Public Instance Methods
db_type()
click to toggle source
# File lib/ezframe/column_type.rb, line 497 def db_type "timestamp" end
form(opts = {})
click to toggle source
Calls superclass method
Ezframe::TextType#form
# File lib/ezframe/column_type.rb, line 483 def form(opts = {}) # EzLog.debug("DatetimeType: key=#{self.key}, opts=#{opts}") return nil if no_edit? && !opts[:force] h = super return nil unless h if h h[:type] = "text" h[:value] = @value || "" h[:class] = [ "datepicker" ] h[:class].push(@attribute[:class]) if @attribute[:class] end return h end
value()
click to toggle source
# File lib/ezframe/column_type.rb, line 501 def value return nil if @value.nil? || (@value.is_a?(String) && @value.strip.empty?) return @value if @value.is_a?(Date) || @value.is_a?(Time) return DateTime.parse(@value) if @value.is_a?(String) end
value=(v)
click to toggle source
# File lib/ezframe/column_type.rb, line 440 def value=(v) if v.nil? default = @attribute[:default] if default @value = default else @value = nil end return end if v.is_a?(String) if v.strip.empty? @value = nil return end begin @value = DateTime.parse(v) rescue => e EzLog.warn("date format error: #{self.key}=#{v}:#{e}") @value = nil end return end if v.is_a?(Date) || v.is_a?(Time) || v.is_a?(DateTime) @value = v else EzLog.info "[WARN] illegal value for date type: #{v.inspect}" end end
view(opts = {})
click to toggle source
# File lib/ezframe/column_type.rb, line 470 def view(opts = {}) return nil if no_view? && !opts[:force] if @value.is_a?(Time) || @value.is_a?(Date) if @attribute[:view_format] return use_view_format(@attribute[:view_format], @value) else return "%d/%02d/%02d %02d:%02d:%02d"%[@value.year, @value.mon, @value.mday, @value.hour, @value.min, @value.sec] end else return @value end end