From 1f6f733ce2ea40296de19671adbee95e3574231b Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Tue, 3 Apr 2018 21:59:10 +0100 Subject: [PATCH] Fix up typespecs --- lib/hammer/backend.ex | 24 ++++++++++++++++++------ lib/hammer/backend/ets.ex | 12 +++++++----- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/lib/hammer/backend.ex b/lib/hammer/backend.ex index 2153915..23d461c 100644 --- a/lib/hammer/backend.ex +++ b/lib/hammer/backend.ex @@ -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 diff --git a/lib/hammer/backend/ets.ex b/lib/hammer/backend/ets.ex index 304a370..70ed29b 100644 --- a/lib/hammer/backend/ets.ex +++ b/lib/hammer/backend/ets.ex @@ -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 @@ -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} @@ -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