Module: Arango::Database::Collections

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

Overview

Arango Database Collections

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:



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

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

#batch_all_collections(exclude_system: true) ⇒ Object



12
13
14
# File 'lib/arango/database/collections.rb', line 12

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)


87
88
89
# File 'lib/arango/database/collections.rb', line 87

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



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

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



77
78
79
# File 'lib/arango/database/collections.rb', line 77

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



41
42
43
# File 'lib/arango/database/collections.rb', line 41

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

#batch_list_collections(exclude_system: true) ⇒ Object



67
68
69
# File 'lib/arango/database/collections.rb', line 67

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)


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

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:



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

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



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

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:



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

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.



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

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:



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

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