Sha256: 9bbe8125a79dd5f0ffce488d65601190478e9cde810c66fd1ec02388d2c83f9a

Contents?: true

Size: 1.33 KB

Versions: 41

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

41 entries across 41 versions & 4 rubygems

Version Path
fog-brightbox-0.7.2 lib/fog/brightbox/models/compute/collaborations.rb
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-brightbox-0.7.1/lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.7.1 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.7.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.6.1 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.6.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.5.1 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.5.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.4.1 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.4.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.3.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.2.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.1.1 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.1.0 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.1.0.dev2 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.1.0.dev1 lib/fog/brightbox/models/compute/collaborations.rb
fog-brightbox-0.0.2 lib/fog/brightbox/models/compute/collaborations.rb
fog-1.21.0 providers/brightbox/lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.20.0.20140305101839 lib/fog/brightbox/models/compute/collaborations.rb
fog-maestrodev-1.20.0.20140305101305 lib/fog/brightbox/models/compute/collaborations.rb