Sha256: b73885eff0ebb2847fd924cfb9c9a9eb7449dadf4cca006aed2dab09a1f94f95

Contents?: true

Size: 852 Bytes

Versions: 13

Compression:

Stored size: 852 Bytes

Contents

module Prospectus
  DEFAULT_FILE = './.prospectus'.freeze

  ##
  # Helper for loading prospectus from the current directory
  class Loader
    def initialize(params = {})
      @options = params
      @file = params[:file] || DEFAULT_FILE
      @dir = @file + '.d'
    end

    def load
      return run_file(@options, @file) if File.exist? @file
      raise("No #{@file}/#{@dir} found") unless Dir.exist? @dir
      files = Dir.glob(@dir + '/*')
      raise('No files in ' + @dir) if files.empty?
      files.map { |x| run_file(@options, x, true) }.flatten
    end

    private

    def run_file(params, file, suffix_file = false)
      options = { file: file, suffix_file: suffix_file }.merge(params)
      Prospectus.load_from_file(options).check
    rescue RuntimeError
      puts "Failed parsing #{Dir.pwd}/#{file}"
      raise
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
prospectus-0.9.0 lib/prospectus/loader.rb
prospectus-0.8.1 lib/prospectus/loader.rb
prospectus-0.8.0 lib/prospectus/loader.rb
prospectus-0.6.0 lib/prospectus/loader.rb
prospectus-0.5.8 lib/prospectus/loader.rb
prospectus-0.5.7 lib/prospectus/loader.rb
prospectus-0.5.6 lib/prospectus/loader.rb
prospectus-0.5.5 lib/prospectus/loader.rb
prospectus-0.5.4 lib/prospectus/loader.rb
prospectus-0.5.2 lib/prospectus/loader.rb
prospectus-0.5.1 lib/prospectus/loader.rb
prospectus-0.5.0 lib/prospectus/loader.rb
prospectus-0.4.0 lib/prospectus/loader.rb