View Source Electric.Client.ShapeDefinition (Electric Client v0.2.1)
Struct for defining a shape.
iex> ShapeDefinition.new("items", where: "something = true")
{:ok, %ShapeDefinition{table: "items", where: "something = true"}}
Summary
Functions
Create a ShapeDefinition for the given table_name.
Return a string representation of the shape's table, quoted for use in API URLs.
Types
Functions
Create a ShapeDefinition for the given table_name.
Options
:where- Filter the table according to the where clause. The default value isnil.:columns- List of columns to include in the shape. Must include all primary keys. Ifnilthis is equivalent to all columns (SELECT *) The default value isnil.:namespace- The namespace the table belongs to. Ifnilthen Postgres will use whatever schema is the default (usuallypublic). The default value isnil.:parser- A{module, args}tuple specifying theElectric.Client.ValueMapperimplementation to use for mapping values from the sync stream into Elixir terms. The default value is{Electric.Client.ValueMapper, []}.
Return a string representation of the shape's table, quoted for use in API URLs.
iex> ShapeDefinition.url_table_name(ShapeDefinition.new!("my_table"))
"my_table"
iex> ShapeDefinition.url_table_name(ShapeDefinition.new!("my_table", namespace: "my_app"))
"my_app.my_table"
iex> ShapeDefinition.url_table_name(ShapeDefinition.new!("my table", namespace: "my app"))
~s["my app"."my table"]