class

SemanticUI::Engine

Inherits Reference < Object

------------------------------- Engine -------------------------------------

Constants

SCHEMA_SQL = "CREATE TABLE IF NOT EXISTS entities (\n id INTEGER PRIMARY KEY,\n key TEXT UNIQUE NOT NULL,\n kind TEXT NOT NULL,\n schema TEXT NOT NULL DEFAULT '{}',\n read_action TEXT,\n write_action TEXT\n);\n\nCREATE TABLE IF NOT EXISTS layouts (\n id INTEGER PRIMARY KEY,\n slug TEXT UNIQUE NOT NULL,\n title TEXT NOT NULL,\n hints TEXT NOT NULL DEFAULT '{}'\n);\n\nCREATE TABLE IF NOT EXISTS widgets (\n id INTEGER PRIMARY KEY,\n layout_id INTEGER NOT NULL,\n region TEXT NOT NULL,\n ord INTEGER NOT NULL DEFAULT 0,\n widget_kind TEXT NOT NULL,\n entity_key TEXT,\n label TEXT,\n hints TEXT NOT NULL DEFAULT '{}',\n FOREIGN KEY(layout_id) REFERENCES layouts(id)\n);"

Constructors

new(db_url : String = "sqlite3:./ui.db")
Source

Instance methods

create_schema
Source
fetch_layout(slug : String) : Tuple(Int64, String, String) | Nil
Source
fetch_widgets(layout_id : Int64) : Array(WidgetRow)
Source
get_entity(key : String) : Entity | Nil

--------------------------- Query helpers --------------------------------

Source
read_text(key : String) : String

----------------------------- Semantics ----------------------------------

Source
seed_if_empty

----------- Seeding (idempotent) ----------------------------------------

Source
write_apply(key : String, params : Hash(String, String)) : String
Source