Expandindo o helper DateTime do Rails
Leia em menos de um minuto
No projeto que estou desenvolvendo, preciso exibir um select com os dias da semana. Como o Rails não tem nada parecido (pelo menos não achei), estendi o helper DateTime adicionando um novo método chamado select_weekday
. Para utilizá-lo basta adicionar o código abaixo no seu arquivo "environment.rb".
module ActionView
module Helpers
module DateHelper
def select_weekday(date, options = {})
week_options = []
date = Date.today if date.nil?
date_holder = Date.today.cwday.day.ago
0.upto(6) do |day|
week_options << (((date.kind_of?(Fixnum) ? date : date.cwday) == day) ?
%(<option value="#{day}" selected="selected">#{date_holder.strftime("%A")}</option>\n) :
%(<option value="#{day}">#{date_holder.strftime("%A")}</option>\n)
)
date_holder = date_holder.to_date.next
end
select_html(options[:field_name] || 'weekday', week_options, options[:prefix], options[:include_blank], options[:discard_type], options[:disabled])
end
end
end
end
Estou gostando muito da flexibilidade que o Ruby oferece e, por conseguinte, o Ruby on Rails.