Class: Couchbase::Management::CollectionManager
- Inherits:
-
Object
- Object
- Couchbase::Management::CollectionManager
- 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
-
#create_collection(collection, options = Options::Collection::CreateCollection.new) ⇒ Object
Creates a new collection.
-
#create_scope(scope_name, options = Options::Collection::CreateScope.new) ⇒ Object
Creates a new scope.
-
#drop_collection(collection, options = Options::Collection::DropCollection.new) ⇒ Object
Removes a collection.
-
#drop_scope(scope_name, options = Options::Collection::DropScope.new) ⇒ Object
Removes a scope.
-
#get_all_scopes(options = Options::Collection::GetAllScopes.new) ⇒ Array<ScopeSpec>
Get all scopes.
-
#get_scope(scope_name, options = GetScopeOptions.new) ⇒ ScopeSpec
deprecated
Deprecated.
Use #get_all_scopes with filter by name
-
#initialize(backend, bucket_name) ⇒ CollectionManager
constructor
A new instance of CollectionManager.
Constructor Details
#initialize(backend, bucket_name) ⇒ CollectionManager
Returns a new instance of CollectionManager.
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
244 245 246 |
# File 'lib/couchbase/management/collection_manager.rb', line 244 def create_collection(collection, = Options::Collection::CreateCollection.new) @backend.collection_create(@bucket_name, collection.scope_name, collection.name, collection.max_expiry, .to_backend) end |
#create_scope(scope_name, options = Options::Collection::CreateScope.new) ⇒ Object
Creates a new scope
218 219 220 |
# File 'lib/couchbase/management/collection_manager.rb', line 218 def create_scope(scope_name, = Options::Collection::CreateScope.new) @backend.scope_create(@bucket_name, scope_name, .to_backend) end |
#drop_collection(collection, options = Options::Collection::DropCollection.new) ⇒ Object
Removes a collection
256 257 258 |
# File 'lib/couchbase/management/collection_manager.rb', line 256 def drop_collection(collection, = Options::Collection::DropCollection.new) @backend.collection_drop(@bucket_name, collection.scope_name, collection.name, .to_backend) end |
#drop_scope(scope_name, options = Options::Collection::DropScope.new) ⇒ Object
Removes a scope
230 231 232 |
# File 'lib/couchbase/management/collection_manager.rb', line 230 def drop_scope(scope_name, = Options::Collection::DropScope.new) @backend.scope_drop(@bucket_name, scope_name, .to_backend) end |
#get_all_scopes(options = Options::Collection::GetAllScopes.new) ⇒ Array<ScopeSpec>
Get all scopes
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::Collection::GetAllScopes.new) res = @backend.scope_get_all(@bucket_name, .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
203 204 205 206 |
# File 'lib/couchbase/management/collection_manager.rb', line 203 def get_scope(scope_name, = GetScopeOptions.new) get_all_scopes(Options::Collection::GetAllScopes(timeout: .timeout)) .find { |scope| scope.name == scope_name } or raise Error::ScopeNotFound, "unable to find scope #{scope_name}" end |