GreenAsh.Router (GreenAsh v0.1.0)

Copy Markdown View Source

Intégration au routeur de l'hôte.

À placer dans une scope passant par un pipeline avec session (fetch_session), typiquement :browser :

import GreenAsh.Router

scope "/" do
  pipe_through :browser
  green_ash "/cli"
end

Par défaut, les domaines exposés sont lus dynamiquement, à chaque requête depuis Application.get_env(:mon_app, :ash_domains, []) — la même clé de config que mix ash.setup/mix ash.codegen utilisent déjà. Ajouter un domaine à cette liste (ce que font les générateurs Ash eux-mêmes) suffit à le faire apparaître dans la console, sans retoucher le routeur ni relancer l'installeur.

domains: reste disponible pour figer explicitement un sous-ensemble (ou si vos domaines ne sont pas déclarés sous la clé standard) :

green_ash "/cli", domains: [MyApp.Bank, MyApp.Sales]

Summary

Functions

Monte la console sous path, dans le scope courant.

Functions

green_ash(path, opts \\ [])

(macro)

Monte la console sous path, dans le scope courant.

Options

  • :domains — liste explicite de modules Ash.Domain à exposer. Si omise (recommandé), lue dynamiquement depuis Application.get_env(otp_app, :ash_domains, []).
  • :otp_app — application OTP dont lire :ash_domains par défaut. Déduite automatiquement (Mix.Project.config()[:app]) si omise.