# Brighterx [![Hex version](https://img.shields.io/hexpm/v/brighterx.svg "Hex version")](https://hex.pm/packages/brighterx) ![Hex downloads](https://img.shields.io/hexpm/dt/brighterx.svg "Hex downloads") [![Build Status](https://semaphoreci.com/api/v1/techgaun/brighterx/branches/master/badge.svg)](https://semaphoreci.com/techgaun/brighterx) [![Coverage Status](https://coveralls.io/repos/github/Brightergy/brighterx/badge.svg?branch=master)](https://coveralls.io/github/Brightergy/brighterx?branch=master)
> Elixir client for BrighterLink API
## Installation
Add brighterx to your list of dependencies in `mix.exs`:
def deps do
[{:brighterx, github: "Brightergy/brighterx"}]
end
Or from hex:
def deps do
[{:brighterx, "~> 0.0.3"}]
end
Ensure you list `brighterx` in application dependency in your mix.exs file.
[applications: [:brighterx]]
## Usage
You can use the functions in `Brighterx.Api` for making requests to RESTful api of BrighterLink. There are shorthand functions that wrap the common get requests on the Brighterlink resources.
### Examples
```elixir
Brighterx.Api.create(Brighterx.Resources.Device, %{name: "Test Thermostat", identifier: "00:01", facility_id: 1, type: "thermostat"})
Brighterx.Api.find(Brighterx.Resources.Company, [params: %{name: "Brightergy"}])
Brighterx.Api.update(Brighterx.Resources.Device, 1, %{name: "7th floor south"})
Brighterx.Api.get_company(1)
Brighterx.Api.get_company("Brightergy")
```
### Overriding Environment
You can override the default environment by exporting the environment variable `BRIGHTERX_ENV` which can be set one of `dev`, `stage` or `prod`. This takes precedence over the `Mix.env`.