File Manager
Viewing File: integration_helper.rb
require "tmpdir"
module IntegrationSupport
def when_plugins_directory(description, &block)
context "When the plugins directory #{description}" do
before(:each) do
@plugins_directory = Dir.mktmpdir("ohai-plugins")
end
after(:each) do
if @plugins_directory
begin
FileUtils.remove_entry_secure(@plugins_directory)
ensure
@plugins_directory = nil
end
end
end
def with_plugin(plugin_path, contents) # rubocop:disable Lint/NestedMethodDefinition
filename = path_to(plugin_path)
dir = File.dirname(filename)
FileUtils.mkdir_p(dir) unless dir == "."
File.open(filename, "w") do |file|
file.write(contents)
end
end
def path_to(plugin_path) # rubocop:disable Lint/NestedMethodDefinition
File.expand_path(plugin_path, @plugins_directory)
end
def self.with_plugin(plugin_path, contents) # rubocop:disable Lint/NestedMethodDefinition
before :each do
with_plugin(plugin_path, contents)
end
end
instance_eval(&block)
end
end
end