Skip to content
This repository

A simple query library for scala and the Google data store.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 datastore
Octocat-spinner-32 notes
Octocat-spinner-32 project
Octocat-spinner-32 remote
Octocat-spinner-32 spec
Octocat-spinner-32 util
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.markdown
README.markdown

Highchair

Highchair is a set of modules for developing Google App Engine services and applications in scala.

Please use the discussion group for questions, suggestions, and requests.

Modules

Datastore

A module providing an idiomatic API for persiting objects to the Google Datastore, and for executing type-safe queries:

Person where (_.name is "Chris")
  and (_.middleName is Some("Aaron")) fetch (limit = 100)

wiki

Remote

Remote wraps the Remote API, which allows any java application to transparently access the App Engine services of a given application:

remote {
  Person.put(Person(None, "Chris", "Aaron", "Lewis", 30))
}

wiki

Util

Util allows you to programatically launch and shutdown a local GAE application:

val server = DevServer()
server.start(guestbookApp)
// ... integration tests ...
server.stop()

Install

Highchair requires at least Scala 2.8 and is cross-built for versions 2.8.0 - 2.9.0-1. Highchair artifacts are published using the excellent sbt.

sbt

val h_datastore = "net.thegodcode" %% "highchair-datastore" % "0.0.4"

maven, ivy

Because sbt uses the maven module format, artifacts published via sbt are usable by maven and ivy. If you are unfamiliar with sbt, note the following:

  • You must be explicit about the artifact versions. Because Highchair is cross-built its artifacts are suffixed with _scala_version, where scala_version is the version of scala against which the artifact was compiled. Therefore, in tools such as maven and ivy, the artifact id would be highchair-datastore_2.8.0.
  • You must add http://scala-tools.org/repo-releases as a repository.
Something went wrong with that request. Please try again.