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/openstack/requests/image/update_image_members.rb
Erik Michaels-Ober f2bd2404d1 Revert "Updated gem spec to require json rather than multi_json"
This reverts commits: 66638b25d7,
3f0314dbd1, and
18ce4b7eca.

Since google-api-client was added as a dependency in afa9b025e9,
multi_json is a de facto dependency of fog, so this is a needless layer.
If #1034 is still an issue, I'd be happy to ship a version of multi_json
that requires rubygems >= 1.3.5.
2013-05-06 04:05:36 -07:00

37 lines
1.1 KiB
Ruby

module Fog
module Image
class OpenStack
class Real
def update_image_members(image_id, members)
# Sample members
# [
# {'member_id' => 'tenant1', 'can_share' => true },
# {'member_id' => 'tenant2', 'can_share' => false }
# ]
data = { 'memberships' => members }
request(
:body => MultiJson.encode(data),
:expects => [200, 202],
:method => 'PUT',
:path => "images/#{image_id}/members"
)
end
end # class Real
class Mock
def update_image_members(image_id, members)
response = Excon::Response.new
response.status = [200, 202][rand(1)]
response.body = {
'members' => [
{ 'member_id'=>'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => false },
{ 'member_id'=>'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => true }
]
}
response
end
end # class Mock
end # class OpenStack
end # module Identity
end # module Fog