class Umami::Policyfile::PolicyfileLock

Attributes

policyfile[R]

Public Class Methods

new(policyfile = nil) click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 23
def initialize(policyfile = nil)
  @policyfile      = policyfile
  @policyfile_lock = nil
  @storage_config  = storage_config
  @ui              = ui
end

Public Instance Methods

lock_data() click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 46
def lock_data
  FFI_Yajl::Parser.new.parse(policyfile_lock_content)
end
name() click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 57
def name
  policyfile_lock.name
end
policyfile_lock() click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 50
def policyfile_lock
  @policyfile_lock ||= ChefDK::PolicyfileLock.new(
    storage_config,
    ui: ui
  ).build_from_lock_data(lock_data)
end
policyfile_lock_content() click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 42
def policyfile_lock_content
  IO.read(policyfile_lock_path)
end
policyfile_lock_path() click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 38
def policyfile_lock_path
  policyfile.gsub(/\.rb$/, '.lock.json')
end
storage_config() click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 30
def storage_config
  @storage_config ||= ChefDK::Policyfile::StorageConfig.new.use_policyfile(policyfile)
end
ui() click to toggle source
# File lib/chef-umami/policyfile/policyfile_lock.rb, line 34
def ui
  @ui ||= ChefDK::UI.new
end