2
0
Fork 0
mirror of https://github.com/inspec/inspec synced 2024-12-28 14:03:14 +00:00
inspec/lib/source_readers/flat.rb
2016-02-22 11:24:35 +01:00

38 lines
875 B
Ruby

# 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
def initialize(target, files)
@target = target
@metadata = ::Inspec::Metadata.new(nil)
@tests = load_tests(files)
@libraries = {}
end
private
def load_tests(files)
Hash[files.map { |x| [x, @target.read(x)] }]
end
end
end