Module: Inquirex::UI
- Defined in:
- lib/inquirex/ui.rb,
lib/inquirex/ui/node.rb,
lib/inquirex/ui/version.rb,
lib/inquirex/ui/widget_hint.rb,
lib/inquirex/ui/widget_registry.rb,
lib/inquirex/ui/dsl/flow_builder.rb,
lib/inquirex/ui/dsl/step_builder.rb
Overview
UI enrichment layer for Inquirex flows.
Extends the core DSL with ‘widget` and `widget_mobile` rendering hints. Every node built via Inquirex::UI.define carries a WidgetHint describing the preferred UI control for that step’s data type.
Widget hints are:
- Framework-agnostic (no HTML/JS generated here)
- Included in JSON serialization
- Consumed by adapters: inquirex-tty, inquirex-js, inquirex-rails
When no explicit hint is provided, WidgetRegistry supplies a sensible default for each data type × rendering context (desktop / mobile).
Defined Under Namespace
Modules: DSL, WidgetRegistry Classes: Node, WidgetHint
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
-
.define(id: nil, version: "1.0.0") { ... } ⇒ Inquirex::Definition
Builds an immutable Definition where every node is a UI::Node with widget hints.
Class Method Details
.define(id: nil, version: "1.0.0") { ... } ⇒ Inquirex::Definition
Builds an immutable Definition where every node is a UI::Node with widget hints. Accepts the same arguments as Inquirex.define.
68 69 70 71 72 |
# File 'lib/inquirex/ui.rb', line 68 def self.define(id: nil, version: "1.0.0", &) builder = UI::DSL::FlowBuilder.new(id:, version:) builder.instance_eval(&) builder.build end |