arangodb-driver 3.10.4 → 3.10.4.1

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 (290) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +9 -11
  4. data/lib/arango/aql.rb +75 -9
  5. data/lib/arango/cursor.rb +6 -1
  6. data/lib/arango/database/analyzer.rb +3 -0
  7. data/lib/arango/database/aql_functions.rb +2 -0
  8. data/lib/arango/database/aql_queries.rb +2 -0
  9. data/lib/arango/database/aql_query_cache.rb +2 -0
  10. data/lib/arango/database/collections.rb +2 -0
  11. data/lib/arango/database/document_collections.rb +4 -2
  12. data/lib/arango/database/edge_collections.rb +2 -0
  13. data/lib/arango/database/foxx_services.rb +3 -0
  14. data/lib/arango/database/graphs.rb +2 -0
  15. data/lib/arango/database/http_route.rb +4 -1
  16. data/lib/arango/database/replication.rb +3 -1
  17. data/lib/arango/database/stream_transactions.rb +3 -0
  18. data/lib/arango/database/system_collections.rb +2 -0
  19. data/lib/arango/database/tasks.rb +2 -0
  20. data/lib/arango/database/transactions.rb +4 -1
  21. data/lib/arango/database/user.rb +2 -0
  22. data/lib/arango/database/view_access.rb +2 -0
  23. data/lib/arango/database.rb +4 -2
  24. data/lib/arango/document/base.rb +2 -0
  25. data/lib/arango/document/class_methods.rb +2 -0
  26. data/lib/arango/document/instance_methods.rb +2 -0
  27. data/lib/arango/document/mixin.rb +2 -0
  28. data/lib/arango/document.rb +3 -0
  29. data/lib/arango/document_collection/base.rb +2 -0
  30. data/lib/arango/document_collection/class_methods.rb +2 -0
  31. data/lib/arango/document_collection/documents.rb +2 -0
  32. data/lib/arango/document_collection/importing.rb +2 -0
  33. data/lib/arango/document_collection/indexes.rb +2 -0
  34. data/lib/arango/document_collection/instance_methods.rb +2 -0
  35. data/lib/arango/document_collection/mixin.rb +2 -0
  36. data/lib/arango/document_collection/replication.rb +2 -0
  37. data/lib/arango/document_collection/user.rb +2 -0
  38. data/lib/arango/driver/typhoeus.rb +2 -0
  39. data/lib/arango/edge/base.rb +2 -0
  40. data/lib/arango/edge/class_methods.rb +2 -0
  41. data/lib/arango/edge/instance_methods.rb +2 -0
  42. data/lib/arango/edge/mixin.rb +2 -0
  43. data/lib/arango/edge_collection/base.rb +2 -0
  44. data/lib/arango/edge_collection/class_methods.rb +2 -0
  45. data/lib/arango/edge_collection/edge_acces_2.rb +20 -20
  46. data/lib/arango/edge_collection/edges.rb +2 -0
  47. data/lib/arango/edge_collection/instance_methods.rb +2 -0
  48. data/lib/arango/edge_collection/mixin.rb +2 -0
  49. data/lib/arango/error.rb +5 -1
  50. data/lib/arango/error_db.rb +9 -0
  51. data/lib/arango/foxx.rb +3 -2
  52. data/lib/arango/graph/base.rb +2 -0
  53. data/lib/arango/graph/class_methods.rb +5 -2
  54. data/lib/arango/graph/definition.rb +2 -0
  55. data/lib/arango/graph/instance_methods.rb +7 -3
  56. data/lib/arango/graph/mixin.rb +2 -0
  57. data/lib/arango/helper/database_assignment.rb +2 -0
  58. data/lib/arango/helper/satisfaction.rb +2 -0
  59. data/lib/arango/helper/server_assignment.rb +2 -0
  60. data/lib/arango/index.rb +20 -3
  61. data/lib/arango/replication.rb +3 -2
  62. data/lib/arango/request.rb +67 -0
  63. data/lib/arango/requests/administration/availability.rb +3 -0
  64. data/lib/arango/requests/administration/cluster_endpoints.rb +3 -0
  65. data/lib/arango/requests/administration/create_task.rb +3 -0
  66. data/lib/arango/requests/administration/create_task_id.rb +3 -0
  67. data/lib/arango/requests/administration/delete_task.rb +3 -0
  68. data/lib/arango/requests/administration/echo.rb +3 -0
  69. data/lib/arango/requests/administration/endpoints.rb +3 -0
  70. data/lib/arango/requests/administration/engine.rb +3 -0
  71. data/lib/arango/requests/administration/execute.rb +3 -0
  72. data/lib/arango/requests/administration/get_log_level.rb +3 -0
  73. data/lib/arango/requests/administration/get_mode.rb +3 -0
  74. data/lib/arango/requests/administration/get_task.rb +3 -0
  75. data/lib/arango/requests/administration/list_tasks.rb +2 -0
  76. data/lib/arango/requests/administration/log.rb +2 -0
  77. data/lib/arango/requests/administration/metrics.rb +2 -0
  78. data/lib/arango/requests/administration/reload_routing.rb +2 -0
  79. data/lib/arango/requests/administration/role.rb +2 -0
  80. data/lib/arango/requests/administration/server_id.rb +2 -0
  81. data/lib/arango/requests/administration/set_log_level.rb +2 -0
  82. data/lib/arango/requests/administration/set_mode.rb +2 -0
  83. data/lib/arango/requests/administration/statistics.rb +2 -0
  84. data/lib/arango/requests/administration/statistics_description.rb +2 -0
  85. data/lib/arango/requests/administration/status.rb +2 -0
  86. data/lib/arango/requests/administration/target_version.rb +2 -0
  87. data/lib/arango/requests/administration/time.rb +2 -0
  88. data/lib/arango/requests/administration/version.rb +2 -0
  89. data/lib/arango/requests/analyzer/create.rb +3 -0
  90. data/lib/arango/requests/analyzer/delete.rb +3 -0
  91. data/lib/arango/requests/analyzer/get.rb +3 -0
  92. data/lib/arango/requests/analyzer/list.rb +3 -0
  93. data/lib/arango/requests/aql/clear_query_result_cache.rb +3 -0
  94. data/lib/arango/requests/aql/create_function.rb +3 -0
  95. data/lib/arango/requests/aql/current_queries.rb +3 -0
  96. data/lib/arango/requests/aql/delete_function.rb +4 -0
  97. data/lib/arango/requests/aql/delete_slow_query_list.rb +3 -0
  98. data/lib/arango/requests/aql/explain.rb +3 -0
  99. data/lib/arango/requests/aql/get_query_result_cache_properties.rb +3 -0
  100. data/lib/arango/requests/aql/get_query_tracking_properties.rb +3 -0
  101. data/lib/arango/requests/aql/get_slow_query_list.rb +3 -0
  102. data/lib/arango/requests/aql/kill_query.rb +4 -0
  103. data/lib/arango/requests/aql/list_functions.rb +2 -0
  104. data/lib/arango/requests/aql/parse.rb +2 -0
  105. data/lib/arango/requests/aql/query_result_cache_entries.rb +2 -0
  106. data/lib/arango/requests/aql/set_query_result_cache_properties.rb +2 -0
  107. data/lib/arango/requests/aql/set_query_tracking_properties.rb +2 -0
  108. data/lib/arango/requests/backup/create.rb +3 -0
  109. data/lib/arango/requests/backup/delete.rb +3 -0
  110. data/lib/arango/requests/backup/download.rb +3 -0
  111. data/lib/arango/requests/backup/list.rb +3 -0
  112. data/lib/arango/requests/backup/restore.rb +2 -0
  113. data/lib/arango/requests/backup/upload.rb +2 -0
  114. data/lib/arango/requests/bulk/execute.rb +3 -0
  115. data/lib/arango/requests/bulk/export.rb +3 -0
  116. data/lib/arango/requests/bulk/import_document.rb +3 -0
  117. data/lib/arango/requests/bulk/import_json.rb +3 -0
  118. data/lib/arango/requests/cluster/health.rb +3 -0
  119. data/lib/arango/requests/cluster/maintenance.rb +2 -0
  120. data/lib/arango/requests/cluster/statistics.rb +3 -1
  121. data/lib/arango/requests/collection/checksum.rb +3 -0
  122. data/lib/arango/requests/collection/count.rb +3 -0
  123. data/lib/arango/requests/collection/create.rb +3 -0
  124. data/lib/arango/requests/collection/delete.rb +3 -0
  125. data/lib/arango/requests/collection/get.rb +3 -0
  126. data/lib/arango/requests/collection/get_properties.rb +3 -0
  127. data/lib/arango/requests/collection/list_all.rb +3 -0
  128. data/lib/arango/requests/collection/load.rb +2 -0
  129. data/lib/arango/requests/collection/load_indexes_into_memory.rb +2 -0
  130. data/lib/arango/requests/collection/recalculate_count.rb +2 -0
  131. data/lib/arango/requests/collection/rename.rb +2 -0
  132. data/lib/arango/requests/collection/responsible_shard.rb +2 -0
  133. data/lib/arango/requests/collection/revision.rb +2 -0
  134. data/lib/arango/requests/collection/rotate_journal.rb +2 -0
  135. data/lib/arango/requests/collection/set_properties.rb +2 -0
  136. data/lib/arango/requests/collection/shards.rb +2 -0
  137. data/lib/arango/requests/collection/statistics.rb +2 -0
  138. data/lib/arango/requests/collection/truncate.rb +2 -0
  139. data/lib/arango/requests/collection/unload.rb +3 -1
  140. data/lib/arango/requests/cursor/create.rb +3 -0
  141. data/lib/arango/requests/cursor/delete.rb +3 -0
  142. data/lib/arango/requests/cursor/next_batch.rb +2 -0
  143. data/lib/arango/requests/database/create.rb +3 -0
  144. data/lib/arango/requests/database/delete.rb +3 -0
  145. data/lib/arango/requests/database/get_information.rb +3 -0
  146. data/lib/arango/requests/database/list_accessible.rb +3 -0
  147. data/lib/arango/requests/database/list_all.rb +3 -0
  148. data/lib/arango/requests/document/create.rb +3 -0
  149. data/lib/arango/requests/document/create_multiple.rb +3 -0
  150. data/lib/arango/requests/document/delete.rb +3 -0
  151. data/lib/arango/requests/document/delete_multiple.rb +3 -0
  152. data/lib/arango/requests/document/get.rb +3 -0
  153. data/lib/arango/requests/document/get_multiple.rb +3 -0
  154. data/lib/arango/requests/document/head.rb +3 -0
  155. data/lib/arango/requests/document/replace.rb +2 -0
  156. data/lib/arango/requests/document/replace_multiple.rb +2 -0
  157. data/lib/arango/requests/document/update.rb +2 -0
  158. data/lib/arango/requests/document/update_multiple.rb +2 -0
  159. data/lib/arango/requests/foxx/commit.rb +3 -0
  160. data/lib/arango/requests/foxx/description.rb +3 -0
  161. data/lib/arango/requests/foxx/disable_development_mode.rb +3 -0
  162. data/lib/arango/requests/foxx/download_bundle.rb +3 -0
  163. data/lib/arango/requests/foxx/enable_development_mode.rb +3 -0
  164. data/lib/arango/requests/foxx/get_configuration.rb +3 -0
  165. data/lib/arango/requests/foxx/get_dependencies.rb +3 -0
  166. data/lib/arango/requests/foxx/install.rb +3 -0
  167. data/lib/arango/requests/foxx/list_all.rb +3 -0
  168. data/lib/arango/requests/foxx/list_scripts.rb +2 -0
  169. data/lib/arango/requests/foxx/readme.rb +2 -0
  170. data/lib/arango/requests/foxx/replace.rb +2 -0
  171. data/lib/arango/requests/foxx/replace_configuration.rb +2 -0
  172. data/lib/arango/requests/foxx/replace_dependencies.rb +2 -0
  173. data/lib/arango/requests/foxx/run_script.rb +2 -0
  174. data/lib/arango/requests/foxx/run_tests.rb +2 -0
  175. data/lib/arango/requests/foxx/swagger.rb +2 -0
  176. data/lib/arango/requests/foxx/uninstall.rb +2 -0
  177. data/lib/arango/requests/foxx/update_configuration.rb +2 -0
  178. data/lib/arango/requests/foxx/update_dependencies.rb +2 -0
  179. data/lib/arango/requests/foxx/upgrade.rb +3 -1
  180. data/lib/arango/requests/graph/add_edge_definition.rb +2 -0
  181. data/lib/arango/requests/graph/add_vertex_collection.rb +2 -0
  182. data/lib/arango/requests/graph/create.rb +3 -0
  183. data/lib/arango/requests/graph/create_edge.rb +3 -0
  184. data/lib/arango/requests/graph/create_vertex.rb +3 -0
  185. data/lib/arango/requests/graph/delete.rb +3 -0
  186. data/lib/arango/requests/graph/delete_edge.rb +3 -0
  187. data/lib/arango/requests/graph/delete_vertex.rb +3 -0
  188. data/lib/arango/requests/graph/get.rb +3 -0
  189. data/lib/arango/requests/graph/get_edge.rb +3 -0
  190. data/lib/arango/requests/graph/get_vertex.rb +3 -0
  191. data/lib/arango/requests/graph/list_all.rb +3 -0
  192. data/lib/arango/requests/graph/list_edge_definitions.rb +2 -0
  193. data/lib/arango/requests/graph/list_vertex_collections.rb +2 -0
  194. data/lib/arango/requests/graph/remove_edge_definition.rb +2 -0
  195. data/lib/arango/requests/graph/remove_vertex_collection.rb +2 -0
  196. data/lib/arango/requests/graph/replace_edge.rb +2 -0
  197. data/lib/arango/requests/graph/replace_edge_definition.rb +2 -0
  198. data/lib/arango/requests/graph/replace_vertex.rb +2 -0
  199. data/lib/arango/requests/graph/update_edge.rb +2 -0
  200. data/lib/arango/requests/graph/update_vertex.rb +2 -0
  201. data/lib/arango/requests/graph_edges/read.rb +2 -0
  202. data/lib/arango/requests/graph_traversal/execute.rb +3 -0
  203. data/lib/arango/requests/index/create.rb +3 -0
  204. data/lib/arango/requests/index/delete.rb +3 -0
  205. data/lib/arango/requests/index/get.rb +3 -0
  206. data/lib/arango/requests/index/list_all.rb +3 -0
  207. data/lib/arango/requests/job/cancel.rb +3 -0
  208. data/lib/arango/requests/job/delete.rb +3 -0
  209. data/lib/arango/requests/job/get.rb +3 -0
  210. data/lib/arango/requests/job/list.rb +3 -0
  211. data/lib/arango/requests/job/result.rb +2 -0
  212. data/lib/arango/requests/replication/create_dump_batch.rb +3 -0
  213. data/lib/arango/requests/replication/delete_dump_batch.rb +3 -0
  214. data/lib/arango/requests/replication/get_applier_config.rb +3 -0
  215. data/lib/arango/requests/replication/get_applier_state.rb +3 -0
  216. data/lib/arango/requests/replication/get_cluster_inventory.rb +3 -0
  217. data/lib/arango/requests/replication/get_dump.rb +3 -0
  218. data/lib/arango/requests/replication/get_inventory.rb +3 -0
  219. data/lib/arango/requests/replication/get_last_tick.rb +3 -0
  220. data/lib/arango/requests/replication/get_log_first_tick.rb +3 -0
  221. data/lib/arango/requests/replication/get_log_follow.rb +3 -0
  222. data/lib/arango/requests/replication/get_logger_state.rb +3 -0
  223. data/lib/arango/requests/replication/get_logger_tick_ranges.rb +3 -0
  224. data/lib/arango/requests/replication/get_server_id.rb +3 -0
  225. data/lib/arango/requests/replication/get_tail.rb +3 -0
  226. data/lib/arango/requests/replication/get_tick_ranges.rb +3 -0
  227. data/lib/arango/requests/replication/make_slave.rb +2 -0
  228. data/lib/arango/requests/replication/prolong_dump_batch.rb +2 -0
  229. data/lib/arango/requests/replication/set_applier_config.rb +2 -0
  230. data/lib/arango/requests/replication/start_applier.rb +2 -0
  231. data/lib/arango/requests/replication/stop_applier.rb +2 -0
  232. data/lib/arango/requests/replication/synchronize.rb +2 -0
  233. data/lib/arango/requests/task/all.rb +2 -0
  234. data/lib/arango/requests/task/create.rb +3 -0
  235. data/lib/arango/requests/task/create_with_id.rb +3 -0
  236. data/lib/arango/requests/task/delete.rb +3 -0
  237. data/lib/arango/requests/task/get.rb +3 -0
  238. data/lib/arango/requests/transaction/begin.rb +3 -0
  239. data/lib/arango/requests/transaction/commit.rb +3 -0
  240. data/lib/arango/requests/transaction/delete.rb +3 -0
  241. data/lib/arango/requests/transaction/execute.rb +3 -0
  242. data/lib/arango/requests/transaction/list_running.rb +2 -0
  243. data/lib/arango/requests/transaction/status.rb +2 -0
  244. data/lib/arango/requests/user/clear_collection_access_level.rb +3 -0
  245. data/lib/arango/requests/user/clear_database_access_level.rb +3 -0
  246. data/lib/arango/requests/user/create.rb +3 -0
  247. data/lib/arango/requests/user/delete.rb +3 -0
  248. data/lib/arango/requests/user/get.rb +3 -0
  249. data/lib/arango/requests/user/get_collection_access_level.rb +3 -0
  250. data/lib/arango/requests/user/get_database_access_level.rb +3 -0
  251. data/lib/arango/requests/user/list_all.rb +3 -1
  252. data/lib/arango/requests/user/list_databases.rb +2 -0
  253. data/lib/arango/requests/user/replace.rb +2 -0
  254. data/lib/arango/requests/user/set_collection_access_level.rb +2 -0
  255. data/lib/arango/requests/user/set_database_access_level.rb +2 -0
  256. data/lib/arango/requests/user/update.rb +2 -0
  257. data/lib/arango/requests/view/create_search_view.rb +3 -0
  258. data/lib/arango/requests/view/delete.rb +4 -1
  259. data/lib/arango/requests/view/get.rb +3 -0
  260. data/lib/arango/requests/view/get_properties.rb +3 -0
  261. data/lib/arango/requests/view/list_all.rb +2 -0
  262. data/lib/arango/requests/view/rename.rb +2 -0
  263. data/lib/arango/requests/view/set_search_view_properties.rb +3 -1
  264. data/lib/arango/requests/view/update_search_view_properties.rb +2 -0
  265. data/lib/arango/requests/wal/flush.rb +3 -0
  266. data/lib/arango/requests/wal/get_properties.rb +4 -0
  267. data/lib/arango/requests/wal/set_properties.rb +2 -0
  268. data/lib/arango/requests/wal/transactions.rb +2 -0
  269. data/lib/arango/result.rb +4 -0
  270. data/lib/arango/search_view.rb +5 -1
  271. data/lib/arango/server/administration.rb +5 -1
  272. data/lib/arango/server/agency.rb +2 -0
  273. data/lib/arango/server/async.rb +3 -1
  274. data/lib/arango/server/databases.rb +2 -0
  275. data/lib/arango/server/monitoring.rb +2 -0
  276. data/lib/arango/server/opal_support.rb +2 -0
  277. data/lib/arango/server/tasks.rb +2 -0
  278. data/lib/arango/server/user.rb +2 -0
  279. data/lib/arango/server.rb +3 -2
  280. data/lib/arango/task.rb +3 -2
  281. data/lib/arango/transaction.rb +3 -2
  282. data/lib/arango/user.rb +78 -39
  283. data/lib/arango/version.rb +2 -1
  284. data/lib/arango/view/basics.rb +6 -0
  285. data/lib/arango/view.rb +3 -2
  286. data/lib/arango.rb +42 -0
  287. data/lib/arangodb-driver.rb +2 -7
  288. metadata +2 -46
  289. data/arango_opal.js +0 -25855
  290. data/lib/arango/document_collection/vertices.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a2b41f2d171312b42060c35661e16339cea0c932339db26eae7a40e0e1b2b54
4
- data.tar.gz: 520ad0f13d405d6a6ebc6012514e5de4b9105856e3510e8540886b6d6ca088f2
3
+ metadata.gz: 6b0e45b676274654db012747ff27323c0f2b9e0e6ef02d7eed84e042dd5c68bb
4
+ data.tar.gz: 9c9e8b171d889b19d4b433c5e2f25b096abf8eec372f5dc8001d8ab150bd1f18
5
5
  SHA512:
6
- metadata.gz: bfe5232d7621188434f82606d8794a27ec6ce0ad1cc04e313bc7d5702c92e21f9207eb964c361b14b86696cdfa9b75e7b81912c55eb5a6adaa507c0e20db3fb3
7
- data.tar.gz: 63c288da51f0395401d6a56fb3ad67287390af356006f94d16156a478cde9ed3d0c6ef47b4c987dedb32f805e9e79be85fb0fd2e93ff7bbe9f996aa12672113f
6
+ metadata.gz: 656efbd84747f9b0beeadaac4d81e47da2418b46ddcf9d56eccdc34c74aa32613b5479e0d04ce854b3fdd7676e0e6d955c67e058fabe5eb037f058773434d36f
7
+ data.tar.gz: 42c306840713aec3f08e287ec09419c97b8995ae7e86a8c3f7bb5450ca39dc7fe4a9e8ac41464c66fa581c29bda44d8b4527527441025b9bf42a45fd075788dd
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 StefanoMartin, 2019 Jan Biedermann
3
+ Copyright (c) 2016 StefanoMartin, 2019 Jan Biedermann, 2023 Klaus Kämpf
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  arangodb-driver
3
3
  <br/>
4
4
  <br/>
5
- <img src="https://raw.githubusercontent.com/isomorfeus/arango-driver/master/docs/arango-driver.png" align="center"/>
5
+ <img src="https://raw.githubusercontent.com/kkaempf/arangodb-driver/master/docs/arangodb-driver.png" align="center"/>
6
6
  </h1>
7
7
 
8
8
  arangodb-driver is a drop-in replacement for the (archived) [arango-driver](https://github.com/janbiedermann/arango-driver).
@@ -21,14 +21,12 @@ The history of arangodb-driver is long and twisted.
21
21
  It started with [ArangoRB](https://github.com/StefanoMartin/ArangoRB), converted to [arango-driver](https://github.com/janbiedermann/arango-driver)
22
22
  and converted again to [arangodb-driver](https://github.com/kkaempf/arangodb-driver).
23
23
 
24
- The main purpose of the last rename was to get it published at [rubygems.org](https://rubygems.org)
24
+ The main purpose of the last rename was to get it published at [rubygems.org](https://rubygems.org/gems/arangodb-driver)
25
25
 
26
26
  ## Installation
27
27
 
28
- This doesnt work yet, gem not published yet:
29
28
  To install arangodb-driver: `gem install arangodb-driver`
30
29
  To use it in your application: `require "arangodb-driver"`
31
- Please install from the repo instead.
32
30
 
33
31
  ## Community and Support
34
32
 
@@ -90,7 +88,7 @@ Password is a mandatory field.
90
88
 
91
89
  ### Returning results
92
90
 
93
- arangodb-driver try always to store the information obtained from ArangoDB in an instance.
91
+ arangodb-driver tries always to store the information obtained from ArangoDB in an instance.
94
92
  If you need to receive the output, you can return it with:
95
93
 
96
94
  ``` ruby
@@ -440,11 +438,11 @@ It means that we skip the first three Documents, we can retrieve the next 100 Do
440
438
  To retrieve specific Document you can use:
441
439
 
442
440
  ``` ruby
443
- myCollection.documentsMatch match: {value: 4} # All Documents of the Collection with value equal to 4
444
- myCollection.documentMatch match: {value: 4} # The first Document of the Collection with value equal to 4
445
- myCollection.documentByKeys keys: ["4546", "4646"] # Documents of the Collection with the keys in the Array
441
+ myCollection.documentsMatch match: {value: 4} # All Documents of the Collection with value equal to 4
442
+ myCollection.documentMatch match: {value: 4} # The first Document of the Collection with value equal to 4
443
+ myCollection.documentByKeys keys: ["4546", "4646"] # Documents of the Collection with the keys in the Array
446
444
  myCollection.documentByName names: ["4546", "4646"] # Documents of the Collection with the name in the Array
447
- myCollection.random # A random Document of the Collection
445
+ myCollection.random # A random Document of the Collection
448
446
  ```
449
447
 
450
448
  #### Modifying multiple documents
@@ -476,7 +474,7 @@ One-to-more with one Edge class (and More-to-one with one Edge class)
476
474
  * [myDocA] --(myEdge)--> [myDocB]
477
475
  * [myDocA] --(myEdge)--> [myDocC]
478
476
 
479
- ``` ruby
477
+ ``` ruby
480
478
  myEdgeCollection.createEdges document: myEdge, from: myDocA, to: [myDocB, myDocC]
481
479
  ```
482
480
 
@@ -487,7 +485,7 @@ More-to-More with one Edge class
487
485
  * [myDocA] --(myEdge)--> [myDocD]
488
486
  * [myDocB] --(myEdge)--> [myDocD]
489
487
 
490
- ``` ruby
488
+ ``` ruby
491
489
  myEdgeCollection.createEdges document: myEdge, from: [myDocA, myDocB], to: [myDocC, myDocD]
492
490
  ```
493
491
 
data/lib/arango/aql.rb CHANGED
@@ -1,18 +1,21 @@
1
- # === AQL ===
2
-
3
1
  module Arango
2
+ #
3
+ # Arango Query Language
4
+ #
4
5
  class AQL
5
6
  include Arango::Helper::Satisfaction
6
7
 
7
8
  class << self
8
9
 
9
- # id: the query’s id
10
- # query: the query string (potentially truncated)
11
- # bindVars: the bind parameter values used by the query
12
- # started: the date and time when the query was started
13
- # runTime: the query’s run time up to the point the list of queries was queried
14
- # state: the querys current execution state (as a string)
15
- # stream: whether or not the query uses a streaming cursor
10
+ # @param query_hash [Hash]
11
+ # * id: the query's id
12
+ # * query: the query string (potentially truncated)
13
+ # * bindVars: the bind parameter values used by the query
14
+ # * started: the date and time when the query was started
15
+ # * runTime: the query's run time up to the point the list of queries was queried
16
+ # * state: the query's current execution state (as a string)
17
+ # * stream: whether or not the query uses a streaming cursor
18
+ # @return [Arango::AQL]
16
19
  def from_result_hash(query_hash)
17
20
  new_query_hash = query_hash.transform_keys { |k| k.to_s.underscore.to_sym }
18
21
  new_query_hash[:query_id] = query_hash.delete(:id)
@@ -20,6 +23,33 @@ module Arango
20
23
  end
21
24
  end
22
25
 
26
+ # Create a new AQL query
27
+ # @param query
28
+ # @param database
29
+ # @param batch_size
30
+ # @param bind_vars
31
+ # @param cache
32
+ # @param count
33
+ # @param fail_on_warning
34
+ # @param full_count
35
+ # @param intermediate_commit_count
36
+ # @param intermediate_commit_size
37
+ # @param max_plans
38
+ # @param max_transaction_size
39
+ # @param max_warning_count
40
+ # @param memory_limit
41
+ # @param optimizer_rules
42
+ # @param profile
43
+ # @param satellite_sync_wait
44
+ # @param skip_inaccessible_collections
45
+ # @param ttl
46
+ # @param query_id
47
+ # @param run_time
48
+ # @param started
49
+ # @param state
50
+ # @param stream
51
+ # @param block
52
+ # @param &ruby_block
23
53
  def initialize(query:, database:, batch_size: nil, bind_vars: nil, cache: nil, count: nil, fail_on_warning: nil, full_count: nil,
24
54
  intermediate_commit_count: nil, intermediate_commit_size: nil, max_plans: nil, max_transaction_size: nil,
25
55
  max_warning_count: nil, memory_limit: nil, optimizer_rules: nil, profile: nil, satellite_sync_wait: nil,
@@ -65,6 +95,8 @@ module Arango
65
95
  send(:optimizer_rules=, optimizer_rules) if optimizer_rules
66
96
  end
67
97
 
98
+ # set optimizer rules
99
+ # @param attrs [Hash]
68
100
  def optimizer_rules=(attrs)
69
101
  @optimizer_rules = attrs
70
102
  if attrs.nil?
@@ -74,6 +106,26 @@ module Arango
74
106
  end
75
107
  end
76
108
 
109
+ # @!attribute [r] failOnWarning
110
+ # @return [Boolean] fail on warning
111
+ # @!attribute [r] fullCount
112
+ # @return [Integer] full count
113
+ # @!attribute [r] intermediateCommitCount
114
+ # @return [Integer] intermediate commit count
115
+ # @!attribute [r] intermediateCommitSize
116
+ # @return [Integer] intermediate commit size
117
+ # @!attribute [r] maxPlans
118
+ # @return [Integer] max plans
119
+ # @!attribute [r] maxTransactionSize
120
+ # @return [Integer] max transaction size
121
+ # @!attribute [r] maxWarningCount
122
+ # @return [Integer] max warning count
123
+ # @!attribute [r] profile
124
+ # @return [Hash] profile
125
+ # @!attribute [r] satelliteSyncWait
126
+ # @return [Boolean] satellite sync wait
127
+ # @!attribute [r] skipInaccessibleCollections
128
+ # @return [Boolean] skip inaccessible collections
77
129
  %w[failOnWarning fullCount intermediateCommitCount intermediateCommitSize maxPlans maxTransactionSize maxWarningCount
78
130
  profile satelliteSyncWait skipInaccessibleCollections].each do |param_name|
79
131
  var_name = param_name.underscore.to_sym
@@ -88,10 +140,14 @@ module Arango
88
140
  attr_reader :server, :cached, :database, :extra, :id, :id_cache, :optimizer_rules, :result
89
141
  attr_reader :run_time, :started, :state, :stream
90
142
 
143
+ # check if more results are pending
144
+ # @return [Boolean]
91
145
  def has_more?
92
146
  @has_more
93
147
  end
94
148
 
149
+ # return Hash representation
150
+ # @return [Hash]
95
151
  def to_h
96
152
  {
97
153
  batchSize: @batch_size,
@@ -108,6 +164,9 @@ module Arango
108
164
  }.delete_if{|_,v| v.nil?}
109
165
  end
110
166
 
167
+ # run an AQL request
168
+ # @param &block
169
+ # @return [Arango::AQL] (if no block passed)
111
170
  def request
112
171
  body = {
113
172
  batchSize: @batch_size,
@@ -125,10 +184,13 @@ module Arango
125
184
  @block ? @block.call(self, result) : self
126
185
  end
127
186
 
187
+ # see {request}
128
188
  def execute
129
189
  request
130
190
  end
131
191
 
192
+ # get next result of query
193
+ # @return [Arango::AQL]
132
194
  def next
133
195
  if @has_more
134
196
  result = Arango::Requests::Cursor::NextBatch.execute(server: @server, args: { id: @id })
@@ -139,11 +201,13 @@ module Arango
139
201
  end
140
202
  end
141
203
 
204
+ # delete current query
142
205
  def delete
143
206
  Arango::Requests::Cursor::Delete.execute(server: @server, args: { id: @id })
144
207
  true
145
208
  end
146
209
 
210
+ # kill current query
147
211
  def kill
148
212
  Arango::Requests::AQL::KillQuery.execute(server: @server, args: { id: @query_id })
149
213
  true
@@ -151,6 +215,7 @@ module Arango
151
215
 
152
216
  # === PROPERTY QUERY ===
153
217
 
218
+ # explain current query
154
219
  def explain
155
220
  body = {
156
221
  query: @query,
@@ -160,6 +225,7 @@ module Arango
160
225
  Arango::Requests::AQL::Explain.execute(server: @server, body: body)
161
226
  end
162
227
 
228
+ # parse current query
163
229
  def parse
164
230
  Arango::Requests::AQL::Parse.execute(server: @server, body: { query: @query })
165
231
  end
data/lib/arango/cursor.rb CHANGED
@@ -1,4 +1,9 @@
1
+
1
2
  module Arango
3
+ #
4
+ # Arango Cursor
5
+ # - not implemented -
6
+ #
2
7
  class Cursor
3
8
  def has_next?
4
9
 
@@ -64,4 +69,4 @@ module Arango
64
69
 
65
70
  end
66
71
  end
67
- end
72
+ end
@@ -1,5 +1,8 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database Analyzer
5
+ # - not implemented -
3
6
  module Analyzer
4
7
  def create_analyzer
5
8
  # TODO
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database AQLFunctions
3
5
  module AQLFunctions
4
6
 
5
7
  def list_aql_functions(namespace: nil)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database AQLQueries
3
5
  module AQLQueries
4
6
  def new_aql(query:, batch_size: nil, bind_vars: nil, cache: nil, count: nil, fail_on_warning: nil, full_count: nil,
5
7
  intermediate_commit_count: nil, intermediate_commit_size: nil, max_plans: nil, max_transaction_size: nil,
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database AQLQueryCache
3
5
  module AQLQueryCache
4
6
 
5
7
  def clear_query_cache
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database Collections
3
5
  module Collections
4
6
  # Retrieves all collections from the database.
5
7
  # @param exclude_system [Boolean] Optional, default true, exclude system collections.
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database DocumentCollections
3
5
  module DocumentCollections
4
6
  # Retrieves all document collections from the database.
5
7
  # @param exclude_system [Boolean] Optional, default true, exclude system collections.
@@ -13,9 +15,9 @@ module Arango
13
15
 
14
16
  # Creates a new document collection.
15
17
  # @param name [String] The name of the collection.
16
- # @param type [Symbol] One of :document or :edge, the collection type, optional, default: :document.
18
+ # @param is_system [Boolean] set true to create a system collection, defaults to false
17
19
  # @return [Arango::DocumentCollection::Base] The instance of the collection created.
18
- def create_document_collection(name:, is_system: false)
20
+ def create_document_collection(name:, type: :document, is_system: false)
19
21
  Arango::DocumentCollection::Base.new(name: name, database: self, is_system: is_system).create
20
22
  end
21
23
  def batch_create_document_collection(name:, is_system: false)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database EdgeCollections
3
5
  module EdgeCollections
4
6
  # Retrieves all edge collections from the database.
5
7
  # @param exclude_system [Boolean] Optional, default true, exclude system collections.
@@ -1,5 +1,8 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database FoxxServices
5
+ # - not implemented -
3
6
  module FoxxServices
4
7
  # === FOXX ===
5
8
  def install_service
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database Graphs
3
5
  module Graphs
4
6
  def all_graphs
5
7
  Arango::Graph::Base.all(database: self)
@@ -1,9 +1,12 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database HTTPRoute
5
+ # - not implemented -
3
6
  module HTTPRoute
4
7
  def route
5
8
  # TODO
6
9
  end
7
10
  end
8
11
  end
9
- end
12
+ end
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database Replication
3
5
  module Replication
4
6
  # === REPLICATION ===
5
7
 
@@ -93,4 +95,4 @@ module Arango
93
95
 
94
96
  end
95
97
  end
96
- end
98
+ end
@@ -1,5 +1,8 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database StreamTransactions
5
+ # - not implemented -
3
6
  module StreamTransactions
4
7
  def begin_stream_transaction
5
8
 
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database SystemCollections
3
5
  module SystemCollections
4
6
  # Retrieves all collections from the database.
5
7
  # @param exclude_system [Boolean] Optional, default true, exclude system collections.
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database Tasks
3
5
  module Tasks
4
6
  # Get all tasks.
5
7
  # @return [Array<Arango::Task>]
@@ -1,5 +1,8 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database Transactions
5
+ # - not implemented -
3
6
  module Transactions
4
7
  # === TRANSACTION ===
5
8
 
@@ -12,4 +15,4 @@ module Arango
12
15
  end
13
16
  end
14
17
  end
15
- end
18
+ end
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database User
3
5
  module User
4
6
  def check_user(user)
5
7
  user = Arango::User.new(user: user) if user.is_a?(String)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Database
2
3
  class Database
4
+ # Arango Database ViewAccess
3
5
  module ViewAccess
4
6
  def create_search_view
5
7
  # TODO
@@ -1,6 +1,7 @@
1
- # === DATABASE ===
2
-
3
1
  module Arango
2
+ #
3
+ # Arango Database
4
+ #
4
5
  class Database
5
6
  include Arango::Helper::Satisfaction
6
7
 
@@ -34,6 +35,7 @@ module Arango
34
35
  list_user_databases(server: server).map{ |db| Arango::Database.new(name: db, server: server).reload }
35
36
  end
36
37
 
38
+ # Create a new instance of self
37
39
  def create()
38
40
  self.new.create
39
41
  end
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Document
2
3
  module Document
4
+ # Arango Document Base
3
5
  class Base
4
6
  include Arango::Document::Mixin
5
7
  end
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Document
2
3
  module Document
4
+ # Arango Document ClassMethods
3
5
  module ClassMethods
4
6
  #@!visibility private
5
7
  def self.extended(base)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Document
2
3
  module Document
4
+ # Arango Document InstanceMethods
3
5
  module InstanceMethods
4
6
 
5
7
  attr_accessor :ignore_revs, :wait_for_sync
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Document
2
3
  module Document
4
+ # Arango Document Mixin
3
5
  module Mixin
4
6
  #@!visibility private
5
7
  def self.included(base)
@@ -1,4 +1,7 @@
1
1
  module Arango
2
+ #
3
+ # Arango Document
4
+ #
2
5
  module Document
3
6
  include Arango::Document::Mixin
4
7
  end
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection Base
3
5
  class Base
4
6
  include Arango::DocumentCollection::Mixin
5
7
  end
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection ClassMethods
3
5
  module ClassMethods
4
6
  def new(database: Arango.current_database, graph: nil,
5
7
  name:, id: nil, globally_unique_id: nil, is_system: false, status: nil, type: :document,
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection Documents
3
5
  module Documents
4
6
  def new_document(key: nil, attributes: {}, wait_for_sync: nil)
5
7
  Arango::Document::Base.new(key: key, attributes: attributes, collection: self, wait_for_sync: wait_for_sync)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection Importing
3
5
  module Importing
4
6
  # === IMPORT ===
5
7
 
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection Indexes
3
5
  module Indexes
4
6
  # === INDEXES ===
5
7
  def create_index(type: "hash", fields:, unique: nil, sparse: nil,
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection InstanceMethods
3
5
  module InstanceMethods
4
6
 
5
7
  # Instantiate a new collection.
@@ -1,8 +1,10 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
3
4
  STATES = %i[unknown new_born unloaded loaded being_unloaded deleted loading] # do not sort, index is used
4
5
  TYPES = %i[unknown unknown document edge] # do not sort, index is used
5
6
 
7
+ # Arango DocumentCollection Mixin
6
8
  module Mixin
7
9
  #@!visibility private
8
10
  def self.included(base)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection Replication
3
5
  module Replication
4
6
  # === REPLICATION ===
5
7
 
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango DocumentCollection
2
3
  module DocumentCollection
4
+ # Arango DocumentCollection User
3
5
  module User
4
6
  # === USER ACCESS ===
5
7
 
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Driver
2
3
  module Driver
4
+ # Arango Driver Typhoeus
3
5
  class Typhoeus
4
6
  def initialize(base_uri:, options:)
5
7
  @base_uri = base_uri
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Edge
2
3
  module Edge
4
+ # Arango Edge Base
3
5
  class Base
4
6
  include Arango::Edge::Mixin
5
7
  end
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Edge
2
3
  module Edge
4
+ # Arango Edge ClassMethods
3
5
  module ClassMethods
4
6
  #@!visibility private
5
7
  def self.extended(base)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Edge
2
3
  module Edge
4
+ # Arango Edge InstanceMethods
3
5
  module InstanceMethods
4
6
 
5
7
  def initialize(key: nil, attributes: {}, from: nil, to: nil, edge_collection:, ignore_revs: false, wait_for_sync: false)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango Edge
2
3
  module Edge
4
+ # Arango Edge Mixin
3
5
  module Mixin
4
6
  #@!visibility private
5
7
  def self.included(base)
@@ -1,5 +1,7 @@
1
1
  module Arango
2
+ # Arango EdgeCollection
2
3
  module EdgeCollection
4
+ # Arango EdgeCollection Base
3
5
  class Base
4
6
  include Arango::EdgeCollection::Mixin
5
7
  end