Packages

Small HTTPoison based wrapper around PrintNode API.

Current section

Files

Jump to
ex_printnode lib print_node resources printer.ex
Raw

lib/print_node/resources/printer.ex

defmodule PrintNode.Resources.Printer do
@moduledoc """
Struct for PrintNode Printer resource
"""
@behaviour Access
defstruct [
:createTimestamp,
:name,
:description,
:id,
:capabilities,
:default,
:state,
:computer
]
@spec get(%PrintNode.Resources.Printer{}, any, any) :: any
defdelegate get(printer, key, default), to: Map
@spec fetch(%PrintNode.Resources.Printer{}, any) :: :error | {:ok, any}
defdelegate fetch(printer, key), to: Map
@spec get_and_update(%PrintNode.Resources.Printer{}, any, (any -> :pop | {any, any})) ::
{any, map}
defdelegate get_and_update(printer, key, func), to: Map
@spec pop(%PrintNode.Resources.Printer{}, any) :: {any, map}
defdelegate pop(printer, key), to: Map
end