Marqeta.Resource (marqeta v1.0.0)

Copy Markdown View Source

Shared macro for all Marqeta resource modules.

Generates standard CRUD and streaming functions via use Marqeta.Resource.

Options

  • :path — API path prefix, e.g. "/users". Required for CRUD generation.
  • :resource — Human-readable resource name used in documentation strings.
  • :create — Generate create/2 and create!/2. Default: true.
  • :get — Generate get/2 and get!/2. Default: true.
  • :update — Generate update/3 and update!/3. Default: true.
  • :list — Generate list/2, list!/2, and stream/2. Default: true.

All generated public functions are defoverridable so individual modules can replace or extend them.

Example

defmodule Marqeta.Users do
  use Marqeta.Resource, path: "/users", resource: "user"

  def search(params, opts \\ []) do
    Client.post("/users/lookup", params, opts)
  end
end

Summary

Functions

Merges caller-supplied params over defaults.

Functions

build_params(params, defaults \\ %{})

@spec build_params(map(), map()) :: map()

Merges caller-supplied params over defaults.