Sha256: 8b57fefe3a0332dde348b9afddd709179a975dcdae289652aec4b2b8a69f2884

Contents?: true

Size: 950 Bytes

Versions: 6

Compression:

Stored size: 950 Bytes

Contents

# encoding: utf-8
# author: Dominik Richter
# author: Christoph Hartmann

require 'inspec/fetcher'
require 'inspec/metadata'

module SourceReaders
  class Flat < Inspec.source_reader(1)
    name 'flat'
    priority 5

    def self.resolve(target)
      # TODO: eventually remove the metadata.rb exception here
      # when we have fully phased out metadata.rb in 1.0
      files = target.files.find_all { |x|
        x.end_with?('.rb') && !x.include?('/') && x != 'metadata.rb'
      }
      return nil if files.empty?
      new(target, files)
    end

    attr_reader :metadata, :tests, :libraries, :data_files

    def initialize(target, files)
      @target = target
      @metadata = ::Inspec::Metadata.new(nil)
      @tests = load_tests(files)
      @libraries = {}
      @data_files = {}
    end

    private

    def load_tests(files)
      Hash[files.map { |x| [x, @target.read(x)] }]
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
inspec-2.1.81 lib/source_readers/flat.rb
inspec-2.1.21 lib/source_readers/flat.rb
inspec-2.1.10 lib/source_readers/flat.rb
inspec-2.0.32 lib/source_readers/flat.rb
inspec-2.0.17 lib/source_readers/flat.rb
inspec-1.51.15 lib/source_readers/flat.rb