Class: Ezframe::BirthdayType
Instance Attribute Summary
Attributes inherited from TypeBase
#attribute, #error, #parent
Instance Method Summary
collapse
Methods inherited from TextType
#db_type, #normalize, #value=
Methods inherited from TypeBase
#db_type, #db_value, #form_html, get_class, #initialize, #key, #label, #no_edit?, #no_view?, #normalize, type_name, #validate, #value, #value=
Instance Method Details
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
|
# File 'lib/ezframe/column_type.rb', line 337
def form(opts = {})
return nil if no_edit? && !opts[:force]
prefix = self.key
now = Time.now
year_list = []
110.times do |y|
year = now.year - y - 10
year_list.push [year, "#{year}年 (#{Japanese.convert_wareki(year)})"]
end
year, mon, mday = parse_date(@value)
mon_list = (1..12).map { |m| [m, "#{m}月"] }
mon_list.unshift([0, "(月)"])
mday_list = (1..31).map { |d| [d, "#{d}日"] }
mday_list.unshift([0, "(日)"])
return [Ht.select(name: "#{prefix}_year", item: year_list, value: year),
Ht.select(name: "#{prefix}_mon", item: mon_list, value: mon),
Ht.select(name: "#{prefix}_mday", item: mday_list, value: mday)]
end
|
377
378
379
380
|
# File 'lib/ezframe/column_type.rb', line 377
def form_to_value(form)
y, m, d = form["#{self.key}_year".to_sym], form["#{self.key}_mon".to_sym], form["#{self.key}_mday".to_sym]
return "#{y.to_i}-#{m.to_i}-#{d.to_i}"
end
|
373
374
375
|
# File 'lib/ezframe/column_type.rb', line 373
def multi_inputs?
true
end
|
#parse_date(date) ⇒ Object
366
367
368
369
370
371
|
# File 'lib/ezframe/column_type.rb', line 366
def parse_date(date)
if date && date =~ /(\d+)\-(\d+)\-(\d+)/
return [ $1.to_i,$2.to_i,$3.to_i ]
end
return nil
end
|
#view(opts = {}) ⇒ Object
357
358
359
360
361
362
363
364
|
# File 'lib/ezframe/column_type.rb', line 357
def view(opts = {})
return nil if no_view? && !opts[:force]
return nil unless @value
year, mon, mday = parse_date(@value)
mon = "?" if mon == 0
mday = "?" if mday == 0
return "#{year}年 #{mon}月 #{mday}日"
end
|