19: def select_month(date, options = {})
20: month_options = []
21: if RuTils::overrides_enabled?
22: month_names = case true
23: when options[:use_short_month]
24: Date::RU_ABBR_MONTHNAMES
25: when options[:order] && options[:order].include?(:day)
26: Date::RU_INFLECTED_MONTHNAMES
27: else
28: Date::RU_MONTHNAMES
29: end
30: else
31: month_names = options[:use_short_month] ? Date::ABBR_MONTHNAMES : Date::MONTHNAMES
32: end
33: 1.upto(12) do |month_number|
34: month_name = if options[:use_month_numbers]
35: month_number
36: elsif options[:add_month_numbers]
37: month_number.to_s + ' - ' + month_names[month_number]
38: else
39: month_names[month_number]
40: end
41:
42: month_options << ((date && (date.kind_of?(Fixnum) ? date : date.month) == month_number) ?
43: %(<option value="#{month_number}" selected="selected">#{month_name}</option>\n) :
44: %(<option value="#{month_number}">#{month_name}</option>\n)
45: )
46: end
47:
48: select_html(options[:field_name] || 'month', month_options, options)
49: end