lib/brdata/feriado.rb in brdata-3.0.4 vs lib/brdata/feriado.rb in brdata-3.0.5

- old
+ new

@@ -3,50 +3,50 @@ # Os feriados são configurados através de arquivos YML que deverão estar na pasta feriados dentro da pasta config da sua aplicação. # # Você pode ver exemplos desses YML dentro do diretório samples/feriado. # class Feriado - - attr_accessor :dia + + attr_accessor :dia attr_accessor :mes attr_accessor :nome - + # Construtor um feriado. # # Exemplo: # Feriado.new("nome", "01", "01") def initialize(nome, dia, mes) valida_dia(dia) valida_mes(mes) self.nome = nome - self.dia = dia.to_i + self.dia = dia.to_i self.mes = mes.to_i - + end - + # Compara dois feriados. Dois feriados são iguais se acontecem na mesma data. def ==(outro_feriado) self.mes == outro_feriado.mes && self.dia == outro_feriado.dia end - + private - + def valida_dia(dia) raise FeriadoDiaInvalidoError unless (1..31).include?(dia.to_i) end - + def valida_mes(mes) raise FeriadoMesInvalidoError unless (1..12).include?(mes.to_i) end - + end class Date - + FERIADOS = [] FERIADOS_METODOS = [] - + # Retorna a true se a data for um feriado # # Exemplo: # data = Date.new(2007, 12, 25) # data.feriado? ==> true @@ -55,11 +55,11 @@ FERIADOS_METODOS.each do |metodo| return true if self == send(metodo) end false end - + # Retorna a pascoa no ano da data atual # # Exemplo: # data = Date.new(2007, 12, 25) # data.pascoa ==> "2007-4-8" @@ -82,8 +82,8 @@ # data = Date.new(2007, 12, 25) # data.corpus_christi ==> "2007-06-07" def corpus_christi Date.parse((pascoa.to_time + 60.days).to_date.to_s) end - + end