README.md

[![Build Status](https://travis-ci.org/peburrows/diplomat.svg?branch=master)](https://travis-ci.org/peburrows/diplomat)

# Diplomat

Diplomat is an Elixir library for interacting with Google's Cloud Datastore.

## Installation

  1. Add datastore to your list of dependencies in `mix.exs`:

  ```elixir
  def deps do
    [{:diplomat, "~> 0.2"}]
  end
  ```

  2. Make sure you've configured [Goth](https://github.com/peburrows/goth) with your credentials:

  ```elixir
  config :goth,
    json: {:system, "GCP_CREDENTIALS_JSON"}
  ```

## Usage

#### Insert an Entity:

```elixir
Diplomat.Entity.new(
  %{"name" => "My awesome book", "author" => "Phil Burrows"},
  "Book",
  "my-unique-book-id"
) |> Diplomat.Entity.insert
```

#### Find an Entity via a GQL Query:

```elixir
Diplomat.Query.new(
  "select * from `Book` where name = @name",
  %{name: "20,000 Leagues Under The Sea"}
) |> Diplomat.Query.execute
```