Finfry::Web
The web UI: a small multi-page app over the same App/Store the CLI
uses. Pages are server-rendered (ECR) from the query layer; every write is
a form POST that runs the matching command through App#execute — so the
account policy, balance guards and undo journal apply exactly as on the
command line — then redirects with the command's own output as a note. A
few lines of JS let the due and reconcile pages save a toggle without a
round trip, but every action works with JS off.
Local-only by design: it binds 127.0.0.1 and has no authentication.
Constants
DEFAULT_HOST = "127.0.0.1"
DEFAULT_PORT = 4747
DEV_JS = {{ read_file("/tmp/tmp.dKDNgG/src/src/finfry/web/dev.js") }}
DEV_NOTES = "dev/ui-notes.md"
Where serve --dev appends UI notes picked in the browser.
FLASH_COOKIE = "finfry_flash"
SCRIPT = {{ read_file("/tmp/tmp.dKDNgG/src/src/finfry/web/app.js") }}
STYLE = {{ read_file("/tmp/tmp.dKDNgG/src/src/finfry/web/style.css") }}
Assets are baked into the binary so finfry serve stays self-contained.
Constructors
Instance methods
Route one request. Public so specs can drive it without a socket.
Nested types
- Finfry::Web::AccountsPage
- Finfry::Web::BalanceSheetPage
- Finfry::Web::BalancesPage
- Finfry::Web::BudgetsPage
- Finfry::Web::Ctx
- Finfry::Web::DailyPage
- Finfry::Web::DuePage
- Finfry::Web::Helpers
- Finfry::Web::HistoryPage
- Finfry::Web::IncomePage
- Finfry::Web::Layout
- Finfry::Web::LedgerPage
- Finfry::Web::OverviewPage
- Finfry::Web::ReconcileIndexPage
- Finfry::Web::ReconcilePage
- Finfry::Web::RecordPage
- Finfry::Web::RecurringPage
- Finfry::Web::RegisterPage