class ChefZero::Endpoints::SandboxEndpoint

/sandboxes/ID

Public Instance Methods

put(request) click to toggle source
# File lib/chef_zero/endpoints/sandbox_endpoint.rb, line 9
def put(request)
  existing_sandbox = FFI_Yajl::Parser.parse(get_data(request))
  existing_sandbox["checksums"].each do |checksum|
    if !exists_data?(request, request.rest_path[0..1] + ["file_store", "checksums", checksum])
      raise RestErrorResponse.new(503, "Checksum not uploaded: #{checksum}")
    end
  end
  delete_data(request)
  json_response(200, {
    :guid => request.rest_path[3],
    :name => request.rest_path[3],
    :checksums => existing_sandbox["checksums"],
    :create_time => existing_sandbox["create_time"],
    :is_completed => true,
  })
end