Class: Couchbase::Management::CollectionManager

Inherits:
Object
  • Object
show all
Extended by:
Gem::Deprecate
Defined in:
lib/couchbase/management/collection_manager.rb,
/Users/sergey.auseyau/code/couchbase-ruby-client/lib/couchbase/management/collection_manager.rb
more...

Defined Under Namespace

Classes: GetScopeOptions

Instance Method Summary collapse

Constructor Details

#initialize(backend, bucket_name) ⇒ CollectionManager

Returns a new instance of CollectionManager.

Parameters:

  • backend (Couchbase::Backend)
  • bucket_name (String)
[View source]

168
169
170
171
# File 'lib/couchbase/management/collection_manager.rb', line 168

def initialize(backend, bucket_name)
  @backend = backend
  @bucket_name = bucket_name
end

Instance Method Details

#create_collection(collection, options = Options::Collection::CreateCollection.new) ⇒ Object

Creates a new collection

Parameters:

Returns:

  • void

Raises:

[View source]

244
245
246
# File 'lib/couchbase/management/collection_manager.rb', line 244

def create_collection(collection, options = Options::Collection::CreateCollection.new)
  @backend.collection_create(@bucket_name, collection.scope_name, collection.name, collection.max_expiry, options.to_backend)
end

#create_scope(scope_name, options = Options::Collection::CreateScope.new) ⇒ Object

Creates a new scope

Parameters:

Returns:

  • void

Raises:

  • (ArgumentError)
[View source]

218
219
220
# File 'lib/couchbase/management/collection_manager.rb', line 218

def create_scope(scope_name, options = Options::Collection::CreateScope.new)
  @backend.scope_create(@bucket_name, scope_name, options.to_backend)
end

#drop_collection(collection, options = Options::Collection::DropCollection.new) ⇒ Object

Removes a collection

Parameters:

Returns:

  • void

Raises:

[View source]

256
257
258
# File 'lib/couchbase/management/collection_manager.rb', line 256

def drop_collection(collection, options = Options::Collection::DropCollection.new)
  @backend.collection_drop(@bucket_name, collection.scope_name, collection.name, options.to_backend)
end

#drop_scope(scope_name, options = Options::Collection::DropScope.new) ⇒ Object

Removes a scope

Parameters:

Returns:

  • void

Raises:

[View source]

230
231
232
# File 'lib/couchbase/management/collection_manager.rb', line 230

def drop_scope(scope_name, options = Options::Collection::DropScope.new)
  @backend.scope_drop(@bucket_name, scope_name, options.to_backend)
end

#get_all_scopes(options = Options::Collection::GetAllScopes.new) ⇒ Array<ScopeSpec>

Get all scopes

Parameters:

Returns:

[View source]

178
179
180
181
182
183
184
185
186
187
188
189
190
191
# File 'lib/couchbase/management/collection_manager.rb', line 178

def get_all_scopes(options = Options::Collection::GetAllScopes.new)
  res = @backend.scope_get_all(@bucket_name, options.to_backend)
  res[:scopes].map do |s|
    ScopeSpec.new do |scope|
      scope.name = s[:name]
      scope.collections = s[:collections].map do |c|
        CollectionSpec.new do |collection|
          collection.name = c[:name]
          collection.scope_name = s[:name]
        end
      end
    end
  end
end

#get_scope(scope_name, options = GetScopeOptions.new) ⇒ ScopeSpec

Deprecated.

Use #get_all_scopes with filter by name

Get a scope by name

Parameters:

  • scope_name (String)

    name of the scope

  • options (GetScopeOptions) (defaults to: GetScopeOptions.new)

Returns:

Raises:

[View source]

203
204
205
206
# File 'lib/couchbase/management/collection_manager.rb', line 203

def get_scope(scope_name, options = GetScopeOptions.new)
  get_all_scopes(Options::Collection::GetAllScopes(timeout: options.timeout))
    .find { |scope| scope.name == scope_name } or raise Error::ScopeNotFound, "unable to find scope #{scope_name}"
end