inspec/lib/vulcano/targets/dir.rb

48 lines
991 B
Ruby
Raw Normal View History

# encoding: utf-8
module Vulcano::Targets
module DirsHelper
class ChefAuditDir
def handles?(paths)
paths.include?('recipes') and paths.include?('metadata.rb')
end
def get_filenames(paths)
paths.find_all do |x|
x.start_with? 'recipes/' and x.end_with? '.rb'
end
end
end
class ServerspecDir
def handles?(paths)
paths.include?('spec')
end
def get_filenames(paths)
paths.find_all do |path|
path.start_with? 'spec' and path.end_with? '_spec.rb'
end
end
end
class FlatDir
def handles?(paths)
get_filenames(paths).empty? == false
end
def get_filenames(paths)
2015-09-05 14:07:54 +00:00
paths.find_all { |x| x.end_with?('.rb') and !x.include?('/') }
end
end
HANDLERS = [
ChefAuditDir, ServerspecDir, FlatDir
2015-09-05 14:07:54 +00:00
].map { |x| x.new }
def self.getHandler(paths)
2015-09-05 14:07:54 +00:00
HANDLERS.find { |x| x.handles? paths }
end
end
end