inspec/lib/vulcano/targets/folder.rb
Dominik Richter 7a59d9ce76 feature: start github uri reader
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-08-12 22:34:37 -07:00

31 lines
832 B
Ruby

# encoding: utf-8
require 'vulcano/targets/dir'
require 'vulcano/targets/file'
module Vulcano::Targets
class FolderHelper
def handles?(target)
File::directory?(target)
end
def resolve(target)
# find all files in the folder
files = Dir[File.join(target,'**','*')]
# remove the prefix
files = files.map{|x| x[target.length+1..-1]}
# get the dirs helper
helper = DirsHelper.getHandler(files)
if helper.nil?
raise "Don't know how to handle folder #{target}"
end
# get all file contents
file_handler = Vulcano::Targets.modules['file']
test_files = helper.get_filenames(files)
test_files.map do |f|
file_handler.resolve(File.join(target,f))
end
end
end
Vulcano::Targets.add_module('folder', FolderHelper.new)
end