View Source API Reference Tamnoon v1.0.0-a.1

Modules

This module provides functions needed to initialize Tamnoon. You do not need to handle it directly, rather, the only time you need to call something in this module is in your supervision tree, to add it to the children and configure it (see child_spec/1).

This module provides functions for compiling (/parsing) Tamnoon HEEx components.

This module defines the Tamnoon.Component behaviour, which includes one callback - heex/0. It is good practice to implement this behaviour in a component module, however as long as you define a function named heex taking 0 arguments and returning the heex, it should work just fine.

This module handles the management of different methods as you create them. Notably, it provides the defmethod/2 macro.

Provides default implementations for methods you need to get your Tamnoon server working - basic state management (with tmnn_get/2 and tmnn_update/2) and basic handling of PubSub channels (via tmnn_sub/2, tmnn_unsub/2, tmnn_pub/2, tmnn_subbed_channels/2)

This module provides a default router for HTTP(S) requests, returning a 404 status to all of them. This is useful in order to only serve Websocket requests, however creating a custom one configured to serve a website might be beneficial. If you wish to do so, see Plug.Router and Tamnoon.child_spec/1.

A default :cowboy_websocket implementation. Usually there should not be a reason to do anything directly with this module, as it gets its options from Tamnoon.start_link/1 and adapts to them automatically. However, it is still documented for the sake of allowing extensiblity. You can replace the module with a custom one via setting it as the (drumroll..) :socket_handler key's value in Tamnoon.start_link/1's options.