Class: ChefDK::Policyfile::ComparisonBase::Local
- Inherits:
-
Object
- Object
- ChefDK::Policyfile::ComparisonBase::Local
- Defined in:
- lib/chef-dk/policyfile/comparison_base.rb
Instance Attribute Summary collapse
-
#policyfile_lock_relpath ⇒ Object
readonly
Returns the value of attribute policyfile_lock_relpath.
Instance Method Summary collapse
-
#initialize(policyfile_lock_relpath) ⇒ Local
constructor
A new instance of Local.
- #lock ⇒ Object
- #name ⇒ Object
Constructor Details
#initialize(policyfile_lock_relpath) ⇒ Local
Returns a new instance of Local.
30 31 32 |
# File 'lib/chef-dk/policyfile/comparison_base.rb', line 30 def initialize(policyfile_lock_relpath) @policyfile_lock_relpath = policyfile_lock_relpath end |
Instance Attribute Details
#policyfile_lock_relpath ⇒ Object (readonly)
Returns the value of attribute policyfile_lock_relpath.
28 29 30 |
# File 'lib/chef-dk/policyfile/comparison_base.rb', line 28 def policyfile_lock_relpath @policyfile_lock_relpath end |
Instance Method Details
#lock ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/chef-dk/policyfile/comparison_base.rb', line 38 def lock raise LockfileNotFound, "Expected lockfile at #{policyfile_lock_relpath} does not exist" unless File.exist?(policyfile_lock_relpath) raise LockfileNotFound, "Expected lockfile at #{policyfile_lock_relpath} cannot be read" unless File.readable?(policyfile_lock_relpath) FFI_Yajl::Parser.parse(IO.read(policyfile_lock_relpath)) rescue FFI_Yajl::ParseError => e raise MalformedLockfile, "Invalid JSON in lockfile at #{policyfile_lock_relpath}:\n #{e.}" end |
#name ⇒ Object
34 35 36 |
# File 'lib/chef-dk/policyfile/comparison_base.rb', line 34 def name "local:#{policyfile_lock_relpath}" end |