View Source Needle.Pointable (needle v0.8.0)

Sets up an Ecto Schema for a Pointable table.

Sample Usage

use Needle.Pointable,
  otp_app: :my_app,   # your OTP application's name
  source: "my_table", # default name of table in database
  table_id: "01EBTVSZJ6X02J01R1XWWPWGZW" # unique ULID to identify table

pointable_schema do
  # ... fields go here, if any
end

Overriding with configuration

During use (i.e. compilation time), we will attempt to load configuration from the provided :otp_app under the key of the current module. Any values provided here will override the defaults provided to use. This allows you to configure them after the fact.

Additionally, pointables use Exto's flex_schema(), so you can provide additional configuration for those in the same place.

I shall say it again because it's important: This happens at compile time. You must rebuild the app containing the pointable whenever the configuration changes.

Introspection

Defines a function __pointers__/1 to introspect data. Recognised parameters:

:role - :pointable :table_id - retrieves the ULID id of the pointable table. :otp_app - retrieves the OTP application to which this belongs.

Summary

Functions

Link to this macro

pointable_schema(body)

View Source (macro)