EctoGSS.Repo (ecto_gss v1.0.0)

Copy Markdown View Source

Repository to use Google Spreadsheets as persistence layer for objects.

Summary

Functions

Get several records

Delete an existing record.

Delete an existing record, raise in case of error.

Get a record by row id, raise if not found.

Get a record by row, raise if not found.

Add a new record.

Add a new record, raise in case of error.

Update an existing record, or insert a new one.

Update an existing record, or insert a new one, raise in case of error.

Update an existing record with a row id.

Update an existing record, raise in case of error.

Types

ecto_object()

@type ecto_object() :: Ecto.Changeset.t() | Ecto.Schema.t()

result()

@type result() :: {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}

Functions

all(schema, opts \\ [])

@spec all(Ecto.Queryable.t(), Keyword.t()) :: [Ecto.Schema.t()] | no_return()

Get several records:

  • by range of rows: start_id and end_id options;
  • by exact list of rows: rows option.

delete(record)

@spec delete(ecto_object()) :: result()

Delete an existing record.

delete!(record)

@spec delete!(ecto_object()) :: Ecto.Schema.t() | no_return()

Delete an existing record, raise in case of error.

get(schema, id)

@spec get(Ecto.Queryable.t(), integer()) :: Ecto.Schema.t() | nil | no_return()

Get a record by row id, raise if not found.

get!(schema, id)

@spec get!(Ecto.Queryable.t(), integer() | nil) :: Ecto.Schema.t() | no_return()

Get a record by row, raise if not found.

insert(changeset)

@spec insert(ecto_object()) :: result()

Add a new record.

insert!(changeset)

@spec insert!(ecto_object()) :: Ecto.Schema.t() | no_return()

Add a new record, raise in case of error.

insert_or_update(changeset)

@spec insert_or_update(Ecto.Changeset.t()) :: result()

Update an existing record, or insert a new one.

insert_or_update!(changeset)

@spec insert_or_update!(Ecto.Changeset.t()) :: Ecto.Schema.t() | no_return()

Update an existing record, or insert a new one, raise in case of error.

update(changeset)

@spec update(ecto_object()) :: {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}

Update an existing record with a row id.

update!(changeset)

@spec update!(Ecto.Changeset.t()) :: Ecto.Schema.t() | no_return()

Update an existing record, raise in case of error.