Current section
Files
Jump to
Current section
Files
lib/player_request.ex
defmodule ExOsrsApi.PlayerRequest do
@moduledoc """
### PlayerRequest
For fine-tuned API requests
"""
alias ExOsrsApi.OsrsApi
@enforce_keys [:username, :types]
defstruct [:username, :types]
@type t() :: %__MODULE__{
username: String.t(),
types: list(OsrsApi.highscore_type())
}
@spec new(String.t(), list(OsrsApi.highscore_type())) :: t()
@doc """
Create new `PlayerRequest` for specific highscore_type requests
"""
def new(username, types) when is_list(types) do
%__MODULE__{
username: username,
types: types
}
end
@spec new(String.t(), OsrsApi.highscore_type()) :: t()
def new(username, type) when is_atom(type) do
%__MODULE__{
username: username,
types: [type]
}
end
end