class Ezframe::DateType

Public Instance Methods

db_type() click to toggle source
# File lib/ezframe/column_type.rb, line 374
def db_type
  return "date"
end
form(opts = {}) click to toggle source
Calls superclass method Ezframe::TextType#form
# File lib/ezframe/column_type.rb, line 360
def form(opts = {})
  return nil if no_edit? && !opts[:force]
  h = super
  return nil unless h
  if h
    # h[:type] = 'date'
    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 378
def value
  return nil if @value.nil? || (@value.is_a?(String) && @value.strip.empty?)
  if @value.is_a?(Date) || @value.is_a?(Time)
    return "%d-%02d-%02d" % [@value.year, @value.mon, @value.mday]
  end
  return @value
end
value=(v) click to toggle source
# File lib/ezframe/column_type.rb, line 386
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
    y, m, d = v.split(/[\-\/]/)
    @value = Date.new(y.to_i, m.to_i, d.to_i)
    return
  end
  if v.is_a?(Date) || v.is_a?(Time)
    @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 412
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" % [@value.year, @value.mon, @value.mday]
    end
  else
    return @value
  end
end