Class Date
In: brdata/lib/brdata/date_portuguese.rb
brdata/lib/brdata/feriado.rb
Parent: Object

Methods

Constants

FERIADOS = []
FERIADOS_METODOS = []

Public Class methods

Valida se uma string eh uma data valida

Exemplo:

 Date.valid?('01/01/2007') ==> true
 Date.valid?('32/01/2007') ==> false

[Source]

    # File brdata/lib/brdata/date_portuguese.rb, line 31
31:   def self.valid?(date)
32:     begin
33:       date = date.to_date
34:       Date.valid_civil?(date.year, date.month, date.day)        
35:     rescue
36:       return false
37:     end
38:     true
39:   end

Public Instance methods

Retorna a corpus_christi no ano da data atual

Exemplo:

 data = Date.new(2007, 12, 25)
 data.corpus_christi ==> "2007-06-07"

[Source]

    # File brdata/lib/brdata/feriado.rb, line 84
84:   def corpus_christi
85:     Date.parse((pascoa.to_time + 60.days).to_date.to_s)
86:   end

Retorna a true se a data for um feriado

Exemplo:

 data = Date.new(2007, 12, 25)
 data.feriado? ==> true

[Source]

    # File brdata/lib/brdata/feriado.rb, line 53
53:   def feriado?
54:     return true if FERIADOS.include?(Feriado.new("novo_feriado", self.day, self.month))
55:     FERIADOS_METODOS.each do |metodo|
56:       return true if self == send(metodo)
57:     end
58:     false
59:   end

Retorna a pascoa no ano da data atual

Exemplo:

 data = Date.new(2007, 12, 25)
 data.pascoa ==> "2007-4-8"

[Source]

    # File brdata/lib/brdata/feriado.rb, line 66
66:   def pascoa
67:     g = self.year % 19
68:     c = (self.year / 100).floor
69:     h = (c - ( c / 4 ).floor - ((8 * c) / 25).floor + 19 * g + 15) % 30
70:     i = h - (h / 28).floor * (1 - (h / 28).floor * (29 / (h + 1)).floor * ((21 - g) / 11).floor)
71:     j = (self.year + (self.year/ 4).floor + i + 2 - c + (c / 4).floor) % 7
72:     l = i - j
73: 
74:     month = 3 + ((l + 40) / 44).floor
75:     day   = l + 28 - (31 * (month / 4 ).floor)
76:     Date.parse("#{self.year}-#{month}-#{day}")
77:   end

Retorna a data no padrao brasileiro

Exemplo:

 data = Date.new(2007, 9, 27)
 data.to_s_br ==> "27/09/2007"

[Source]

    # File brdata/lib/brdata/date_portuguese.rb, line 22
22:   def to_s_br
23:     strftime("%d/%m/%Y")
24:   end

[Validate]