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/brightbox/models/compute/collaborations.rb
2013-08-07 13:41:04 +01:00

47 lines
1.3 KiB
Ruby

require "fog/core/collection"
require "fog/brightbox/models/compute/collaboration"
module Fog
module Compute
class Brightbox
class Collaborations < Fog::Collection
model Fog::Compute::Brightbox::Collaboration
def all
data = service.list_collaborations
load(data)
end
def get(identifier)
return nil if identifier.nil? || identifier == ""
data = service.get_collaboration(identifier)
new(data)
rescue Excon::Errors::NotFound
nil
end
# Invites a user (via an email) to collaborate on the currently scoped
# account at the +role+ level.
#
# @param [String] email The email address to use for the invitation
# @param [String] role The role being granted. Only (+admin+ is
# currently supported
# @return [Fog::Compute::Brightbox::Collaboration]
#
def invite(email, role)
return nil if email.nil? || email == ""
return nil if role.nil? || role == ""
options = {:email => email, :role => role}
data = service.create_collaboration(options)
new(data)
end
def destroy
requires :identity
service.destroy_collaboration(identity)
true
end
end
end
end
end