Auginte / scarango

Just another Scala driver for ArangoDB. Designed to be use with Akka and graph structures
Apache License 2.0
2 stars 1 forks source link

Support reactive streams #1

Closed aurelijusb closed 8 years ago

aurelijusb commented 8 years ago

Issue just for better development process: so I could mention issue number in commits and other could see near future plans

Problem

Using akka actors is good for asynchronous operations, but it too verbose for developers. Also using actor pattern, it becomes hard to understand data flow

Solution

Use akka streams for abstraction over HTTP/Request and responses

Expected result

I would like to have something like:

val new Scarango(context)
//...
Source.fromFuture[Documents](scarango.byExample("{a:{c:1}}"))
    .runForeach(println(_))
    .filter(raw => toProduct(raw).price < 5)
    .map(_.getId)
    .map(scarango.Remove)

I could work with data flow like a stream:

aurelijusb commented 8 years ago

API coverage, improvements and bug fixes will be in separate issue. Functionality implemented and released under https://github.com/Auginte/scarango/releases/tag/v0.3.1