Module: Timely::ActionViewHelpers::FormTagHelper

Defined in:
lib/timely/rails/calendar_tag.rb

Instance Method Summary collapse

Instance Method Details

#calendar_tag(name, value = Timely.current_date, *args) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/timely/rails/calendar_tag.rb', line 11

def calendar_tag(name, value = Timely.current_date, *args)
  options = args.extract_options!

  if value.respond_to?(:day)
    value = value.respond_to?(:to_fs) ? value.to_fs(:calendar) : value.to_s(:calendar)
  end

  name = name.to_s if name.is_a?(Symbol)

  options[:id] = options[:id] || name.gsub(/\]$/, '').gsub(/\]\[/, '[').gsub(/[\[\]]/, '_')

  options[:class] = options[:class].split(' ') if options[:class].is_a?(String)
  options[:class] ||= []
  options[:class] << 'datepicker'
  options[:class] = options[:class].join(' ') # Rails 2 requires string values

  options[:size] ||= 10
  options[:maxlength] ||= 10

  if options[:object].respond_to?(:to_fs)
    options[:object] = options[:object].to_fs(:default)
  end

  tag(:input, options.merge(name: name, type: 'text', value: value)).html_safe
end