Agent
Implementação uso de Agent em Elixir.
Exemplos de Uso
Atualizar valor:
iex> Agente.update("xxx001")
:okExibir estado atual:
iex> Agente.value()
%{cursor: "xxx001"}
iex> Agente.value(:cursor)
%{cursor: "xxx001"}Nova chave - valor:
iex> Agente.new(:index, "atualizacao")
:ok
iex> Agente.value()
%{cursor: :normal, index: "atualizacao"}Incrementar um valor:
iex> Agente.increment
:ok
iex> Agente.value()
%{cursor: :normal, sum: 1}
iex> Agente.increment(5)
:ok
iex> Agente.value
%{cursor: :normal, sum: 5}Mesclar valores:
iex> map = %{nome: "John Doe", last_name: "Smith", skills: [1, 2, 6]}
iex> Agente.merge(map)
%{cursor: :normal, last_name: "Smith", nome: "John Doe", skills: [1, 2, 6]}Excluir um valor:
%{cursor: "novo valor hh", nova: "outro valor"}
iex> Agente.delete(:cursor)
%{nova: "outro valor"}Excluir muitos valores:
%{foo: "foo bar", nova: "outro valor"}
iex> Agente.drop([:foo, :nova])
%{}Configuração
Adicione a configuração abaixo à sua aplicação para incializar o Agent:
def application do
[
extra_applications: [:logger],
mod: {Agente, %{cursor: :normal}}
]
endInstalação
Se disponível em Hex, o pacote poderá ser instalado
adicionando-se agente à sua lista de dependências em mix.exs:
def deps do
[
{:agente, "~> 0.1.1"}
]
endA documentação pode ser gerada com ExDoc e publicada em HexDocs. Após publicação, o docs poderá ser encontrado em https://hexdocs.pm/agente.