Class: ChefSpec::Librarian
- Inherits:
-
Object
- Object
- ChefSpec::Librarian
- Extended by:
- Forwardable
- Includes:
- Singleton
- Defined in:
- lib/chefspec/librarian.rb
Instance Method Summary collapse
-
#initialize ⇒ Librarian
constructor
A new instance of Librarian.
-
#setup! ⇒ Object
Setup and install the necessary dependencies in the temporary directory.
-
#teardown! ⇒ Object
Remove the temporary directory and restore the librarian-chef cookbook path.
Constructor Details
#initialize ⇒ Librarian
Returns a new instance of Librarian.
20 21 22 |
# File 'lib/chefspec/librarian.rb', line 20 def initialize @tmpdir = Dir.mktmpdir end |
Instance Method Details
#setup! ⇒ Object
Setup and install the necessary dependencies in the temporary directory.
27 28 29 30 31 32 33 34 |
# File 'lib/chefspec/librarian.rb', line 27 def setup! env = ::Librarian::Chef::Environment.new(project_path: Dir.pwd) @originalpath, env.config_db.local["path"] = env.config_db.local["path"], @tmpdir ::Librarian::Action::Resolve.new(env).run ::Librarian::Action::Install.new(env).run ::RSpec.configure { |config| config.cookbook_path = @tmpdir } end |
#teardown! ⇒ Object
Remove the temporary directory and restore the librarian-chef cookbook path.
39 40 41 42 43 44 |
# File 'lib/chefspec/librarian.rb', line 39 def teardown! env = ::Librarian::Chef::Environment.new(project_path: Dir.pwd) env.config_db.local["path"] = @originalpath FileUtils.rm_rf(@tmpdir) if File.exist?(@tmpdir) end |