# `GoogleApi.Gax.ModelBase`
[🔗](https://github.com/Live-Circle-Inc/ega/tree/main/clients/gax/blob/main/lib/google_api/gax/model_base.ex#L15)

This module helps you quickly and concisely define API models.

Example:

    defmodule Pet do
      use GoogleApi.Gax.ModelBase

      field(:id)
      field(:category, as: Category)
      field(:tags, as: Tag, type: :list)
    end

# `decode`

```elixir
@spec decode(struct(), :list | :listlist | :map | :primitive, nil | module()) ::
  struct()
```

Helper to decode model fields

# `encode`

```elixir
@spec encode(struct(), keyword()) :: String.t()
```

Helper to encode model into JSON

# `field`
*macro* 

# `poison_transform`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
