module RatatuiRuby::TUI::TextFactories
Text factory methods for Session.
Provides convenient access to Text::Span and Text::Line without fully qualifying the class names.
Public Instance Methods
Source
# File lib/ratatui_ruby/tui/text_factories.rb, line 35 def line(...) Text::Line.new(...) end
Creates a Text::Line (alias). @return [Text::Line]
Source
# File lib/ratatui_ruby/tui/text_factories.rb, line 23 def span(...) Text::Span.new(...) end
Creates a Text::Span (alias). @return [Text::Span]
Source
# File lib/ratatui_ruby/tui/text_factories.rb, line 76 def text(type, **) case type when :span then text_span(**) when :line then text_line(**) else raise ArgumentError, "Unknown text type: #{type.inspect}. Valid types: :span, :line" end end
Creates a text element by type symbol.
Building text programmatically requires knowing which method to call. When the text type comes from config or user input, you need a dispatcher.
This method routes text creation through a single entry point. Pass the type as a symbol and the remaining parameters as kwargs.
Use it for dynamic text generation or config-driven rendering.
Also available as: tui.span, tui.text_span
Examples
tui.text(:span, content: "Hello", style: Style.with(fg: :blue)) tui.text(:line, spans: [tui.span(content: "World")])
@param type [Symbol] Text type: :span, :line @return [Text::Span, Text::Line]
Source
# File lib/ratatui_ruby/tui/text_factories.rb, line 29 def text_line(...) Text::Line.new(...) end
Creates a Text::Line. @return [Text::Line]
Source
# File lib/ratatui_ruby/tui/text_factories.rb, line 17 def text_span(...) Text::Span.new(...) end
Creates a Text::Span. @return [Text::Span]
Source
# File lib/ratatui_ruby/tui/text_factories.rb, line 41 def text_width(string) Text.width(string) end
Calculates the display width of a string. @return [Integer]