Sha256: 33c971d64f8aaa722eac41862d9cf9981bbf3b29cb837ab6bc9f6f3c586cb457
Contents?: true
Size: 794 Bytes
Versions: 37
Compression:
Stored size: 794 Bytes
Contents
require 'find' require 'yaml' class FeriadoParser # Faz o parser do YML e retorna a coleção de feriados. def self.parser(diretorio) files = [] feriados = [] metodos = [] raise FeriadoParserDiretorioInvalidoError unless File.directory?(diretorio) Find.find(diretorio) do |file| files << file if file =~ /.*\.yml$/ end raise FeriadoParserDiretorioVazioError if files.empty? files.each do |file| itens = YAML.load_file(file) itens.each do |key, value| if value["metodo"] FeriadoParserMetodoInvalido if value["dia"] && value["mes"] metodos << value["metodo"] else feriados << Feriado.new(key, value["dia"], value["mes"]) end end end [feriados, metodos] end end
Version data entries
37 entries across 37 versions & 2 rubygems