Sha256: af81a4211a531c6f527b1e3baa123755494b84bbf30bd1ddc5e8e5aafd2db715

Contents?: true

Size: 1.33 KB

Versions: 19

Compression:

Stored size: 1.33 KB

Contents

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

Version data entries

19 entries across 19 versions & 3 rubygems

Version Path
fog-maestrodev-1.18.0.20131126183714 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131126122111 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131125111730 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131125083406 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131123105121 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131122203507 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131121075022 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131118164830 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131115184302 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131114200144 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131112185232 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.18.0.20131111203459 lib/fog/brightbox/models/compute/collaborations.rb
fog-1.18.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-1.17.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-1.16.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.15.0.20130927082724 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.15.0.20130829165835 lib/fog/brightbox/models/compute/collaborations.rb
fog-1.15.0 lib/fog/brightbox/models/compute/collaborations.rb
gapinc-fog-1.14.0 lib/fog/brightbox/models/compute/collaborations.rb