Skip to content

Commit

Permalink
Remove result type from PaperTrail.VersionQueries and specifies the v…
Browse files Browse the repository at this point in the history
…alue on the spec
  • Loading branch information
dreamingechoes committed Jul 28, 2017
1 parent e71b3d4 commit ad52cb4
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions lib/paper_trail/version_queries.ex
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,16 @@ defmodule PaperTrail.VersionQueries do

@repo PaperTrail.RepoClient.repo

@type result :: Ecto.Query.t

@doc """
Gets all the versions of a record.
"""
@spec get_versions(record :: Ecto.Schema.t) :: result
@spec get_versions(record :: Ecto.Schema.t) :: Ecto.Query.t
def get_versions(record), do: get_versions(record, [])

@doc """
Gets all the versions of a record given a module and its id
"""
@spec get_versions(model :: module, id :: pos_integer) :: result
@spec get_versions(model :: module, id :: pos_integer) :: Ecto.Query.t
def get_versions(model, id) when is_atom(model) and is_integer(id), do: get_versions(model, id, [])

@doc """
Expand All @@ -28,7 +26,7 @@ defmodule PaperTrail.VersionQueries do
iex(1)> PaperTrail.VersionQueries.get_versions(record, [prefix: "tenant_id"])
"""
@spec get_versions(record :: Ecto.Schema.t, options :: []) :: result
@spec get_versions(record :: Ecto.Schema.t, options :: []) :: Ecto.Query.t
def get_versions(record, options) when is_map(record) do
item_type = record.__struct__ |> Module.split |> List.last
version_query(item_type, record.id, options) |> @repo.all
Expand All @@ -44,7 +42,7 @@ defmodule PaperTrail.VersionQueries do
iex(1)> PaperTrail.VersionQueries.get_versions(ModelName, id, [prefix: "tenant_id"])
"""
@spec get_versions(model :: module, id :: pos_integer, options :: []) :: result
@spec get_versions(model :: module, id :: pos_integer, options :: []) :: Ecto.Query.t
def get_versions(model, id, options) do
item_type = model |> Module.split |> List.last
version_query(item_type, id, options) |> @repo.all
Expand All @@ -53,13 +51,13 @@ defmodule PaperTrail.VersionQueries do
@doc """
Gets the last version of a record.
"""
@spec get_version(record :: Ecto.Schema.t) :: result
@spec get_version(record :: Ecto.Schema.t) :: Ecto.Query.t
def get_version(record), do: get_version(record, [])

@doc """
Gets the last version of a record given its module reference and its id.
"""
@spec get_version(model :: module, id :: pos_integer) :: result
@spec get_version(model :: module, id :: pos_integer) :: Ecto.Query.t
def get_version(model, id) when is_atom(model) and is_integer(id), do: get_version(model, id, [])

@doc """
Expand All @@ -72,7 +70,7 @@ defmodule PaperTrail.VersionQueries do
iex(1)> PaperTrail.VersionQueries.get_version(ModelName, id, [prefix: "tenant_id"])
"""
@spec get_version(model :: module, id :: pos_integer, options :: []) :: result
@spec get_version(model :: module, id :: pos_integer, options :: []) :: Ecto.Query.t
def get_version(model, id, options) do
item_type = model |> Module.split |> List.last
last(version_query(item_type, id, options)) |> @repo.one
Expand All @@ -88,7 +86,7 @@ defmodule PaperTrail.VersionQueries do
iex(1)> PaperTrail.VersionQueries.get_version(record, [prefix: "tenant_id"])
"""
@spec get_version(record :: Ecto.Schema.t, options :: []) :: result
@spec get_version(record :: Ecto.Schema.t, options :: []) :: Ecto.Query.t
def get_version(record, options) when is_map(record) do
item_type = record.__struct__ |> Module.split |> List.last
last(version_query(item_type, record.id, options)) |> @repo.one
Expand Down

0 comments on commit ad52cb4

Please sign in to comment.