class ChefCLI::PolicyfileLock

def set_attributes_from_lock_data(lock_data)

def set_attributes_from_lock_data(lock_data)
  default_attr_data = lock_data["default_attributes"]
  if default_attr_data.nil?
    raise InvalidLockfile, "lockfile does not have a `default_attributes` attribute"
  end
  unless default_attr_data.is_a?(Hash)
    raise InvalidLockfile, "lockfile's `default_attributes` attribute must be a Hash (JSON object). (got: #{default_attr_data.inspect})"
  end
  override_attr_data = lock_data["override_attributes"]
  if override_attr_data.nil?
    raise InvalidLockfile, "lockfile does not have a `override_attributes` attribute"
  end
  unless override_attr_data.is_a?(Hash)
    raise InvalidLockfile, "lockfile's `override_attributes` attribute must be a Hash (JSON object). (got: #{override_attr_data.inspect})"
  end
  @default_attributes   = default_attr_data
  @override_attributes  = override_attr_data
end