Skip to content

Commit

Permalink
Fix up typespecs
Browse files Browse the repository at this point in the history
  • Loading branch information
Shane Kilkelly committed Apr 3, 2018
1 parent 8402c34 commit 1f6f733
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 11 deletions.
24 changes: 18 additions & 6 deletions lib/hammer/backend.ex
Expand Up @@ -3,18 +3,30 @@ defmodule Hammer.Backend do
The backend Behaviour module
"""

@callback count_hit(key :: {bucket :: integer, id :: String.t()}, now :: integer) ::
@type bucket_key :: {bucket :: integer, id :: String.t()}
@type bucket_info ::
{key :: bucket_key, count :: integer, created :: integer, updated :: integer}

@callback count_hit(
pid :: pid(),
key :: bucket_key,
now :: integer
) ::
{:ok, count :: integer}
| {:error, reason :: any}

@callback get_bucket(key :: {bucket :: integer, id :: String.t()}) ::
{:ok,
{key :: {bucket :: integer, id :: String.t()}, count :: integer,
created :: integer, updated :: integer}}
@callback get_bucket(
pid :: pid(),
key :: bucket_key
) ::
{:ok, info :: bucket_info}
| {:ok, nil}
| {:error, reason :: any}

@callback delete_buckets(id :: String.t()) ::
@callback delete_buckets(
pid :: pid(),
id :: String.t()
) ::
{:ok, count_deleted :: integer}
| {:error, reason :: any}
end
12 changes: 7 additions & 5 deletions lib/hammer/backend/ets.ex
Expand Up @@ -27,6 +27,10 @@ defmodule Hammer.Backend.ETS do

@behaviour Hammer.Backend

@type bucket_key :: {bucket :: integer, id :: String.t()}
@type bucket_info ::
{key :: bucket_key, count :: integer, created :: integer, updated :: integer}

use GenServer
alias Hammer.Utils

Expand Down Expand Up @@ -59,7 +63,7 @@ defmodule Hammer.Backend.ETS do
"""
@spec count_hit(
pid :: pid(),
key :: {bucket :: integer, id :: String.t()},
key :: bucket_key,
now :: integer
) ::
{:ok, count :: integer}
Expand All @@ -73,11 +77,9 @@ defmodule Hammer.Backend.ETS do
"""
@spec get_bucket(
pid :: pid(),
key :: {bucket :: integer, id :: String.t()}
key :: bucket_key
) ::
{:ok,
{key :: {bucket :: integer, id :: String.t()}, count :: integer, created :: integer,
updated :: integer}}
{:ok, info :: bucket_info}
| {:ok, nil}
| {:error, reason :: any}
def get_bucket(pid, key) do
Expand Down

0 comments on commit 1f6f733

Please sign in to comment.