Code Monkey home page Code Monkey logo

agni's Introduction

agni

Agni is a library to query and access Cassandra for Scala. It allows you to store your case classes into Cassandra and conversely.

Build Status

How to use

TBD

agni's People

Contributors

tkrs avatar yanana avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tkrs

agni's Issues

TupleBinder fails to bind

TupleBinder is automatically generated as follows:

trait TupleBinder {

  implicit def tuple1Binder[A](implicit
    a: RowSerializer[A]
  ): Binder[Tuple1[A]] =
    new Binder[Tuple1[A]] {
      def apply(bound: BoundStatement, ver: ProtocolVersion, xs: Tuple1[A]): Result[BoundStatement] =
        (a(bound, 0, xs._1, ver)).map(_ => bound)
    }

  implicit def tuple2Binder[A, B](implicit
    a: RowSerializer[A], b: RowSerializer[B]
  ): Binder[(A, B)] =
    new Binder[(A, B)] {
      def apply(bound: BoundStatement, ver: ProtocolVersion, xs: (A, B)): Result[BoundStatement] =
        (a(bound, 0, xs._1, ver) *> b(bound, 1, xs._2, ver)).map(_ => bound)
    }

  implicit def tuple3Binder[A, B, C](implicit
    a: RowSerializer[A], b: RowSerializer[B], c: RowSerializer[C]
  ): Binder[(A, B, C)] =
    new Binder[(A, B, C)] {
      def apply(bound: BoundStatement, ver: ProtocolVersion, xs: (A, B, C)): Result[BoundStatement] =
        (a(bound, 0, xs._1, ver) *> b(bound, 1, xs._2, ver) *> c(bound, 2, xs._3, ver)).map(_ => bound)
    }

  // ...
}

Even though BoundStatement has been immutable since 4.0, all bind operations are discarded because the passed bound is always returned.

Use Async instead of IO

For the implementation of cats-effect module's Task only need Async.async so IO is too strong.

Move to Travis CI

I think that TravisCI has a comparative advantage over Wercker as follows:

  • Scala (SBT) native support
  • Matrix build for JDK x Scala

RowDecoderSpec is failed

Changed default constructor signature of UserType, because updated version to java-driver to 3.2.0.

Example module compilation fails in Scala 2.11

[error] /pipeline/source/examples/src/main/scala/Main.scala:118:28: type mismatch;
[error]  found   : (Main.Author, Main.Author) => Int
[error]  required: Ordering[Main.Author]
[error]     (x: Author, y: Author) => y.id.compareTo(x.id)
[error]                            ^
[info] - should run the program normaly
[error] one error found

Make a simple function

I want to make to a function with an implicit parameter, rather than Kleisli (or divide implementation?). Because I think that difficult to use with only the Kleisli interface.

Update to latest version of Iota

I noticed you were using Iota and I wanted to give you a heads up for when you update to a more recent version.

frees-io/iota#114 changes the bounds on CopK.Inject. The session code will need to be updated as follows:

    object SessionOps {
-      implicit def sessionOpsForIota[F[_] <: CopK[_, _]](implicit I: CopK.Inject[SessionOp, F]): SessionOps[F] = new SessionOps
+      implicit def sessionOpsForIota[F[A] <: CopK[_, A]](implicit I: CopK.Inject[SessionOp, F]): SessionOps[F] = new SessionOps
    }

Cheers!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.