dagr is a lean and mean ruby client for the go-ipfs api
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
poets
rb
sh
COPYING.md
Gemfile
Gemfile.lock
LICENSE
LICENSE.agpl3
LICENSE.gplv3
README.md

README.md

dagr

dagr is a lean and mean ruby client for the api exposed by an IPFS daemon.

the current go-ipfs version I'm testing dagr against is go-ipfs 0.4.14-dev. some samples on how to use it are available under the poets/ directory

the dagr client is presented as a one-file ruby module under the IPFS namespace, containing three classes:

IPFS::Client     # simple api commands

IPFS::DAGObject  # handles IPFS node manipulation created as unixfs objects

IPFS::DAG        # handles IPFS node manipulation through the plain dag api commands

both DAGObject and DAG make use of IPFS::Client to store and retrieve dag nodes offering convenience methods and operators to walk dag links following the distinct conventions of each approach.

when used in isolation, IPFS::Client offers access to many other simple api subcommands (under the api's key, name, block, etc. commands) for example the method IPFS::Client#publish is a convenient way to access the IPNS name/publish api call.

a number of api calls remain unimplemented, whilst presenting a complete api is not the primary goal of this project, I'll do my best to complete it as needed, and I'll accept any fixes, additions, and suggestions that follow a lean and mean philosophy as a priority over architectural astronautics.

so far, no effort has been made to implement correct error handling, nor correct capitalisation of documentation. It's all going to be embellished once I'm done completing parts of the api I need for another project of mine.