inspec/lib/source_readers/flat.rb

36 lines
840 B
Ruby
Raw Normal View History

require "inspec/fetcher"
require "inspec/metadata"
2016-02-21 17:03:48 +00:00
module SourceReaders
class Flat < Inspec.source_reader(1)
name "flat"
2016-02-21 17:03:48 +00:00
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 do |x|
x.end_with?(".rb") && !x.include?("/") && x != "metadata.rb"
end
2016-02-21 17:03:48 +00:00
return nil if files.empty?
new(target, files)
end
attr_reader :metadata, :tests, :libraries, :data_files
2016-02-21 17:03:48 +00:00
def initialize(target, files)
@target = target
@metadata = ::Inspec::Metadata.new(nil)
@tests = load_tests(files)
@libraries = {}
@data_files = {}
2016-02-21 17:03:48 +00:00
end
private
def load_tests(files)
Hash[files.map { |x| [x, @target.read(x)] }]
end
end
end