Current section

Files

Jump to
exfacebook lib exfacebook.ex
Raw

lib/exfacebook.ex

defmodule Exfacebook do
use GenServer
@moduledoc ~S"""
Exfacebook implements:
* `Exfacebook.Api` - graph calls using access token to Facebook Graph API,
depends on respnse it returns decoded to JSON values.
* `Exfacebook.Config` - specify `api_version` and http requests for hackney.
Configuration example(optional variables):
config :exfacebook,
api_version: "v2.6",
http_options: [recv_timeout: :infinity],
id: "your_app_id_optional",
secret: "your_app_secret_optiona"
"""
def start_link(options \\ []) do
GenServer.start_link(__MODULE__, [], options)
end
alias Exfacebook.Api
def get_object(pid, id, params), do: GenServer.call(pid, {:get_object, id, params})
def get_connections(pid, id, name, params), do: GenServer.call(pid, {:get_connections, id, name, params})
def next_page(pid, response), do: GenServer.call(pid, {:next_page, response})
def prev_page(pid, response), do: GenServer.call(pid, {:prev_page, response})
def handle_call({:get_object, id, params}, _from, state) do
{:reply, Api.get_object(id, params), state}
end
def handle_call({:get_connections, id, name, params}, _from, state) do
{:reply, Api.get_connections(id, name, params), state}
end
def handle_call({:next_page, response}, _from, state) do
{:reply, Api.next_page(response), state}
end
def handle_call({:prev_page, response}, _from, state) do
{:reply, Api.prev_page(response), state}
end
end