Method: ActionView::Helpers::DateTimeSelector#select_datetime

Defined in:
actionview/lib/action_view/helpers/date_helper.rb

#select_datetimeObject

[View source]

735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
# File 'actionview/lib/action_view/helpers/date_helper.rb', line 735

def select_datetime
  order = date_order.dup
  order -= [:hour, :minute, :second]
  @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)
  @options[:discard_minute] ||= true if @options[:discard_hour]
  @options[:discard_second] ||= true unless @options[:include_seconds] && !@options[:discard_minute]

  set_day_if_discarded

  if @options[:tag] && @options[:ignore_date]
    select_time
  else
    [:day, :month, :year].each { |o| order.unshift(o) unless order.include?(o) }
    order += [:hour, :minute, :second] unless @options[:discard_hour]

    build_selects_from_types(order)
  end
end