1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/rackspace/requests/storage/put_container.rb
Ash Wilson 6642ae013d Refactoring: #each_part in MockObject.
@bytes => @bytes_used in MockObject as well, for consistency with
MockContainer.
2013-12-20 12:18:36 -05:00

42 lines
1.1 KiB
Ruby

module Fog
module Storage
class Rackspace
class Real
# Create a new container
#
# ==== Parameters
# * name<~String> - Name for container, should be < 256 bytes and must not contain '/'
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
# @raise [Fog::Storage::Rackspace::ServiceError]
def put_container(name, options={})
request(
:expects => [201, 202],
:method => 'PUT',
:headers => options,
:path => Fog::Rackspace.escape(name)
)
end
end
class Mock
def put_container(name, options={})
existed = ! mock_container(name).nil?
container = add_container(name)
options.keys.each do |k|
container.meta[k] = options[k].to_s if k =~ /^X-Container-Meta/
end
response = Excon::Response.new
response.status = existed ? 202 : 201
response
end
end
end
end
end