{"id":15403425,"url":"https://github.com/mbj/axiom-arango-adapter","last_synced_at":"2025-04-16T03:16:48.003Z","repository":{"id":6588252,"uuid":"7830750","full_name":"mbj/axiom-arango-adapter","owner":"mbj","description":"An ArangoDB adapter for Axiom","archived":false,"fork":false,"pushed_at":"2013-06-02T20:52:37.000Z","size":676,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-16T03:16:31.702Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jaredlander/useful","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbj.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-25T23:47:59.000Z","updated_at":"2013-11-05T14:49:39.000Z","dependencies_parsed_at":"2022-09-22T14:24:48.351Z","dependency_job_id":null,"html_url":"https://github.com/mbj/axiom-arango-adapter","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbj%2Faxiom-arango-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbj%2Faxiom-arango-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbj%2Faxiom-arango-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbj%2Faxiom-arango-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbj","download_url":"https://codeload.github.com/mbj/axiom-arango-adapter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249188431,"owners_count":21227015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T16:08:30.744Z","updated_at":"2025-04-16T03:16:47.977Z","avatar_url":"https://github.com/mbj.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"axiom-arango-adapter\n======================\n\n[![Build Status](https://secure.travis-ci.org/mbj/axiom-arango-adapter.png?branch=master)](http://travis-ci.org/mbj/axiom-arango-adapter)\n[![Dependency Status](https://gemnasium.com/mbj/axiom-arango-adapter.png)](https://gemnasium.com/mbj/axiom-arango-adapter)\n[![Code Climate](https://codeclimate.com/github/mbj/axiom-arango-adapter.png)](https://codeclimate.com/github/mbj/axiom-arango-adapter)\n\n[ArangoDB](https://www.arangodb.org) adapter for [axiom](https://github.com/dkubb/axiom).\n\nInstallation\n------------\n\nInstall the gem `axiom-arango-adapter` via your preferred method.\n\nExamples\n--------\n\nSetup a gateway and connect it to ArangDB:\n\n```ruby\nrequire 'axiom-arango-adapter'\nrequire 'logger'\n\n# Connect to ArangoDB\ndatabase = Ashikawa::Core::Database.new('http://localhost:8529')\n\n# Save some people in the database\ncollection = database['people']\n\n[\n  { :id =\u003e 1, :firstname =\u003e \"Jon\", :lastname =\u003e \"Doe\" },\n  { :id =\u003e 2, :firstname =\u003e \"Sue\", :lastname =\u003e \"Doe\" }\n].each do |document|\n  collection.create(document)\nend\n\n# Some logger to see AQL\nlogger = Logger.new($stderr, :debug)\n\n# Instantiating adapter\nadapter = Axiom::Adapter::Arango::Adapter.new(database, logger)\n\n# Setting up a base relation\nheader = Axiom::Relation::Header.coerce([[:id, Integer], [:firstname, String], [:lastname, String]])\nbase   = Axiom::Relation::Base.new(:people, header)\n\n# Creating a gateway\ngateway = adapter.gateway(base)\n\n# Use the gateway with the examples from the axiom README, for example:\ngateway.restrict { |r| r.firstname.eq(\"Sue\") } # restricts to tuples where firstname is \"Sue\"\n```\n\nYou can find more examples in the [axiom README](https://github.com/dkubb/axiom/blob/master/README.md).\n\nFuzzer\n------\n\nAxiom has a fuzzer to assist checking the correctness of the adapter and datastore. To run the fuzzer execute the following:\n\n```\nbundle exec spec/fuzzer.rb\n```\n\nMake sure you run an ArangoDB instance on localhost at the default port!\n\nCredits\n-------\n\n* [Markus Schirp (mbj)](https://github.com/mbj) Author\n* [triAGENS](https://github.com/triAGENS) for sponsoring this work!\n\nContributing\n-------------\n\n* Fork the project.\n* Make your feature addition or bug fix.\n* Add tests for it. This is important so I don't break it in a\n  future version unintentionally.\n* Commit, do not mess with Rakefile or version\n  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)\n* Send me a pull request. Bonus points for topic branches.\n\nLicense\n-------\n\nThis gem is published under the MIT license. See `LICENSE` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbj%2Faxiom-arango-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbj%2Faxiom-arango-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbj%2Faxiom-arango-adapter/lists"}