class ActionView::Helpers::DateTimeSelector
Public Instance Methods
build_text(selected, value, options = {})
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 139 def build_text(selected, value, options = {}) unless value.nil? options.reverse_merge!({:leading_zeros => true, :ampm => false}) leading_zeros = options.delete(:leading_zeros) value = leading_zeros ? sprintf("%02d", value) : value text = options[:ampm] ? AMPM_TRANSLATION[value] : value else "" end end
build_text_field_from_types(order)
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 130 def build_text_field_from_types(order) input = '' order.reverse.each do |type| separator = separator(type) unless type == order.first # don't add on last field input.insert(0, separator.to_s + send("text_field_#{type}").to_s) end text_field_tag("", input.html_safe, @html_options).html_safe end
text_field_date()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 31 def text_field_date order = date_order.dup @options[:discard_hour] = true @options[:discard_minute] = true @options[:discard_second] = true @options[:discard_year] ||= true unless order.include?(:year) @options[:discard_month] ||= true unless order.include?(:month) @options[:discard_day] ||= true if @options[:discard_month] || !order.include?(:day) # Save this so we can restore it. original_datetime_separator_separator = @options[:datetime_separator] original_date_separator = @options[:date_separator] @options[:datetime_separator] = "" @options[:date_separator] = " " # If the day is hidden and the month is visible, the day should be set to the 1st so all month choices are # valid (otherwise it could be 31 and February wouldn't be a valid date) if @datetime && @options[:discard_day] && !@options[:discard_month] @datetime = @datetime.change(:day => 1) end [:day, :month, :year].each { |o| order.unshift(o) unless order.include?(o) } build_text_field_from_types(order).tap do # Restore. @options[:datetime_separator] = original_datetime_separator_separator @options[:date_separator] = original_date_separator end end
text_field_day()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 112 def text_field_day unless @options[:use_hidden] || @options[:discard_day] build_text(:day, day, :leading_zeros => false) end end
text_field_hour()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 106 def text_field_hour unless @options[:use_hidden] || @options[:discard_hour] build_text(:hour, hour, :ampm => @options[:ampm]) end end
text_field_minute()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 100 def text_field_minute unless @options[:use_hidden] || @options[:discard_minute] build_text(:minute, min) end end
text_field_month()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 118 def text_field_month unless @options[:use_hidden] || @options[:discard_month] build_text(:month, month.nil? ? "" : month_name(month), :leading_zeros => false) end end
text_field_second()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 94 def text_field_second unless @options[:use_hidden] || @options[:discard_second] build_text(:second, sec) end end
text_field_time()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 64 def text_field_time order = [] @options[:discard_month] = true @options[:discard_year] = true @options[:discard_day] = true @options[:discard_second] ||= true unless @options[:include_seconds] # Save this so we can restore it. original_datetime_separator = @options[:datetime_separator] original_time_separator = @options[:time_separator] original_date_separator = @options[:date_separator] @options[:datetime_separator] = '' @options[:time_separator] = ':' @options[:date_separator] = " " order += [:year, :month, :day] unless @options[:ignore_date] order += [:hour, :minute] order << :second if @options[:include_seconds] build_text_field_from_types(order).tap do # Restore. @options[:datetime_separator] = original_datetime_separator @options[:date_separator] = original_date_separator @options[:time_separator] = original_time_separator end end
text_field_year()
click to toggle source
# File lib/action_view/helpers/text_field_date_helper.rb, line 124 def text_field_year unless @options[:use_hidden] || @options[:discard_year] build_text(:year, year, :leading_zeros => false) end end