Module: Arango::Database::Collections

Included in:
Arango::Database
Defined in:
lib/arango/database/collections.rb

Instance Method Summary collapse

Instance Method Details

#all_collections(exclude_system: true) ⇒ Array<Arango::DocumentCollection>

Retrieves all collections from the database.

Parameters:

  • exclude_system (Boolean) (defaults to: true)

    Optional, default true, exclude system collections.

Returns:



7
8
9
# File 'lib/arango/database/collections.rb', line 7

def all_collections(exclude_system: true)
  Arango::DocumentCollection::Base.all(exclude_system: exclude_system, database: self)
end

#batch_all_collections(exclude_system: true) ⇒ Object



10
11
12
# File 'lib/arango/database/collections.rb', line 10

def batch_all_collections(exclude_system: true)
  Arango::DocumentCollection::Base.batch_all(exclude_system: exclude_system, database: self)
end

#batch_collection_exists?(name:, exclude_system: true) ⇒ Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/arango/database/collections.rb', line 85

def batch_collection_exists?(name:, exclude_system: true)
  Arango::DocumentCollection::Base.batch_any_exists?(name: name, database: self, exclude_system: exclude_system)
end

#batch_create_collection(name:, type: :document, is_system: false) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/arango/database/collections.rb', line 25

def batch_create_collection(name:, type: :document, is_system: false)
  case type
  when :document then Arango::DocumentCollection::Base.new(name: name, database: self, is_system: is_system).batch_create
  when :edge then Arango::EdgeCollection::Base.new(name: name, database: self, is_system: is_system).batch_create
  else raise "No such collection type #{type}"
  end
end

#batch_delete_collection(name:) ⇒ Object



75
76
77
# File 'lib/arango/database/collections.rb', line 75

def batch_delete_collection(name:)
  Arango::DocumentCollection::Base.batch_delete(name: name, database: self)
end

#batch_get_collection(name) ⇒ Object Also known as: batch_fetch_collection, batch_retrieve_collection



39
40
41
# File 'lib/arango/database/collections.rb', line 39

def batch_get_collection(name)
  Arango::DocumentCollection::Base.batch_get(name: name, database: self)
end

#batch_list_collections(exclude_system: true) ⇒ Object



65
66
67
# File 'lib/arango/database/collections.rb', line 65

def batch_list_collections(exclude_system: true)
  Arango::DocumentCollection::Base.batch_list_all(exclude_system: exclude_system, database: self)
end

#collection_exists?(name:, exclude_system: true) ⇒ Boolean

Check if collection exists.

Parameters:

  • name (String)

    Name of the collection

Returns:

  • (Boolean)


82
83
84
# File 'lib/arango/database/collections.rb', line 82

def collection_exists?(name:, exclude_system: true)
  Arango::DocumentCollection::Base.any_exists?(name: name, database: self, exclude_system: exclude_system)
end

#create_collection(name:, type: :document, is_system: false) ⇒ Arango::DocumentCollection

Creates a new collection.

Parameters:

  • name (String)

    The name of the collection.

  • type (Symbol) (defaults to: :document)

    One of :document or :edge, the collection type, optional, default: :document.

Returns:



18
19
20
21
22
23
24
# File 'lib/arango/database/collections.rb', line 18

def create_collection(name:, type: :document, is_system: false)
  case type
  when :document then Arango::DocumentCollection::Base.new(name: name, database: self, is_system: is_system).create
  when :edge then Arango::EdgeCollection::Base.new(name: name, database: self, is_system: is_system).create
  else raise "No such collection type #{type}"
  end
end

#delete_collection(name:) ⇒ Object

Removes a collection.

Parameters:

  • name (String)

    The name of the collection.

Returns:

  • nil



72
73
74
# File 'lib/arango/database/collections.rb', line 72

def delete_collection(name:)
  Arango::DocumentCollection::Base.delete(name: name, database: self)
end

#get_collection(name:) ⇒ Arango::Database Also known as: fetch_collection, retrieve_collection

Get collection from the database.

Parameters:

  • name (String)

    The name of the collection.

Returns:



36
37
38
# File 'lib/arango/database/collections.rb', line 36

def get_collection(name:)
  Arango::DocumentCollection::Base.get(name: name, database: self)
end

#list_collections(exclude_system: true) ⇒ Array<String>

Retrieves a list of all collections.

Parameters:

  • exclude_system (Boolean) (defaults to: true)

    Optional, default true, exclude system collections.

Returns:

  • (Array<String>)

    List of collection names.



62
63
64
# File 'lib/arango/database/collections.rb', line 62

def list_collections(exclude_system: true)
  Arango::DocumentCollection::Base.list_all(exclude_system: exclude_system, database: self)
end

#new_collection(name:, type: :document, is_system: false) ⇒ Arango::DocumentCollection::Base

Instantiates a new collection.

Parameters:

  • name (String)

    The name of the collection.

  • type (Symbol) (defaults to: :document)

    One of :document or :edge, the collection type, optional, default: :document.

Returns:



51
52
53
54
55
56
57
# File 'lib/arango/database/collections.rb', line 51

def new_collection(name:, type: :document, is_system: false)
  case type
  when :document then Arango::DocumentCollection::Base.new(name: name, database: self, is_system: is_system).create
  when :edge then Arango::EdgeCollection::Base.new(name: name, database: self, is_system: is_system).create
  else raise "No such collection type #{type}"
  end
end