mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Fix styiling issues on DateHelper docs
This commit is contained in:
@@ -12,14 +12,14 @@ module ActionView
|
||||
# select-type methods share a number of common options that are as follows:
|
||||
#
|
||||
# * <tt>:prefix</tt> - overwrites the default prefix of "date" used for the select names. So specifying "birthday"
|
||||
# would give birthday[month] instead of date[month] if passed to the select_month method.
|
||||
# would give birthday[month] instead of date[month] if passed to the <tt>select_month</tt> method.
|
||||
# * <tt>:include_blank</tt> - set to true if it should be possible to set an empty date.
|
||||
# * <tt>:discard_type</tt> - set to true if you want to discard the type part of the select name. If set to true,
|
||||
# the select_month method would use simply "date" (which can be overwritten using <tt>:prefix</tt>) instead of
|
||||
# "date[month]".
|
||||
# the <tt>select_month</tt> method would use simply "date" (which can be overwritten using <tt>:prefix</tt>) instead
|
||||
# of "date[month]".
|
||||
module DateHelper
|
||||
# Reports the approximate distance in time between two Time or Date objects or integers as seconds.
|
||||
# Set <tt>include_seconds</tt> to true if you want more detailed approximations when distance < 1 min, 29 secs
|
||||
# Set <tt>include_seconds</tt> to true if you want more detailed approximations when distance < 1 min, 29 secs.
|
||||
# Distances are reported based on the following table:
|
||||
#
|
||||
# 0 <-> 29 secs # => less than a minute
|
||||
@@ -108,7 +108,7 @@ module ActionView
|
||||
end
|
||||
end
|
||||
|
||||
# Like distance_of_time_in_words, but where <tt>to_time</tt> is fixed to <tt>Time.now</tt>.
|
||||
# Like <tt>distance_of_time_in_words</tt>, but where <tt>to_time</tt> is fixed to <tt>Time.now</tt>.
|
||||
#
|
||||
# ==== Examples
|
||||
# time_ago_in_words(3.minutes.from_now) # => 3 minutes
|
||||
@@ -165,7 +165,7 @@ module ActionView
|
||||
# NOTE: Discarded selects will default to 1. So if no month select is available, January will be assumed.
|
||||
#
|
||||
# ==== Examples
|
||||
# # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute
|
||||
# # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute.
|
||||
# date_select("post", "written_on")
|
||||
#
|
||||
# # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute,
|
||||
@@ -194,7 +194,7 @@ module ActionView
|
||||
# # that will have a default day of 20.
|
||||
# date_select("credit_card", "bill_due", :default => { :day => 20 })
|
||||
#
|
||||
# # Generates a date select with custom prompts
|
||||
# # Generates a date select with custom prompts.
|
||||
# date_select("post", "written_on", :prompt => { :day => 'Select day', :month => 'Select month', :year => 'Select year' })
|
||||
#
|
||||
# The selects are prepared for multi-parameter assignment to an Active Record object.
|
||||
@@ -216,17 +216,17 @@ module ActionView
|
||||
# If anything is passed in the html_options hash it will be applied to every select tag in the set.
|
||||
#
|
||||
# ==== Examples
|
||||
# # Creates a time select tag that, when POSTed, will be stored in the post variable in the sunrise attribute
|
||||
# # Creates a time select tag that, when POSTed, will be stored in the post variable in the sunrise attribute.
|
||||
# time_select("post", "sunrise")
|
||||
#
|
||||
# # Creates a time select tag with a seconds field that, when POSTed, will be stored in the post variables in
|
||||
# # the sunrise attribute.
|
||||
# time_select("post", "start_time", :include_seconds => true)
|
||||
#
|
||||
# # You can set the :minute_step to 15 which will give you: 00, 15, 30 and 45.
|
||||
# # You can set the <tt>:minute_step</tt> to 15 which will give you: 00, 15, 30 and 45.
|
||||
# time_select 'game', 'game_time', {:minute_step => 15}
|
||||
#
|
||||
# # Creates a time select tag with a custom prompt. Use :prompt => true for generic prompts.
|
||||
# # Creates a time select tag with a custom prompt. Use <tt>:prompt => true</tt> for generic prompts.
|
||||
# time_select("post", "written_on", :prompt => {:hour => 'Choose hour', :minute => 'Choose minute', :second => 'Choose seconds'})
|
||||
# time_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours
|
||||
# time_select("post", "written_on", :prompt => true) # generic prompts for all
|
||||
@@ -247,7 +247,7 @@ module ActionView
|
||||
#
|
||||
# ==== Examples
|
||||
# # Generates a datetime select that, when POSTed, will be stored in the post variable in the written_on
|
||||
# # attribute
|
||||
# # attribute.
|
||||
# datetime_select("post", "written_on")
|
||||
#
|
||||
# # Generates a datetime select with a year select that starts at 1995 that, when POSTed, will be stored in the
|
||||
@@ -262,7 +262,7 @@ module ActionView
|
||||
# # as the written_on attribute.
|
||||
# datetime_select("post", "written_on", :discard_type => true)
|
||||
#
|
||||
# # Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts.
|
||||
# # Generates a datetime select with a custom prompt. Use <tt>:prompt => true</tt> for generic prompts.
|
||||
# datetime_select("post", "written_on", :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
|
||||
# datetime_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours
|
||||
# datetime_select("post", "written_on", :prompt => true) # generic prompts for all
|
||||
@@ -284,7 +284,7 @@ module ActionView
|
||||
# ==== Examples
|
||||
# my_date_time = Time.now + 4.days
|
||||
#
|
||||
# # Generates a datetime select that defaults to the datetime in my_date_time (four days after today)
|
||||
# # Generates a datetime select that defaults to the datetime in my_date_time (four days after today).
|
||||
# select_datetime(my_date_time)
|
||||
#
|
||||
# # Generates a datetime select that defaults to today (no specified datetime)
|
||||
@@ -311,7 +311,7 @@ module ActionView
|
||||
# # prefixed with 'payday' rather than 'date'
|
||||
# select_datetime(my_date_time, :prefix => 'payday')
|
||||
#
|
||||
# # Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts.
|
||||
# # Generates a datetime select with a custom prompt. Use <tt>:prompt => true</tt> for generic prompts.
|
||||
# select_datetime(my_date_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
|
||||
# select_datetime(my_date_time, :prompt => {:hour => true}) # generic prompt for hours
|
||||
# select_datetime(my_date_time, :prompt => true) # generic prompts for all
|
||||
@@ -330,10 +330,10 @@ module ActionView
|
||||
# ==== Examples
|
||||
# my_date = Time.today + 6.days
|
||||
#
|
||||
# # Generates a date select that defaults to the date in my_date (six days after today)
|
||||
# # Generates a date select that defaults to the date in my_date (six days afteri today).
|
||||
# select_date(my_date)
|
||||
#
|
||||
# # Generates a date select that defaults to today (no specified date)
|
||||
# # Generates a date select that defaults to today (no specified date).
|
||||
# select_date()
|
||||
#
|
||||
# # Generates a date select that defaults to the date in my_date (six days after today)
|
||||
@@ -341,18 +341,18 @@ module ActionView
|
||||
# select_date(my_date, :order => [:year, :month, :day])
|
||||
#
|
||||
# # Generates a date select that discards the type of the field and defaults to the date in
|
||||
# # my_date (six days after today)
|
||||
# # my_date (six days after today).
|
||||
# select_date(my_date, :discard_type => true)
|
||||
#
|
||||
# # Generates a date select that defaults to the date in my_date,
|
||||
# # which has fields separated by '/'
|
||||
# # which has fields separated by '/'.
|
||||
# select_date(my_date, :date_separator => '/')
|
||||
#
|
||||
# # Generates a date select that defaults to the datetime in my_date (six days after today)
|
||||
# # prefixed with 'payday' rather than 'date'
|
||||
# # prefixed with 'payday' rather than 'date'.
|
||||
# select_date(my_date, :prefix => 'payday')
|
||||
#
|
||||
# # Generates a date select with a custom prompt. Use :prompt=>true for generic prompts.
|
||||
# # Generates a date select with a custom prompt. Use <tt>:prompt => true</tt> for generic prompts.
|
||||
# select_date(my_date, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
|
||||
# select_date(my_date, :prompt => {:hour => true}) # generic prompt for hours
|
||||
# select_date(my_date, :prompt => true) # generic prompts for all
|
||||
@@ -361,7 +361,7 @@ module ActionView
|
||||
DateTimeSelector.new(date, options, html_options).select_date
|
||||
end
|
||||
|
||||
# Returns a set of html select-tags (one for hour and minute)
|
||||
# Returns a set of html select-tags (one for hour and minute).
|
||||
# You can set <tt>:time_separator</tt> key to format the output, and
|
||||
# the <tt>:include_seconds</tt> option to include an input for seconds.
|
||||
#
|
||||
@@ -370,25 +370,25 @@ module ActionView
|
||||
# ==== Examples
|
||||
# my_time = Time.now + 5.days + 7.hours + 3.minutes + 14.seconds
|
||||
#
|
||||
# # Generates a time select that defaults to the time in my_time
|
||||
# # Generates a time select that defaults to the time in my_time.
|
||||
# select_time(my_time)
|
||||
#
|
||||
# # Generates a time select that defaults to the current time (no specified time)
|
||||
# # Generates a time select that defaults to the current time (no specified time).
|
||||
# select_time()
|
||||
#
|
||||
# # Generates a time select that defaults to the time in my_time,
|
||||
# # which has fields separated by ':'
|
||||
# # which has fields separated by ':'.
|
||||
# select_time(my_time, :time_separator => ':')
|
||||
#
|
||||
# # Generates a time select that defaults to the time in my_time,
|
||||
# # that also includes an input for seconds
|
||||
# # that also includes an input for seconds.
|
||||
# select_time(my_time, :include_seconds => true)
|
||||
#
|
||||
# # Generates a time select that defaults to the time in my_time, that has fields
|
||||
# # separated by ':' and includes an input for seconds
|
||||
# # separated by ':' and includes an input for seconds.
|
||||
# select_time(my_time, :time_separator => ':', :include_seconds => true)
|
||||
#
|
||||
# # Generates a time select with a custom prompt. Use :prompt=>true for generic prompts.
|
||||
# # Generates a time select with a custom prompt. Use <tt>:prompt => true</tt> for generic prompts.
|
||||
# select_time(my_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
|
||||
# select_time(my_time, :prompt => {:hour => true}) # generic prompt for hours
|
||||
# select_time(my_time, :prompt => true) # generic prompts for all
|
||||
@@ -404,17 +404,17 @@ module ActionView
|
||||
# ==== Examples
|
||||
# my_time = Time.now + 16.minutes
|
||||
#
|
||||
# # Generates a select field for seconds that defaults to the seconds for the time in my_time
|
||||
# # Generates a select field for seconds that defaults to the seconds for the time in my_time.
|
||||
# select_second(my_time)
|
||||
#
|
||||
# # Generates a select field for seconds that defaults to the number given
|
||||
# # Generates a select field for seconds that defaults to the number given.
|
||||
# select_second(33)
|
||||
#
|
||||
# # Generates a select field for seconds that defaults to the seconds for the time in my_time
|
||||
# # that is named 'interval' rather than 'second'
|
||||
# # that is named 'interval' rather than 'second'.
|
||||
# select_second(my_time, :field_name => 'interval')
|
||||
#
|
||||
# # Generates a select field for seconds with a custom prompt. Use :prompt=>true for a
|
||||
# # Generates a select field for seconds with a custom prompt. Use <tt>:prompt => true</tt> for a
|
||||
# # generic prompt.
|
||||
# select_minute(14, :prompt => 'Choose seconds')
|
||||
#
|
||||
@@ -430,17 +430,17 @@ module ActionView
|
||||
# ==== Examples
|
||||
# my_time = Time.now + 6.hours
|
||||
#
|
||||
# # Generates a select field for minutes that defaults to the minutes for the time in my_time
|
||||
# # Generates a select field for minutes that defaults to the minutes for the time in my_tiime.
|
||||
# select_minute(my_time)
|
||||
#
|
||||
# # Generates a select field for minutes that defaults to the number given
|
||||
# # Generates a select field for minutes that defaults to the number given.
|
||||
# select_minute(14)
|
||||
#
|
||||
# # Generates a select field for minutes that defaults to the minutes for the time in my_time
|
||||
# # that is named 'stride' rather than 'second'
|
||||
# # that is named 'stride' rather than 'second'.
|
||||
# select_minute(my_time, :field_name => 'stride')
|
||||
#
|
||||
# # Generates a select field for minutes with a custom prompt. Use :prompt=>true for a
|
||||
# # Generates a select field for minutes with a custom prompt. Use <tt>:prompt => true</tt> for a
|
||||
# # generic prompt.
|
||||
# select_minute(14, :prompt => 'Choose minutes')
|
||||
#
|
||||
@@ -455,17 +455,17 @@ module ActionView
|
||||
# ==== Examples
|
||||
# my_time = Time.now + 6.hours
|
||||
#
|
||||
# # Generates a select field for hours that defaults to the hour for the time in my_time
|
||||
# # Generates a select field for hours that defaults to the hour for the time in my_time.
|
||||
# select_hour(my_time)
|
||||
#
|
||||
# # Generates a select field for hours that defaults to the number given
|
||||
# # Generates a select field for hours that defaults to the number given.
|
||||
# select_hour(13)
|
||||
#
|
||||
# # Generates a select field for hours that defaults to the minutes for the time in my_time
|
||||
# # that is named 'stride' rather than 'second'
|
||||
# # that is named 'stride' rather than 'second'.
|
||||
# select_hour(my_time, :field_name => 'stride')
|
||||
#
|
||||
# # Generates a select field for hours with a custom prompt. Use :prompt => true for a
|
||||
# # Generates a select field for hours with a custom prompt. Use <tt>:prompt => true</tt> for a
|
||||
# # generic prompt.
|
||||
# select_hour(13, :prompt => 'Choose hour')
|
||||
#
|
||||
@@ -480,17 +480,17 @@ module ActionView
|
||||
# ==== Examples
|
||||
# my_date = Time.today + 2.days
|
||||
#
|
||||
# # Generates a select field for days that defaults to the day for the date in my_date
|
||||
# # Generates a select field for days that defaults to the day for the date in my_date.
|
||||
# select_day(my_time)
|
||||
#
|
||||
# # Generates a select field for days that defaults to the number given
|
||||
# # Generates a select field for days that defaults to the number given.
|
||||
# select_day(5)
|
||||
#
|
||||
# # Generates a select field for days that defaults to the day for the date in my_date
|
||||
# # that is named 'due' rather than 'day'
|
||||
# # that is named 'due' rather than 'day'.
|
||||
# select_day(my_time, :field_name => 'due')
|
||||
#
|
||||
# # Generates a select field for days with a custom prompt. Use :prompt => true for a
|
||||
# # Generates a select field for days with a custom prompt. Use <tt>:prompt => true</tt> for a
|
||||
# # generic prompt.
|
||||
# select_day(5, :prompt => 'Choose day')
|
||||
#
|
||||
@@ -513,7 +513,7 @@ module ActionView
|
||||
# select_month(Date.today)
|
||||
#
|
||||
# # Generates a select field for months that defaults to the current month that
|
||||
# # is named "start" rather than "month"
|
||||
# # is named "start" rather than "month".
|
||||
# select_month(Date.today, :field_name => 'start')
|
||||
#
|
||||
# # Generates a select field for months that defaults to the current month that
|
||||
@@ -532,7 +532,7 @@ module ActionView
|
||||
# # will use keys like "Januar", "Marts."
|
||||
# select_month(Date.today, :use_month_names => %w(Januar Februar Marts ...))
|
||||
#
|
||||
# # Generates a select field for months with a custom prompt. Use :prompt => true for a
|
||||
# # Generates a select field for months with a custom prompt. Use <tt>:prompt => true</tt> for a
|
||||
# # generic prompt.
|
||||
# select_month(14, :prompt => 'Choose month')
|
||||
#
|
||||
@@ -548,22 +548,22 @@ module ActionView
|
||||
#
|
||||
# ==== Examples
|
||||
# # Generates a select field for years that defaults to the current year that
|
||||
# # has ascending year values
|
||||
# # has ascending year values.
|
||||
# select_year(Date.today, :start_year => 1992, :end_year => 2007)
|
||||
#
|
||||
# # Generates a select field for years that defaults to the current year that
|
||||
# # is named 'birth' rather than 'year'
|
||||
# # is named 'birth' rather than 'year'.
|
||||
# select_year(Date.today, :field_name => 'birth')
|
||||
#
|
||||
# # Generates a select field for years that defaults to the current year that
|
||||
# # has descending year values
|
||||
# # has descending year values.
|
||||
# select_year(Date.today, :start_year => 2005, :end_year => 1900)
|
||||
#
|
||||
# # Generates a select field for years that defaults to the year 2006 that
|
||||
# # has ascending year values
|
||||
# # has ascending year values.
|
||||
# select_year(2006, :start_year => 2000, :end_year => 2010)
|
||||
#
|
||||
# # Generates a select field for years with a custom prompt. Use :prompt => true for a
|
||||
# # Generates a select field for years with a custom prompt. Use <tt>:prompt => true</tt> for a
|
||||
# # generic prompt.
|
||||
# select_year(14, :prompt => 'Choose year')
|
||||
#
|
||||
@@ -748,7 +748,7 @@ module ActionView
|
||||
end
|
||||
|
||||
# Returns translated month names, but also ensures that a custom month
|
||||
# name array has a leading nil element
|
||||
# name array has a leading nil element.
|
||||
def month_names
|
||||
month_names = @options[:use_month_names] || translated_month_names
|
||||
month_names.unshift(nil) if month_names.size < 13
|
||||
@@ -756,13 +756,13 @@ module ActionView
|
||||
end
|
||||
memoize :month_names
|
||||
|
||||
# Returns translated month names
|
||||
# Returns translated month names.
|
||||
# => [nil, "January", "February", "March",
|
||||
# "April", "May", "June", "July",
|
||||
# "August", "September", "October",
|
||||
# "November", "December"]
|
||||
#
|
||||
# If :use_short_month option is set
|
||||
# If <tt>:use_short_month</tt> option is set
|
||||
# => [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun",
|
||||
# "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
|
||||
def translated_month_names
|
||||
@@ -770,13 +770,13 @@ module ActionView
|
||||
I18n.translate(key, :locale => @options[:locale])
|
||||
end
|
||||
|
||||
# Lookup month name for number
|
||||
# Lookup month name for number.
|
||||
# month_name(1) => "January"
|
||||
#
|
||||
# If :use_month_numbers option is passed
|
||||
# If <tt>:use_month_numbers</tt> option is passed
|
||||
# month_name(1) => 1
|
||||
#
|
||||
# If :add_month_numbers option is passed
|
||||
# If <tt>:add_month_numbers</tt> option is passed
|
||||
# month_name(1) => "1 - January"
|
||||
def month_name(number)
|
||||
if @options[:use_month_numbers]
|
||||
@@ -797,16 +797,22 @@ module ActionView
|
||||
I18n.translate(:'date.order', :locale => @options[:locale]) || []
|
||||
end
|
||||
|
||||
# Build full select tag from date type and options
|
||||
# Build full select tag from date type and options.
|
||||
def build_options_and_select(type, selected, options = {})
|
||||
build_select(type, build_options(selected, options))
|
||||
end
|
||||
|
||||
# Build select option html from date value and options
|
||||
# Build select option html from date value and options.
|
||||
# build_options(15, :start => 1, :end => 31)
|
||||
# => "<option value="1">1</option>
|
||||
# <option value=\"2\">2</option>
|
||||
# <option value=\"3\">3</option>..."
|
||||
#
|
||||
# If <tt>:step</tt> options is passed
|
||||
# build_options(15, :start => 1, :end => 31, :step => 2)
|
||||
# => "<option value="1">1</option>
|
||||
# <option value=\"3\">3</option>
|
||||
# <option value=\"5\">5</option>..."
|
||||
def build_options(selected, options = {})
|
||||
start = options.delete(:start) || 0
|
||||
stop = options.delete(:end) || 59
|
||||
@@ -824,7 +830,7 @@ module ActionView
|
||||
(select_options.join("\n") + "\n").html_safe
|
||||
end
|
||||
|
||||
# Builds select tag from date type and html select options
|
||||
# Builds select tag from date type and html select options.
|
||||
# build_select(:month, "<option value="1">January</option>...")
|
||||
# => "<select id="post_written_on_2i" name="post[written_on(2i)]">
|
||||
# <option value="1">January</option>...
|
||||
@@ -844,7 +850,7 @@ module ActionView
|
||||
(content_tag(:select, select_html.html_safe, select_options) + "\n").html_safe
|
||||
end
|
||||
|
||||
# Builds a prompt option tag with supplied options or from default options
|
||||
# Builds a prompt option tag with supplied options or from default options.
|
||||
# prompt_option_tag(:month, :prompt => 'Select month')
|
||||
# => "<option value="">Select month</option>"
|
||||
def prompt_option_tag(type, options)
|
||||
@@ -861,7 +867,7 @@ module ActionView
|
||||
prompt ? content_tag(:option, prompt, :value => '') : ''
|
||||
end
|
||||
|
||||
# Builds hidden input tag for date part and value
|
||||
# Builds hidden input tag for date part and value.
|
||||
# build_hidden(:year, 2008)
|
||||
# => "<input id="post_written_on_1i" name="post[written_on(1i)]" type="hidden" value="2008" />"
|
||||
def build_hidden(type, value)
|
||||
@@ -873,7 +879,7 @@ module ActionView
|
||||
}.merge(@html_options.slice(:disabled))) + "\n").html_safe
|
||||
end
|
||||
|
||||
# Returns the name attribute for the input tag
|
||||
# Returns the name attribute for the input tag.
|
||||
# => post[written_on(1i)]
|
||||
def input_name_from_type(type)
|
||||
prefix = @options[:prefix] || ActionView::Helpers::DateTimeSelector::DEFAULT_PREFIX
|
||||
@@ -887,7 +893,7 @@ module ActionView
|
||||
@options[:discard_type] ? prefix : "#{prefix}[#{field_name}]"
|
||||
end
|
||||
|
||||
# Returns the id attribute for the input tag
|
||||
# Returns the id attribute for the input tag.
|
||||
# => "post_written_on_1i"
|
||||
def input_id_from_type(type)
|
||||
input_name_from_type(type).gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '')
|
||||
@@ -904,7 +910,7 @@ module ActionView
|
||||
select.html_safe
|
||||
end
|
||||
|
||||
# Returns the separator for a given datetime component
|
||||
# Returns the separator for a given datetime component.
|
||||
def separator(type)
|
||||
case type
|
||||
when :year
|
||||
|
||||
Reference in New Issue
Block a user