Ashikawa Core

This gem is not maintained. If you want to take over the project, please contact

Project Ashikawa::Core
Documentation RubyDoc
CI Build Status
Code Metrics Code Climate Code Climate Coverage
Inline docs Inline docs
Gem Version Gem Version
Dependencies Dependency Status

Ashikawa Core is a Wrapper around the ArangoDB Rest API. It provides low level access and is intended to be used in ArangoDB ODMs and other projects related to the database. It is always working with the stable version of ArangoDB, this is currently version 2.4.

All tests run on Travis CI for the following versions of Ruby:

  • MRI 1.9.3, 2.1.5 and 2.2.0
  • JRuby 1.7.12

How to install it?

shell gem install ashikawa-core

or, when using bundler:

ruby gem "ashikawa-core"

How to Setup a Connection?

We want to provide you with as much flexibility as possible. So you can choose which adapter to use for HTTP (choose from the adapters available for Faraday) and what you want to use for logging (basically anything that has an info method that takes a String). It defaults to Net::HTTP and no logging:

ruby database = do |config| config.url = "http://localhost:8529" end

If you want to access the my_db database of your ArangoDB instance (and not the _system database) and connect as a certain user, do the following:

ruby database = do |config| config.url = "http://localhost:8529" configl.database_name = 'my_db' config.username = "lebowski" config.password = "i<3bowling" end

But you could for example use Typhoeus for HTTP and yell for logging:

```ruby require “typhoeus” require “yell”

logger =

database = do |config| config.url = “http://localhost:8529” config.adapter = :typhoeus config.logger = logger end ```

For a detailed description on how to use Ashikawa::Core please refer to the documentation. An example:

ruby database["my_collection"] # => Returns the collection my_collection – creates it, if it doesn't exist database["my_collection"].name = "new_name" database["new_name"].delete

Issues or Questions

If you find a bug in this gem, please report it on our tracker. If you have a question, just contact us via the mailing list – we are happy to help you :smile:


If you want to contribute to the project, see for details. It contains information on our process and how to set up everything. The following people have contributed to this project: