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

Version Path
brdata-3.0.4 lib/brdata/feriado_parser.rb
brdata-3.0.3 lib/brdata/feriado_parser.rb
brdata-3.0.2 lib/brdata/feriado_parser.rb
brdata-3.0.1 lib/brdata/feriado_parser.rb
brdata-2.1.15 lib/brdata/feriado_parser.rb
brdata-2.1.14 lib/brdata/feriado_parser.rb
brdata-3.0.0 lib/brdata/feriado_parser.rb
brdata-2.1.13 lib/brdata/feriado_parser.rb
brdata-2.1.12 lib/brdata/feriado_parser.rb
brdata-2.1.11 lib/brdata/feriado_parser.rb
brdata-2.1.10 lib/brdata/feriado_parser.rb
brdata-2.1.9 lib/brdata/feriado_parser.rb
brdata-2.0.0 lib/brdata/feriado_parser.rb
brdata-2.0.1 lib/brdata/feriado_parser.rb
brdata-2.0.10 lib/brdata/feriado_parser.rb
brdata-2.0.11 lib/brdata/feriado_parser.rb
brdata-2.0.9 lib/brdata/feriado_parser.rb
brdata-2.0.7 lib/brdata/feriado_parser.rb
brdata-2.0.8 lib/brdata/feriado_parser.rb
brdata-2.0.12 lib/brdata/feriado_parser.rb