Skip to content

paulfri/bufu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bufu Build Status Hex.pm

Giant Bomb API client for Elixir (Shadow Teddie-approved).

See Giant Bomb API information and documentation for more details.

Usage

iex> Bufu.Game.get 8825
{:ok, %Bufu.Game{name: "Final Fantasy IX", ...}}

iex> Bufu.Game.get! 8825
%Bufu.Game{name: "Final Fantasy IX", ...}

iex> Bufu.Location.list! filter: "name:ivalice"
[%Bufu.Location{name: "Ivalice", ...}, ...]

iex> Bufu.Game.get!(8825) |> Map.get(:developers) |> hd |> Bufu.Company.load! |> Map.get(:name)
"Squaresoft"

See the documentation for more details.

Potential improvements

  1. The search endpoint is not currently implemented. It would take some work to get it to correctly serialize each resource it returns. You can still search for a single resource by providing the filter option (see examples).
  2. The filter and sort options could have nicer interfaces. Currently you have to provide raw strings that are used in the API request.
  3. Per-client or global response caching could be implemented using ETS or a pluggable data store. Local caching is recommended by the API developers, due to the rate limit restrictions.

About

💣 Giant Bomb API client for Elixir.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages