arango-driver 3.5.0.alpha0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +1073 -0
  4. data/arango_opal.js +15 -0
  5. data/lib/arango-driver.rb +61 -0
  6. data/lib/arango.rb +96 -0
  7. data/lib/arango/aql.rb +188 -0
  8. data/lib/arango/collection.rb +575 -0
  9. data/lib/arango/collection/documents.rb +122 -0
  10. data/lib/arango/collection/edges.rb +149 -0
  11. data/lib/arango/collection/importing.rb +57 -0
  12. data/lib/arango/collection/indexes.rb +53 -0
  13. data/lib/arango/collection/replication.rb +24 -0
  14. data/lib/arango/collection/user.rb +28 -0
  15. data/lib/arango/cursor.rb +67 -0
  16. data/lib/arango/database.rb +188 -0
  17. data/lib/arango/database/analyzer.rb +21 -0
  18. data/lib/arango/database/aql_functions.rb +54 -0
  19. data/lib/arango/database/aql_queries.rb +114 -0
  20. data/lib/arango/database/aql_query_cache.rb +27 -0
  21. data/lib/arango/database/collections.rb +100 -0
  22. data/lib/arango/database/foxx_services.rb +103 -0
  23. data/lib/arango/database/graph_access.rb +27 -0
  24. data/lib/arango/database/http_route.rb +9 -0
  25. data/lib/arango/database/replication.rb +96 -0
  26. data/lib/arango/database/stream_transactions.rb +25 -0
  27. data/lib/arango/database/tasks.rb +67 -0
  28. data/lib/arango/database/transactions.rb +15 -0
  29. data/lib/arango/database/user.rb +26 -0
  30. data/lib/arango/database/view_access.rb +37 -0
  31. data/lib/arango/document.rb +443 -0
  32. data/lib/arango/edge.rb +164 -0
  33. data/lib/arango/error.rb +97 -0
  34. data/lib/arango/error_db.rb +27 -0
  35. data/lib/arango/foxx.rb +255 -0
  36. data/lib/arango/graph.rb +202 -0
  37. data/lib/arango/graph/basics.rb +39 -0
  38. data/lib/arango/graph/edge_access.rb +56 -0
  39. data/lib/arango/graph/vertex_access.rb +33 -0
  40. data/lib/arango/helper/collection_assignment.rb +13 -0
  41. data/lib/arango/helper/database_assignment.rb +14 -0
  42. data/lib/arango/helper/request_method.rb +45 -0
  43. data/lib/arango/helper/return.rb +21 -0
  44. data/lib/arango/helper/satisfaction.rb +28 -0
  45. data/lib/arango/helper/server_assignment.rb +13 -0
  46. data/lib/arango/helper/traversal.rb +12 -0
  47. data/lib/arango/index.rb +103 -0
  48. data/lib/arango/replication.rb +231 -0
  49. data/lib/arango/request.rb +92 -0
  50. data/lib/arango/request_batch.rb +174 -0
  51. data/lib/arango/result.rb +130 -0
  52. data/lib/arango/search_view.rb +23 -0
  53. data/lib/arango/server.rb +68 -0
  54. data/lib/arango/server/administration.rb +296 -0
  55. data/lib/arango/server/agency.rb +23 -0
  56. data/lib/arango/server/async.rb +51 -0
  57. data/lib/arango/server/batch.rb +35 -0
  58. data/lib/arango/server/config.rb +76 -0
  59. data/lib/arango/server/databases.rb +71 -0
  60. data/lib/arango/server/monitoring.rb +17 -0
  61. data/lib/arango/server/opal_support.rb +95 -0
  62. data/lib/arango/server/tasks.rb +69 -0
  63. data/lib/arango/server/user.rb +22 -0
  64. data/lib/arango/task.rb +223 -0
  65. data/lib/arango/transaction.rb +113 -0
  66. data/lib/arango/traversal.rb +212 -0
  67. data/lib/arango/user.rb +174 -0
  68. data/lib/arango/version.rb +3 -0
  69. data/lib/arango/vertex.rb +112 -0
  70. data/lib/arango/view.rb +124 -0
  71. data/lib/arango/view/basics.rb +25 -0
  72. metadata +296 -0
@@ -0,0 +1,174 @@
1
+ # === USER ===
2
+
3
+ module Arango
4
+ class User
5
+ include Arango::Helper::Satisfaction
6
+ include Arango::Helper::Return
7
+ include Arango::Helper::ServerAssignment
8
+
9
+ def initialize(server:, password: "", name:, extra: {}, active: nil, cache_name: nil)
10
+ assign_server(server)
11
+ unless cache_name.nil?
12
+ @cache_name = cache_name
13
+ @server.cache.save(:user, cache_name, self)
14
+ end
15
+ @password = password
16
+ @name = name
17
+ @extra = extra
18
+ @active = active
19
+ end
20
+
21
+ # === DEFINE ===
22
+
23
+ attr_accessor :name, :extra, :active
24
+ attr_reader :server, :body, :cache_name
25
+ attr_writer :password
26
+ alias user name
27
+ alias user= name=
28
+
29
+ def body=(result)
30
+ @body = result
31
+ @password = result[:password] || @password
32
+ @name = result[:user] || @name
33
+ @extra = result[:extra] || @extra
34
+ @active = result[:active].nil? ? @active : result[:active]
35
+ if @server.active_cache && @cache_name.nil?
36
+ @cache_name = @name
37
+ @server.cache.save(:user, @cache_name, self)
38
+ end
39
+ end
40
+ alias assign_attributes body=
41
+
42
+ # === TO HASH ===
43
+
44
+ def to_h
45
+ {
46
+ active: @active,
47
+ cache_name: @cache_name,
48
+ extra: @extra,
49
+ server: @server.base_uri,
50
+ user: @name
51
+ }.delete_if{|k,v| v.nil?}
52
+ end
53
+
54
+ def [](database)
55
+ if self.databases[database.to_sym] == "rw"
56
+ Arango::Database.new name: database, server: @server
57
+ else
58
+ "This User does not have access to Database #{database}."
59
+ end
60
+ end
61
+ alias database []
62
+
63
+ # == USER ACTION ==
64
+
65
+ def create(password: @password, active: @active, extra: @extra)
66
+ body = {
67
+ user: @name,
68
+ passwd: password,
69
+ extra: extra,
70
+ active: active
71
+ }
72
+ result = @server.request("POST", "_api/user", body: body)
73
+ return_element(result)
74
+ end
75
+
76
+ def retrieve
77
+ result = @server.request("GET", "_api/user/#{@name}", body: body)
78
+ return_element(result)
79
+ end
80
+
81
+ def replace(password: @password, active: @active, extra: @extra)
82
+ body = {
83
+ passwd: password,
84
+ active: active,
85
+ extra: extra
86
+ }
87
+ result = @server.request("PUT", "_api/user/#{@name}", body: body)
88
+ @password = password
89
+ return_element(result)
90
+ end
91
+
92
+ def update(password: @password, active: @active, extra: @extra)
93
+ body = {
94
+ passwd: password,
95
+ active: active,
96
+ extra: extra
97
+ }
98
+ result = @server.request("PATCH", "_api/user/#{@name}", body: body)
99
+ @password = password
100
+ return_element(result)
101
+ end
102
+
103
+ def destroy
104
+ result = @server.request("DELETE", "_api/user/#{@name}")
105
+ return return_directly?(result) ? result : true
106
+ end
107
+
108
+ # == ACCESS ==
109
+
110
+ def add_database_access(grant:, database:)
111
+ satisfy_category?(grant, %w[rw ro none])
112
+ satisfy_class?(database, [Arango::Database, String])
113
+ database = database.name if database.is_a?(Arango::Database)
114
+ body = { grant: grant }
115
+ result = @server.request("PUT", "_api/user/#{@name}/database/#{database}", body: body)
116
+ return return_directly?(result) ? result : result[database.to_sym]
117
+ end
118
+
119
+ def grant(database:)
120
+ add_database_access(grant: "rw", database: database)
121
+ end
122
+
123
+ def add_collection_access(grant:, database:, collection:)
124
+ satisfy_category?(grant, %w[rw ro none])
125
+ satisfy_class?(database, [Arango::Database, String])
126
+ satisfy_class?(collection, [Arango::Collection, String])
127
+ database = database.name if database.is_a?(Arango::Database)
128
+ collection = collection.name if collection.is_a?(Arango::Collection)
129
+ body = { grant: grant }
130
+ result = @server.request("PUT", "_api/user/#{@name}/database/#{database}/#{collection}", body: body)
131
+ return return_directly?(result) ? result : result[:"#{database}/#{collection}"]
132
+ end
133
+
134
+ def revoke_database_access(database:)
135
+ satisfy_class?(database, [Arango::Database, String])
136
+ database = database.name if database.is_a?(Arango::Database)
137
+ result = @server.request("DELETE", "_api/user/#{@name}/database/#{database}")
138
+ return return_directly?(result) ? result : true
139
+ end
140
+ alias revoke revoke_database_access
141
+
142
+ def revoke_collection_access(database:, collection:)
143
+ satisfy_class?(database, [Arango::Database, String])
144
+ satisfy_class?(collection, [Arango::Collection, String])
145
+ database = database.name if database.is_a?(Arango::Database)
146
+ collection = collection.name if collection.is_a?(Arango::Collection)
147
+ result = @server.request("DELETE", "_api/user/#{@name}/database/#{database}/#{collection}")
148
+ return return_directly?(result) ? result : true
149
+ end
150
+
151
+ def list_access(full: nil)
152
+ query = { full: full }
153
+ result = @server.request("GET", "_api/user/#{@name}/database", query: query)
154
+ return return_directly?(result) ? result : result[:result]
155
+ end
156
+ alias databases list_access
157
+
158
+ def database_access(database:)
159
+ satisfy_class?(database, [Arango::Database, String])
160
+ database = database.name if database.is_a?(Arango::Database)
161
+ result = @server.request("GET", "_api/user/#{@name}/database/#{database}")
162
+ return return_directly?(result) ? result : result[:result]
163
+ end
164
+
165
+ def collection_access(database:, collection:)
166
+ satisfy_class?(database, [Arango::Database, String])
167
+ satisfy_class?(collection, [Arango::Collection, String])
168
+ database = database.name if database.is_a?(Arango::Database)
169
+ collection = collection.name if collection.is_a?(Arango::Collection)
170
+ result = @server.request("GET", "_api/user/#{@name}/database/#{database}/#{collection}", body: body)
171
+ return return_directly?(result) ? result : result[:result]
172
+ end
173
+ end
174
+ end
@@ -0,0 +1,3 @@
1
+ module Arango
2
+ VERSION = '3.5.0.alpha0'
3
+ end
@@ -0,0 +1,112 @@
1
+ # === GRAPH VERTEX ===
2
+
3
+ module Arango
4
+ class Vertex < Arango::Document
5
+ include Arango::Helper::Traversal
6
+
7
+ def initialize(name: nil, collection:, body: {}, rev: nil, cache_name: nil)
8
+ assign_collection(collection)
9
+ unless cache_name.nil?
10
+ @cache_name = cache_name
11
+ @server.cache.save(:document, cache_name, self)
12
+ end
13
+ body[:_key] ||= name
14
+ body[:_rev] ||= rev
15
+ body[:_id] ||= "#{@collection.name}/#{name}" unless name.nil?
16
+ assign_attributes(body)
17
+ end
18
+
19
+ # === DEFINE ===
20
+
21
+ attr_reader :collection, :database, :server, :graph
22
+
23
+ def collection=(collection)
24
+ satisfy_class?(collection, [Arango::Collection])
25
+ if collection.graph.nil?
26
+ raise Arango::Error.new err: :collection_does_not_have_a_graph, data:
27
+ {name_collection: collection.name, graph: nil}
28
+ end
29
+ @collection = collection
30
+ @graph = @collection.graph
31
+ @database = @collection.database
32
+ @server = @database.server
33
+ end
34
+ alias assign_collection collection=
35
+
36
+ # == GET ==
37
+
38
+ def retrieve(if_match: false)
39
+ headers = {}
40
+ headers[:"If-Match"] = @body[:_rev] if if_match
41
+ result = @graph.request("GET", "vertex/#{@collection.name}/#{@body[:_key]}", headers: headers, key: :vertex)
42
+ return_element(result)
43
+ end
44
+
45
+ # == POST ==
46
+
47
+ def create(body: {}, wait_for_sync: nil)
48
+ body = @body.merge(body)
49
+ query = { waitForSync: wait_for_sync }
50
+ result = @graph.request("POST", "vertex/#{@collection.name}", body: body,
51
+ query: query, key: :vertex)
52
+ return result if @server.async != false
53
+ body2 = result.clone
54
+ body = body.merge(body2)
55
+ assign_attributes(body)
56
+ return return_directly?(result) ? result : self
57
+ end
58
+
59
+ # == PUT ==
60
+
61
+ def replace(body: {}, if_match: false, keep_null: nil, wait_for_sync: nil)
62
+ query = {
63
+ waitForSync: wait_for_sync,
64
+ keepNull: keep_null
65
+ }
66
+ headers = {}
67
+ headers[:"If-Match"] = @body[:_rev] if if_match
68
+ result = @graph.request("PUT", "vertex/#{@collection.name}/#{@body[:_key]}",
69
+ body: body, query: query, headers: headers, key: :vertex)
70
+ return result if @server.async != false
71
+ body2 = result.clone
72
+ body = body.merge(body2)
73
+ assign_attributes(body)
74
+ return return_directly?(result) ? result : self
75
+ end
76
+
77
+ def update(body: {}, if_match: false, keep_null: nil, wait_for_sync: nil)
78
+ query = { waitForSync: wait_for_sync, keepNull: keep_null }
79
+ headers = {}
80
+ headers[:"If-Match"] = @body[:_rev] if if_match
81
+ result = @graph.request("PATCH", "vertex/#{@collection.name}/#{@body[:_key]}", body: body,
82
+ query: query, headers: headers, key: :vertex)
83
+ return result if @server.async != false
84
+ body2 = result.clone
85
+ body = body.merge(body2)
86
+ body = @body.merge(body)
87
+ assign_attributes(body)
88
+ return return_directly?(result) ? result : self
89
+ end
90
+
91
+ # === DELETE ===
92
+
93
+ def destroy(wait_for_sync: nil, if_match: false)
94
+ query = { waitForSync: wait_for_sync }
95
+ headers = {}
96
+ headers[:"If-Match"] = @body[:_rev] if if_match
97
+ result = @graph.request("DELETE", "vertex/#{@collection.name}/#{@body[:_key]}",
98
+ query: query, headers: headers)
99
+ return_delete(result)
100
+ end
101
+
102
+ # === WRONG ===
103
+
104
+ def from=(arg)
105
+ raise Arango::Error.new err: :you_cannot_assign_from_or_to_to_a_vertex
106
+ end
107
+ alias to= from=
108
+ alias to from=
109
+ alias to_r from=
110
+ alias from_r from=
111
+ end
112
+ end
@@ -0,0 +1,124 @@
1
+ # ==== DOCUMENT ====
2
+
3
+ module Arango
4
+ class View
5
+ include Arango::Helper::Satisfaction
6
+ include Arango::Helper::Return
7
+ include Arango::Helper::DatabaseAssignment
8
+
9
+ def initialize(database:, type: "arangosearch", name:, id: nil, cache_name: nil)
10
+ assign_database(database)
11
+ unless cache_name.nil?
12
+ @cache_name = cache_name
13
+ @server.cache.save(:view, cache_name, self)
14
+ end
15
+ satisfy_category?(type, ["arangosearch"])
16
+ @type = type
17
+ @name = name
18
+ @links = {}
19
+ @id = id
20
+ end
21
+
22
+ # === DEFINE ===
23
+
24
+ attr_reader :type, :links, :database, :cache_name
25
+ attr_accessor :id, :name
26
+
27
+ def type=(type)
28
+ satisfy_category?(type, ["arangosearch"])
29
+ @type = type
30
+ end
31
+ alias assign_type type=
32
+
33
+ def add_link(collection:, analyzers: nil, fields: {}, include_all_fields: nil, track_list_positions: nil, store_values: nil)
34
+ satisfy_class?(collection, [Arango::Collection, String])
35
+ collection_name = collection.is_a?(String) ? collection : collection.name
36
+ satisfy_category?(store_values, ["none", "id", nil])
37
+ @links[collection_name] = {
38
+ analyzers: analyzers,
39
+ fields: fields,
40
+ includeAllFields: include_all_fields,
41
+ trackListPositions: track_list_positions,
42
+ storeValues: store_values
43
+ }
44
+ @links[collection_name].delete_if{|k,v| v.nil?}
45
+ end
46
+
47
+ def to_h
48
+ {
49
+ name: @name,
50
+ id: @id,
51
+ type: @type,
52
+ links: @links,
53
+ cache_name: @cache_name,
54
+ database: @database.name
55
+ }.delete_if{|k,v| v.nil?}
56
+ end
57
+
58
+ def body=(result)
59
+ @body = result
60
+ @id = result[:id] || @id
61
+ @type = assign_type(result[:type] || @type)
62
+ @links = result[:links] || @links
63
+ @name = result[:name] || name
64
+ if @server.active_cache && @cache_name.nil?
65
+ @cache_name = "#{@database.name}/#{@id}"
66
+ @server.cache.save(:task, @cache_name, self)
67
+ end
68
+ end
69
+ alias assign_attributes body=
70
+
71
+ # === COMMANDS ===
72
+
73
+ def retrieve
74
+ result = @database.request("GET", "_api/view/#{@name}")
75
+ return result.headers[:"x-arango-async-id"] if @server.async == :store
76
+ return_element(result)
77
+ end
78
+
79
+ def manage_properties(method, url, consolidation_interval_msec: nil, threshold: nil, segment_threshold: nil, cleanup_interval_step: nil)
80
+ body = {
81
+ properties: {
82
+ links: @links.empty? ? nil : @links,
83
+ consolidationIntervalMsec: consolidation_interval_msec,
84
+ consolidationPolicy: {
85
+ threshold: threshold,
86
+ segmentThreshold: segment_threshold
87
+ },
88
+ cleanupIntervalStep: cleanup_interval_step
89
+ }
90
+ }
91
+ if method == "POST"
92
+ body[:type] = @type
93
+ body[:name] = @name
94
+ end
95
+ body[:properties][:consolidationPolicy].delete_if{|k,v| v.nil?}
96
+ body[:properties].delete(:consolidationPolicy) if body[:properties][:consolidationPolicy].empty?
97
+ body[:properties].delete_if{|k,v| v.nil?}
98
+ body.delete(:properties) if body[:properties].empty?
99
+ body.delete_if{|k,v| v.nil?}
100
+ result = @database.request(method, url, body: body)
101
+ return_element(result)
102
+ end
103
+ private :manage_properties
104
+
105
+ def create(consolidation_interval_msec: nil, threshold: nil, segment_threshold: nil, cleanup_interval_step: nil)
106
+ manage_properties("POST", "_api/view", consolidation_interval_msec: consolidation_interval_msec, threshold: threshold, segment_threshold: segment_threshold, cleanup_interval_step: cleanup_interval_step)
107
+ end
108
+
109
+ def replace_properties(consolidation_interval_msec: nil, threshold: nil, segment_threshold: nil, cleanup_interval_step: nil)
110
+ manage_properties("PUT", "_api/view/#{@name}/properties", consolidation_interval_msec: consolidation_interval_msec, threshold: threshold, segment_threshold: segment_threshold, cleanup_interval_step: cleanup_interval_step)
111
+ end
112
+
113
+ def update_properties(consolidation_interval_msec: nil, threshold: nil, segment_threshold: nil, cleanup_interval_step: nil)
114
+ manage_properties("PATCH", "_api/view/#{@name}/properties", consolidation_interval_msec: consolidation_interval_msec, threshold: threshold, segment_threshold: segment_threshold, cleanup_interval_step: cleanup_interval_step)
115
+ end
116
+
117
+
118
+ def properties
119
+ @database.request("GET", "_api/view/#{@name}/properties")
120
+ end
121
+
122
+
123
+ end
124
+ end
@@ -0,0 +1,25 @@
1
+ module Arango
2
+ module View
3
+ module Basics
4
+ def exist?
5
+
6
+ end
7
+ alias exists? exist?
8
+
9
+ def info
10
+
11
+
12
+ end
13
+
14
+ def rename(name:)
15
+ body = {name: name}
16
+ result = @database.request("PUT", "_api/view/#{@name}/rename", body: body)
17
+ return_element(result)
18
+ end#
19
+
20
+ def drop
21
+ @database.request("DELETE", "_api/view/#{@name}", key: :result)
22
+ end
23
+ end
24
+ end
25
+ end
metadata ADDED
@@ -0,0 +1,296 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: arango-driver
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.5.0.alpha0
5
+ platform: ruby
6
+ authors:
7
+ - Stefano Martin
8
+ - Jan Biedermann
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2019-09-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '5.2'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '5.2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: isomorfeus-redux
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 4.0.14
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 4.0.14
42
+ - !ruby/object:Gem::Dependency
43
+ name: oj
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 3.9.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 3.9.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: opal
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.0.0
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 1.0.0
70
+ - !ruby/object:Gem::Dependency
71
+ name: typhoeus
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 1.3.1
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: 1.3.1
84
+ - !ruby/object:Gem::Dependency
85
+ name: method_source
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: parser
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: unparser
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: opal-webpack-loader
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 0.9.6
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 0.9.6
140
+ - !ruby/object:Gem::Dependency
141
+ name: rake
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: rspec
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: 3.8.0
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: 3.8.0
168
+ - !ruby/object:Gem::Dependency
169
+ name: simplecov
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: 0.17.0
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: 0.17.0
182
+ - !ruby/object:Gem::Dependency
183
+ name: yard
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: 0.9.20
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: 0.9.20
196
+ description: Ruby driver for ArangoDB's HTTP API
197
+ email:
198
+ - jan@kursator.de
199
+ executables: []
200
+ extensions: []
201
+ extra_rdoc_files: []
202
+ files:
203
+ - LICENSE
204
+ - README.md
205
+ - arango_opal.js
206
+ - lib/arango-driver.rb
207
+ - lib/arango.rb
208
+ - lib/arango/aql.rb
209
+ - lib/arango/collection.rb
210
+ - lib/arango/collection/documents.rb
211
+ - lib/arango/collection/edges.rb
212
+ - lib/arango/collection/importing.rb
213
+ - lib/arango/collection/indexes.rb
214
+ - lib/arango/collection/replication.rb
215
+ - lib/arango/collection/user.rb
216
+ - lib/arango/cursor.rb
217
+ - lib/arango/database.rb
218
+ - lib/arango/database/analyzer.rb
219
+ - lib/arango/database/aql_functions.rb
220
+ - lib/arango/database/aql_queries.rb
221
+ - lib/arango/database/aql_query_cache.rb
222
+ - lib/arango/database/collections.rb
223
+ - lib/arango/database/foxx_services.rb
224
+ - lib/arango/database/graph_access.rb
225
+ - lib/arango/database/http_route.rb
226
+ - lib/arango/database/replication.rb
227
+ - lib/arango/database/stream_transactions.rb
228
+ - lib/arango/database/tasks.rb
229
+ - lib/arango/database/transactions.rb
230
+ - lib/arango/database/user.rb
231
+ - lib/arango/database/view_access.rb
232
+ - lib/arango/document.rb
233
+ - lib/arango/edge.rb
234
+ - lib/arango/error.rb
235
+ - lib/arango/error_db.rb
236
+ - lib/arango/foxx.rb
237
+ - lib/arango/graph.rb
238
+ - lib/arango/graph/basics.rb
239
+ - lib/arango/graph/edge_access.rb
240
+ - lib/arango/graph/vertex_access.rb
241
+ - lib/arango/helper/collection_assignment.rb
242
+ - lib/arango/helper/database_assignment.rb
243
+ - lib/arango/helper/request_method.rb
244
+ - lib/arango/helper/return.rb
245
+ - lib/arango/helper/satisfaction.rb
246
+ - lib/arango/helper/server_assignment.rb
247
+ - lib/arango/helper/traversal.rb
248
+ - lib/arango/index.rb
249
+ - lib/arango/replication.rb
250
+ - lib/arango/request.rb
251
+ - lib/arango/request_batch.rb
252
+ - lib/arango/result.rb
253
+ - lib/arango/search_view.rb
254
+ - lib/arango/server.rb
255
+ - lib/arango/server/administration.rb
256
+ - lib/arango/server/agency.rb
257
+ - lib/arango/server/async.rb
258
+ - lib/arango/server/batch.rb
259
+ - lib/arango/server/config.rb
260
+ - lib/arango/server/databases.rb
261
+ - lib/arango/server/monitoring.rb
262
+ - lib/arango/server/opal_support.rb
263
+ - lib/arango/server/tasks.rb
264
+ - lib/arango/server/user.rb
265
+ - lib/arango/task.rb
266
+ - lib/arango/transaction.rb
267
+ - lib/arango/traversal.rb
268
+ - lib/arango/user.rb
269
+ - lib/arango/version.rb
270
+ - lib/arango/vertex.rb
271
+ - lib/arango/view.rb
272
+ - lib/arango/view/basics.rb
273
+ homepage: https://github.com/isomorfeus/arango-driver
274
+ licenses:
275
+ - MIT
276
+ metadata: {}
277
+ post_install_message:
278
+ rdoc_options: []
279
+ require_paths:
280
+ - lib
281
+ required_ruby_version: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ required_rubygems_version: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ">"
289
+ - !ruby/object:Gem::Version
290
+ version: 1.3.1
291
+ requirements: []
292
+ rubygems_version: 3.0.6
293
+ signing_key:
294
+ specification_version: 4
295
+ summary: A simple ruby client for ArangoDB >= 3.5
296
+ test_files: []