The Date Helper primarily creates select/option tags for different kinds of dates and date elements. All of the select-type methods share a number of common options that are as follows:
:prefix - 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.
:include_blank - set to true if it should be possible to set an empty date.
:discard_type - 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 :prefix) instead of "date[month]".
Returns a set of select tags (one for year, month, and day) pre-selected for accessing a specified date-based attribute (identified by method) on an object assigned to the template (identified by object).
:use_month_numbers - Set to true if you want to use month numbers rather than month names (e.g. "2" instead of "February").
:use_short_month - Set to true if you want to use abbreviated month names instead of full month names (e.g. "Feb" instead of "February").
:add_month_numbers - Set to true if you want to use both month numbers and month names (e.g. "2 - February" instead of "February").
:use_month_names - Set to an array with 12 month names if you want to customize month names. Note: You can also use Rails' i18n functionality for this.
:date_separator - Specifies a string to separate the date fields. Default is "" (i.e. nothing).
:start_year - Set the start year for the year select. Default is Time.now.year - 5.
:end_year - Set the end year for the year select. Default is Time.now.year + 5.
:discard_day - Set to true if you don't want to show a day select. This includes the day as a hidden field instead of showing a select field. Also note that this implicitly sets the day to be the first of the given month in order to not create invalid dates like 31 February.
:discard_month - Set to true if you don't want to show a month select. This includes the month as a hidden field instead of showing a select field. Also note that this implicitly sets :discard_day to true.
:discard_year - Set to true if you don't want to show a year select. This includes the year as a hidden field instead of showing a select field.
:order - Set to an array containing :day, :month and :year to customize the order in which the select fields are shown. If you leave out any of the symbols, the respective select will not be shown (like when you set :discard_xxx => true. Defaults to the order defined in the respective locale (e.g. [:year, :month, :day] in the en locale that ships with Rails).
:include_blank - Include a blank option in every select field so it's possible to set empty dates.
:default - Set a default date if the affected date isn't set or is nil.
:disabled - Set to true if you want show the select fields as disabled.
:prompt - Set to true (for a generic prompt), a prompt string or a hash of prompt strings for :year, :month, :day, :hour, :minute and :second. Setting this option prepends a select option with a generic prompt (Day, Month, Year, Hour, Minute, Seconds) or the given prompt string.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
NOTE: Discarded selects will default to 1. So if no month select is available, January will be assumed.
# 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, # with the year in the year drop down box starting at 1995. date_select("post", "written_on", :start_year => 1995) # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute, # with the year in the year drop down box starting at 1995, numbers used for months instead of words, # and without a day select box. date_select("post", "written_on", :start_year => 1995, :use_month_numbers => true, :discard_day => true, :include_blank => true) # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute # with the fields ordered as day, month, year rather than month, day, year. date_select("post", "written_on", :order => [:day, :month, :year]) # Generates a date select that when POSTed is stored in the user variable, in the birthday attribute # lacking a year field. date_select("user", "birthday", :order => [:month, :day]) # Generates a date select that when POSTed is stored in the user variable, in the birthday attribute # which is initially set to the date 3 days from the current date date_select("post", "written_on", :default => 3.days.from_now) # Generates a date select that when POSTed is stored in the credit_card variable, in the bill_due attribute # that will have a default day of 20. date_select("credit_card", "bill_due", :default => { :day => 20 }) # 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.
Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that all month choices are valid.
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 201 def date_select(object_name, method, options = {}, html_options = {}) InstanceTag.new(object_name, method, self, options.delete(:object)).to_date_select_tag(options, html_options) end
Returns a set of select tags (one for year, month, day, hour, and minute) pre-selected for accessing a specified datetime-based attribute (identified by method) on an object assigned to the template (identified by object).
If anything is passed in the html_options hash it will be applied to every select tag in the set.
# Generates a datetime select that, when POSTed, will be stored in the post variable in the written_on # 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 # post variable in the written_on attribute. datetime_select("post", "written_on", :start_year => 1995) # Generates a datetime select with a default value of 3 days from the current time that, when POSTed, will # be stored in the trip variable in the departing attribute. datetime_select("trip", "departing", :default => 3.days.from_now) # Generates a datetime select that discards the type that, when POSTed, will be stored in the post variable # 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. 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
The selects are prepared for multi-parameter assignment to an Active Record object.
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 278 def datetime_select(object_name, method, options = {}, html_options = {}) InstanceTag.new(object_name, method, self, options.delete(:object)).to_datetime_select_tag(options, html_options) end
Reports the approximate distance in time between two Time or Date objects or integers as seconds. Set include_seconds 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 30 secs <-> 1 min, 29 secs # => 1 minute 1 min, 30 secs <-> 44 mins, 29 secs # => [2..44] minutes 44 mins, 30 secs <-> 89 mins, 29 secs # => about 1 hour 89 mins, 29 secs <-> 23 hrs, 59 mins, 29 secs # => about [2..24] hours 23 hrs, 59 mins, 29 secs <-> 47 hrs, 59 mins, 29 secs # => 1 day 47 hrs, 59 mins, 29 secs <-> 29 days, 23 hrs, 59 mins, 29 secs # => [2..29] days 29 days, 23 hrs, 59 mins, 30 secs <-> 59 days, 23 hrs, 59 mins, 29 secs # => about 1 month 59 days, 23 hrs, 59 mins, 30 secs <-> 1 yr minus 1 sec # => [2..12] months 1 yr <-> 1 yr, 3 months # => about 1 year 1 yr, 3 months <-> 1 yr, 9 months # => over 1 year 1 yr, 9 months <-> 2 yr minus 1 sec # => almost 2 years 2 yrs <-> max time or date # => (same rules as 1 yr)
With include_seconds = true and the difference < 1 minute 29 seconds:
0-4 secs # => less than 5 seconds 5-9 secs # => less than 10 seconds 10-19 secs # => less than 20 seconds 20-39 secs # => half a minute 40-59 secs # => less than a minute 60-89 secs # => 1 minute
from_time = Time.now distance_of_time_in_words(from_time, from_time + 50.minutes) # => about 1 hour distance_of_time_in_words(from_time, 50.minutes.from_now) # => about 1 hour distance_of_time_in_words(from_time, from_time + 15.seconds) # => less than a minute distance_of_time_in_words(from_time, from_time + 15.seconds, true) # => less than 20 seconds distance_of_time_in_words(from_time, 3.years.from_now) # => about 3 years distance_of_time_in_words(from_time, from_time + 60.hours) # => about 3 days distance_of_time_in_words(from_time, from_time + 45.seconds, true) # => less than a minute distance_of_time_in_words(from_time, from_time - 45.seconds, true) # => less than a minute distance_of_time_in_words(from_time, 76.seconds.from_now) # => 1 minute distance_of_time_in_words(from_time, from_time + 1.year + 3.days) # => about 1 year distance_of_time_in_words(from_time, from_time + 3.years + 6.months) # => over 3 years distance_of_time_in_words(from_time, from_time + 4.years + 9.days + 30.minutes + 5.seconds) # => about 4 years to_time = Time.now + 6.years + 19.days distance_of_time_in_words(from_time, to_time, true) # => about 6 years distance_of_time_in_words(to_time, from_time, true) # => about 6 years distance_of_time_in_words(Time.now, Time.now) # => less than a minute
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 66 def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false, options = {}) from_time = from_time.to_time if from_time.respond_to?(:to_time) to_time = to_time.to_time if to_time.respond_to?(:to_time) distance_in_minutes = (((to_time - from_time).abs)/60).round distance_in_seconds = ((to_time - from_time).abs).round I18n.with_options :locale => options[:locale], :scope => :'datetime.distance_in_words' do |locale| case distance_in_minutes when 0..1 return distance_in_minutes == 0 ? locale.t(:less_than_x_minutes, :count => 1) : locale.t(:x_minutes, :count => distance_in_minutes) unless include_seconds case distance_in_seconds when 0..4 then locale.t :less_than_x_seconds, :count => 5 when 5..9 then locale.t :less_than_x_seconds, :count => 10 when 10..19 then locale.t :less_than_x_seconds, :count => 20 when 20..39 then locale.t :half_a_minute when 40..59 then locale.t :less_than_x_minutes, :count => 1 else locale.t :x_minutes, :count => 1 end when 2..44 then locale.t :x_minutes, :count => distance_in_minutes when 45..89 then locale.t :about_x_hours, :count => 1 when 90..1439 then locale.t :about_x_hours, :count => (distance_in_minutes.to_f / 60.0).round when 1440..2529 then locale.t :x_days, :count => 1 when 2530..43199 then locale.t :x_days, :count => (distance_in_minutes.to_f / 1440.0).round when 43200..86399 then locale.t :about_x_months, :count => 1 when 86400..525599 then locale.t :x_months, :count => (distance_in_minutes.to_f / 43200.0).round else distance_in_years = distance_in_minutes / 525600 minute_offset_for_leap_year = (distance_in_years / 4) * 1440 remainder = ((distance_in_minutes - minute_offset_for_leap_year) % 525600) if remainder < 131400 locale.t(:about_x_years, :count => distance_in_years) elsif remainder < 394200 locale.t(:over_x_years, :count => distance_in_years) else locale.t(:almost_x_years, :count => distance_in_years + 1) end end end end
Returns a set of html select-tags (one for year, month, and day) pre-selected with the date. It’s possible to explicitly set the order of the tags using the :order option with an array of symbols :year, :month and :day in the desired order. If you do not supply a Symbol, it will be appended onto the :order passed in.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
my_date = Time.today + 6.days # Generates a date select that defaults to the date in my_date (six days after today) select_date(my_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) # with the fields ordered year, month, day rather than month, day, year. 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) select_date(my_date, :discard_type => true) # Generates a date select that defaults to the date in my_date, # 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' select_date(my_date, :prefix => 'payday') # Generates a date select with a custom prompt. Use :prompt=>true 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
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 367 def select_date(date = Date.current, options = {}, html_options = {}) DateTimeSelector.new(date, options, html_options).select_date end
Returns a set of html select-tags (one for year, month, day, hour, and minute) pre-selected with the datetime. It’s also possible to explicitly set the order of the tags using the :order option with an array of symbols :year, :month and :day in the desired order. If you do not supply a Symbol, it will be appended onto the :order passed in. You can also add :date_separator, :datetime_separator and :time_separator keys to the options to control visual display of the elements.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
my_date_time = Time.now + 4.days # 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) select_datetime() # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # with the fields ordered year, month, day rather than month, day, year. select_datetime(my_date_time, :order => [:year, :month, :day]) # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # with a '/' between each date field. select_datetime(my_date_time, :date_separator => '/') # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # with a date fields separated by '/', time fields separated by '' and the date and time fields # separated by a comma (','). select_datetime(my_date_time, :date_separator => '/', :time_separator => '', :datetime_separator => ',') # Generates a datetime select that discards the type of the field and defaults to the datetime in # my_date_time (four days after today) select_datetime(my_date_time, :discard_type => true) # Generates a datetime select that defaults to the datetime in my_date_time (four days after today) # 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. 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
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 326 def select_datetime(datetime = Time.current, options = {}, html_options = {}) DateTimeSelector.new(datetime, options, html_options).select_datetime end
Returns a select tag with options for each of the days 1 through 31 with the current day selected. The date can also be substituted for a hour number. Override the field name using the :field_name option, ‘day’ by default.
my_date = Time.today + 2.days # 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 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' select_day(my_time, :field_name => 'due') # Generates a select field for days with a custom prompt. Use :prompt => true for a # generic prompt. select_day(5, :prompt => 'Choose day')
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 504 def select_day(date, options = {}, html_options = {}) DateTimeSelector.new(date, options, html_options).select_day end
Returns a select tag with options for each of the hours 0 through 23 with the current hour selected. The hour can also be substituted for a hour number. Override the field name using the :field_name option, ‘hour’ by default.
my_time = Time.now + 6.hours # 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 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' select_hour(my_time, :field_name => 'stride') # Generates a select field for hours with a custom prompt. Use :prompt => true for a # generic prompt. select_hour(13, :prompt =>'Choose hour')
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 479 def select_hour(datetime, options = {}, html_options = {}) DateTimeSelector.new(datetime, options, html_options).select_hour end
Returns a select tag with options for each of the minutes 0 through 59 with the current minute selected. Also can return a select tag with options by minute_step from 0 through 59 with the 00 minute selected. The minute can also be substituted for a minute number. Override the field name using the :field_name option, ‘minute’ by default.
my_time = Time.now + 6.hours # Generates a select field for minutes that defaults to the minutes for the time in my_time select_minute(my_time) # 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' select_minute(my_time, :field_name => 'stride') # Generates a select field for minutes with a custom prompt. Use :prompt=>true for a # generic prompt. select_minute(14, :prompt => 'Choose minutes')
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 454 def select_minute(datetime, options = {}, html_options = {}) DateTimeSelector.new(datetime, options, html_options).select_minute end
Returns a select tag with options for each of the months January through December with the current month selected. The month names are presented as keys (what’s shown to the user) and the month numbers (1-12) are used as values (what’s submitted to the server). It’s also possible to use month numbers for the presentation instead of names – set the :use_month_numbers key in options to true for this to happen. If you want both numbers and names, set the :add_month_numbers key in options to true. If you would prefer to show month names as abbreviations, set the :use_short_month key in options to true. If you want to use your own month names, set the :use_month_names key in options to an array of 12 month names. Override the field name using the :field_name option, ‘month’ by default.
# Generates a select field for months that defaults to the current month that # will use keys like "January", "March". select_month(Date.today) # Generates a select field for months that defaults to the current month that # 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 # will use keys like "1", "3". select_month(Date.today, :use_month_numbers => true) # Generates a select field for months that defaults to the current month that # will use keys like "1 - January", "3 - March". select_month(Date.today, :add_month_numbers => true) # Generates a select field for months that defaults to the current month that # will use keys like "Jan", "Mar". select_month(Date.today, :use_short_month => true) # Generates a select field for months that defaults to the current month that # 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 # generic prompt. select_month(14, :prompt => 'Choose month')
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 546 def select_month(date, options = {}, html_options = {}) DateTimeSelector.new(date, options, html_options).select_month end
Returns a select tag with options for each of the seconds 0 through 59 with the current second selected. The second can also be substituted for a second number. Override the field name using the :field_name option, ‘second’ by default.
my_time = Time.now + 16.minutes # 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 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' select_second(my_time, :field_name => 'interval') # Generates a select field for seconds with a custom prompt. Use :prompt=>true for a # generic prompt. select_minute(14, :prompt => 'Choose seconds')
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 428 def select_second(datetime, options = {}, html_options = {}) DateTimeSelector.new(datetime, options, html_options).select_second end
Returns a set of html select-tags (one for hour and minute) You can set :time_separator key to format the output, and the :include_seconds option to include an input for seconds.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
my_time = Time.now + 5.days + 7.hours + 3.minutes + 14.seconds # 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) select_time() # Generates a time select that defaults to the time in my_time, # 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 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 select_time(my_time, :time_separator => ':', :include_seconds => true) # Generates a time select with a custom prompt. Use :prompt=>true 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
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 403 def select_time(datetime = Time.current, options = {}, html_options = {}) DateTimeSelector.new(datetime, options, html_options).select_time end
Returns a select tag with options for each of the five years on each side of the current, which is selected. The five year radius can be changed using the :start_year and :end_year keys in the options. Both ascending and descending year lists are supported by making :start_year less than or greater than :end_year. The date can also be substituted for a year given as a number. Override the field name using the :field_name option, ‘year’ by default.
# Generates a select field for years that defaults to the current year that # 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' select_year(Date.today, :field_name => 'birth') # Generates a select field for years that defaults to the current year that # 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 select_year(2006, :start_year => 2000, :end_year => 2010) # Generates a select field for years with a custom prompt. Use :prompt => true for a # generic prompt. select_year(14, :prompt => 'Choose year')
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 577 def select_year(date, options = {}, html_options = {}) DateTimeSelector.new(date, options, html_options).select_year end
Like distance_of_time_in_words, but where to_time is fixed to Time.now.
time_ago_in_words(3.minutes.from_now) # => 3 minutes time_ago_in_words(Time.now - 15.hours) # => 15 hours time_ago_in_words(Time.now) # => less than a minute from_time = Time.now - 3.days - 14.minutes - 25.seconds # => 3 days
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 118 def time_ago_in_words(from_time, include_seconds = false) distance_of_time_in_words(from_time, Time.now, include_seconds) end
Returns a set of select tags (one for hour, minute and optionally second) pre-selected for accessing a specified time-based attribute (identified by method) on an object assigned to the template (identified by object). You can include the seconds with :include_seconds.
This method will also generate 3 input hidden tags, for the actual year, month and day unless the option :ignore_date is set to true.
If anything is passed in the html_options hash it will be applied to every select tag in the set.
# 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 that, when POSTed, will be stored in the order variable in the submitted # attribute time_select("order", "submitted") # Creates a time select tag that, when POSTed, will be stored in the mail variable in the sent_at attribute time_select("mail", "sent_at") # 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) # Creates a time select tag with a seconds field that, when POSTed, will be stored in the entry variables in # the submission_time attribute. time_select("entry", "submission_time", :include_seconds => true) # You can set the :minute_step 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. 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
The selects are prepared for multi-parameter assignment to an Active Record object.
Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that all month choices are valid.
# File /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.0.9/lib/action_view/helpers/date_helper.rb, line 245 def time_select(object_name, method, options = {}, html_options = {}) InstanceTag.new(object_name, method, self, options.delete(:object)).to_time_select_tag(options, html_options) end
Generated with the Darkfish Rdoc Generator 2.


--- permalink: 'googlebfdcfddbdbfcbd99.html' eleventyExcludeFromCollections: true --- google-site-verification: googlebfdcfddbdbfcbd99.html


led count horizontal: led count vertical: cabling: zick zack/snake order: horizontal/vertical led 0 position: top-left / top-right / bottom-left / bottom-right
led count links led count rechts led count oben led count unten rechts led count unten links start


--- layout: default title: "Order" permalink: "/account/orders/order001/index.html" --- {% assign order = site.data.customer.orders.first %} {% assign customer = site.data.customer %}
{{ order.created_at }}
{{ 'customer.order.cancelled' | t: date: cancelled_at }}
{{ 'customer.order.cancelled_reason' | t: reason: order.cancel_reason }}
Payment Status: {{ order.financial_status_label }}
Fulfillemt Status: {{ order.fulfillment_status_label }}


SpeedTest component allows you to test the network speed of your server.
Features include:
- Captures download, upload, ping, and jitter speed
- Provides results in an Ajax callback
For testing the download speed you will need an uncompressable payload file deployed on your server with a size of 1MB, 2MB, 5MB or 10MB. We recommend using a 5MB file to test the speed.
This can be generated here:


Page maintained by Ke-Sen Huang.
If you have additions or changes, send an e-mail.
Information here is provided with the permission of the ACM.
Note that when possible I link to the page containing the link to the actual PDF or PS of the preprint.
I prefer this as it gives some context to the paper and avoids possible copyright problems with direct linking.
Thus you may need to search on the page to find the actual document.
ACM Digital Library: Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics 2015
the Eurographics Digital Library Link for the paper
Paper Abstract
Author Preprint
Paper Video
Paper Presentation
Paper Images
Paper Data
Demo Program or Source Code
Related Links
Changelog
Papers Session 1: Efficient Ray Tracing
- Efficient Ray Tracing of Subdivision Surfaces using Tessellation Caching
-
Carsten Benthin,
Sven Woop,
Matthias Niessner,
Kai Selgrad,
Ingo Wald
- Bounding Volume Hierarchy Optimization through Agglomerative Treelet Restructuring
-
Leonardo R. Domingues,
Helio Pedrini
- Reorder Buffer: An Energy-Efficient Multithreading Architecture for Hardware MIMD Ray Traversal
-
Won-Jong Lee,
Youngsam Shin, Seok Joong Hwang, Seok Kang, Jeong-Joon Yoo, Soojung Ryu
Papers Session 2: Future Graphics Pipelines
- Decoupled Coverage Anti-Aliasing
-
Yuxiang Wang,
Chris Wyman,
Yong He,
Pradeep Sen
- Deferred Attribute Interpolation for Memory-Efficient Deferred Shading
-
Christoph Schied,
Carsten Dachsbacher
- An Incremental Rendering VM
-
Georg Haaser,
Harald Steinlechner,
Stefan Maierhofer,
Robert F. Tobler
Papers Session 3: Rendering and Display
- Perception of Highlight Disparity at a Distance in Consumer Head-Mounted Displays
-
Robert Toth,
Jon Hasselgren,
Tomas Akenine-Moller
- An Adaptive Acceleration Structure for Screen-space Ray Tracing
-
Jan Kautz,
Sven Widmer,
Dawid Pajak,
Andre Schulz,
Kari Pulli,
Michael Goesele,
David Luebke
- Adaptively Layered Statistical Volumetric Obscurance
(Thesis)
-
Quintijn Hendrickx,
Leonardo Scandolo,
Martin Eisemann,
Elmar Eisemann
Papers Session 4: High-Performance Data Processing
- Compiling High Performance Recursive Filters
-
Gaurav Chaurasia,
Jonathan Ragan-Kelley,
Sylvain Paris,
George Drettakis,
Fredo Durand
- Grid-Free Out-Of-Core Voxelization to Sparse Voxel Octrees on GPU
-
Martin Patzold,
Andreas Kolb
- Morton Integrals for High Speed Geometry Simplification
-
Helene Legrand,
Tamy Boubekeur
kesen.huang@gmail.com


Information about your plants and animals at your fingertips
Agritrack helps farmers to track their plants and animals easily by providing timely information about their plants and animals as they need them. Farmers will be able to monitor the development of their plants and animals entirely by themselves, using their mobile phone and or computers. They will be able to have an idea of what their plants and animals will need at different times of the plants and animals’ development and be able to know what kind of diseases and pest to look out for and how to solve these problems easily.
Agritrack is a team of 5 who are passionate about making the farmers efficient and increasing farmers yields by providing the farmers with information about their crops and animals easily. This team includes:


--- layout: documentation title: LibrariesType ---
The LibrariesType identifies the libraries incorporated into the build of the tool.
| Field Name | Type | Description |
|---|---|---|
| Library0..1 | LibraryType |
This field identifies a library incorporated into the build of the tool. |


---
layout: post
title: Sven Mary, courtroom sketch
date: '2018-04-24T12:40:47+02:00'
categories:
- Sketches
picture_url: https://film-Storyboards.tumblr.com/post/173264843291/sven-mary-courtroom-sketch
---
Sven Mary, courtroom sketch © Reuters / Yves Capelle


{% include partials/code.html content=' This is a link! This is a link! (no classes) ' %}


{% extends "%s/base.html" % lang %} {% block methodology_stat_1 %}5.8M{% endblock %} {% block methodology_stat_2 %}20.9 TB{% endblock %} {% block total_websites %}nearly 6 million{% endblock %} {% block dataset %}July 2019{% endblock %} {% block foreword %}
The open web is an amazingly complex, evolving network of technologies. Entire industries and careers are built on the web and depend on its vibrant ecosystem to succeed. As critical as the web is, understanding how it’s doing has been surprisingly elusive. Since 2010, the mission of the HTTP Archive project has been to track how the web is built, and it’s been doing an amazing job of it. However, there has been one gap that has been especially challenging to close: bringing meaning to the data that the HTTP Archive project has been collecting and enabling the community to easily understand how the web is performing. That’s where the Web Almanac comes in.
The mission of the Web Almanac is to take the treasure trove of insights that would otherwise be accessible only to intrepid data miners, and package it up in a way that’s easy to understand. This is made possible with the help of industry experts who can make sense of the data and tell us what it means. Each of the 20 chapters in the Web Almanac focuses on a specific aspect of the web, and each one has been authored and peer reviewed by experts in their field. The strength of the Web Almanac flows directly from the expertise of the people who write it.
Many of the findings in the Web Almanac are worthy of celebration, but it’s also an important reminder of the work still required to deliver high-quality user experiences. The data-driven analyses in each chapter are a form of accountability we all share for developing a better web. It’s not about shaming those that are getting it wrong, but about shining a guiding light on the path of best practices so there is a clear, right way to do things. With the continued help of the web community, we hope to make this an annual tradition, so each year we can track our progress and make course corrections as needed.
There is so much to learn in this report, so start exploring and share your takeaways with the community so we can collectively advance our understanding of the state of the web.
— Rick Viscomi, Web Almanac Editor-in-Chief
{% endblock %}


There are a number of different types of topoisomerases, each specialising in a different aspect of DNA manipulation.
During transcription and DNA replication, the DNA needs to be unwound in order for the transcription/replication machinery to gain access to the DNA so it can be copied or replicate, respectively. Topoisomerase I can make single-stranded breaks to allow these processes to proceed.
During transcription and DNA replication, the DNA helix can become either over-wound or under-wound. For instance, during DNA replication, the progress of the replication fork generates positive supercoils ahead of the replication machinery and negative supercoils behind it. Such tensional problems also exist when transcribing DNA to make an RNA copy for protein synthesis. During these processes, the DNA can be supercoiled to such an extent that if left unchecked it could impede the progress of the protein machinery involved. This is prevented by topoisomerase I, which makes single-stranded nicks to relax the helix.
Before the chromosomes separate from one another during cell division, they are able to exchange genetic information through a process known as recombination, where physical pieces of DNA on one chromosome can be swapped for DNA on the matching sister chromosome in order to shuffle the genetic information. Topoisomerase III can introduce single-strand breaks that are required for DNA to be exchanged by adjacent chromosomes.
During the cell cycle, chromosomes must be alternatively condensed and decondensed at specific stages. Topoisomerase II (gyrase) acts as a molecular motor, using the energy gained from ATP hydrolysis to introduce tight supercoils into the DNA helix in order to condense the chromosome. Because this process must be highly regulated, topoisomerase II can form molecular complexes with important cell cycle regulators (such as p53, TopBP1, 14-3-3 epsilon, and Cdc2) to ensure that chromosome condensation occurs at the correct time in the cell cycle.
During cell division, once the chromosomes have been replicated, they must separate and travel to opposite ends of the cell to become part of two separate daughter cells. Topoisomerases IV acts to disentangle the replicated daughter strands by making double-strand breaks that allow one duplex to pass through the other.
Topoisomerases have been the focus for the treatment of certain diseases. Bacterial gyrase (topoisomerase II) and topoisomerase IV are the targets of two classes of antibiotic drugs: quinolones and coumarins. These antibiotics are used to treat an assortment of different diseases, such as pneumonia, tuberculosis and malaria, by inhibiting DNA replication in the bacteria responsible.
Eukaryotic topoisomerases I and II are the targets of an increasing number of anti-cancer drugs that act to inhibit these enzymes by blocking the reaction that reseals the breaks in the DNA. Often the binding of the drug is reversible, but if a replication fork runs into the blocked topoisomerase, then a piece of the gapped DNA strand not bound by the topoisomerase could be released, creating a permanent breakage in the DNA that leads to cell death. Most of these inhibitors are selective against either topoisomerase I or II, but some can target both enzymes.
Topoisomerase I inhibitors induce single-strand breaks into DNA, and can work by a variety of mechanisms. Some drugs, such as camptothecins, inhibit the dissociation of topoisomerase and DNA, leading to replication-mediated DNA damage, which can be repaired more efficiently in normal cells than in cancer cells (deficient for DNA repair). Topoisomerase I inhibitors can also cause gene inactivation through chromatid aberrations.
Topoisomerase II inhibitors, such as anthracyclines, are amongst the most widely used anti-cancer agents. These drugs are potent inducers of double strand breaks in DNA, and can cause arrest in the cell cycle at the G2 stage, the latter occurring by disrupting the interaction between topoisomerase II and regulators of the cell cycle, such as Cdc2. Topoisomerase II inhibitors can cause a wide range of chromosomal aberrations, and can act by either stabilising topoisomerase II-DNA complexes that are easily cleaved, or by interfering with the catalytic activity of the enzyme, both resulting in double-strand breaks in the DNA.
There are also dual inhibitors that target both topoisomerase I and II, which increases the potency of the anti-cancer effect. These drugs work by a variety of means: by recognising structural motifs present on both enzymes, by linking separate topoisomerase inhibitors together into a hybrid drug, or by using inhibitors that bind to and intercalate DNA.