aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorSebastian Martinez <sebastian@wyeworks.com>2011-05-10 20:19:47 -0300
committerSebastian Martinez <sebastian@wyeworks.com>2011-05-10 20:19:47 -0300
commit71d6b088ec135cb3c4bc15ec45feb7449aee0c97 (patch)
treee17f22cce46eed2d59fce5f0787b7778a63abe21 /actionpack/lib
parent956a0f4cfdddc9fc3aff69ce7cd324dc16311cc4 (diff)
downloadrails-71d6b088ec135cb3c4bc15ec45feb7449aee0c97.tar.gz
rails-71d6b088ec135cb3c4bc15ec45feb7449aee0c97.tar.bz2
rails-71d6b088ec135cb3c4bc15ec45feb7449aee0c97.zip
Fix styiling issues on DateHelper docs
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_view/helpers/date_helper.rb134
1 files changed, 70 insertions, 64 deletions
diff --git a/actionpack/lib/action_view/helpers/date_helper.rb b/actionpack/lib/action_view/helpers/date_helper.rb
index e499337adc..326ad40c8d 100644
--- a/actionpack/lib/action_view/helpers/date_helper.rb
+++ b/actionpack/lib/action_view/helpers/date_helper.rb
@@ -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