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