Sha256: d5efdc582c30f25d0463dd2eee8b1d62ad074c838dff93e29dc6b081c1f07ba0
Contents?: true
Size: 954 Bytes
Versions: 7
Compression:
Stored size: 954 Bytes
Contents
module ActiveSupport::CoreExtensions::String::Conversions # Cria a data no padrao brasileiro e permanece aceitando no formato tradicional. # # Exemplo: # "27/09/2007".to_date def to_date if /(\d{1,2})\W(\d{1,2})\W(\d{4})/ =~ self ::Date.new($3.to_i, $2.to_i, $1.to_i) else ::Date.new(*::Date._parse(self, false).values_at(:year, :mon, :mday)) end end end class Date # Retorna a data no padrao brasileiro # # Exemplo: # data = Date.new(2007, 9, 27) # data.to_s_br ==> "27/09/2007" def to_s_br strftime("%d/%m/%Y") end # Valida se uma string eh uma data valida # # Exemplo: # Date.valid?('01/01/2007') ==> true # Date.valid?('32/01/2007') ==> false def self.valid?(date) begin date = date.to_date Date.valid_civil?(date.year, date.month, date.day) rescue return false end true end end class NilClass def to_s_br "" end end
Version data entries
7 entries across 7 versions & 1 rubygems