Project | Ashikawa::Core |
---|---|
Homepage | http://triagens.github.io/ashikawa-core/ |
Documentation | RubyDoc |
CI | |
Code Metrics | |
Inline docs | |
Gem Version | |
Dependencies |
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.2.
All tests run on Travis CI for the following versions of Ruby:
- MRI 1.9.3, 2.0.0 and 2.1.2
- JRuby 1.7.12
gem install ashikawa-core
or, when using bundler:
gem "ashikawa-core"
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:
database = Ashikawa::Core::Database.new 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:
database = Ashikawa::Core::Database.new 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:
require "typhoeus"
require "yell"
logger = Yell.new(STDOUT)
database = Ashikawa::Core::Database.new 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:
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
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 😄
If you want to contribute to the project, see CONTRIBUTING.md for details. It contains information on our process and how to set up everything. The following people have contributed to this project:
- Lucas Dohmen (@moonglum): Developer
- Tobias Eilert (@EinLama): Contributor
- Markus Schirp (@mbj): Contributor
- Ettore Berardi (@ettomatic): Contributor
- Samuel Richardson (@Rodeoclash): Contributor
- Nikita Vasiliev (@sharpyfox): Contributor
- Dirk Breuer (@railsbros-dirk): Contributor
- Mike Williamson (@sleepycat): Contributor
- Ujjwal Thaakar (@ujjwalt): Contributor
- René Föhring (@rrrene): Contributor