Sha256: be97029cf705f884b539fcc8ab169c3b09ae04f68e8767edcb60f25f35d76958

Contents?: true

Size: 736 Bytes

Versions: 396

Compression:

Stored size: 736 Bytes

Contents

defmodule BankAccount do
  @moduledoc """
  A bank account that supports access from multiple processes.
  """

  @typedoc """
  An account handle.
  """
  @opaque account :: pid

  @doc """
  Open the bank. Makes the account available.
  """
  @spec open_bank() :: account
  def open_bank() do
  end

  @doc """
  Close the bank. Makes the account unavailable.
  """
  @spec close_bank(account) :: none
  def close_bank(account) do
  end

  @doc """
  Get the account's balance.
  """
  @spec balance(account) :: integer
  def balance(account) do
  end

  @doc """
  Update the account's balance by adding the given amount which may be negative.
  """
  @spec update(account, integer) :: any
  def update(account, amount) do
  end
end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.179 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.178 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.177 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.176 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.175 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.174 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.173 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.172 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.171 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.170 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.169 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.167 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.166 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.165 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.164 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.163 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.162 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.161 tracks/elixir/exercises/bank-account/account.exs
trackler-2.2.1.160 tracks/elixir/exercises/bank-account/account.exs