class OpsBuild::Berkshelf

Attributes

dir[R]
opts[R]

Public Class Methods

new(dir: nil, silent: true) click to toggle source
# File lib/ops_build/berkshelf.rb, line 8
def initialize(dir: nil, silent: true)
  Validations::check_binary!('berks')

  @dir = dir || Dir.mktmpdir('berks')
  @opts = ''

  @opts << '-q' if silent
end

Public Instance Methods

cleanup() click to toggle source

Cleanup Berks directory

# File lib/ops_build/berkshelf.rb, line 33
def cleanup
  FileUtils.rm_rf(@dir)
end
install() click to toggle source

Run berks install

# File lib/ops_build/berkshelf.rb, line 26
def install
  OpsBuild.logger.info('Installing cookbooks with berks')
  Utils::execute("berks install #{@opts}", log_prefix: 'berks:')
end
vendor() click to toggle source

Run berks vendor

# File lib/ops_build/berkshelf.rb, line 19
def vendor
  OpsBuild.logger.info("Vendoring cookbooks with berks to #{@dir}")
  Utils::execute("berks vendor #{@opts} #{@dir}", log_prefix: 'berks:')
end