Class: Charming::Components::Viewport::ContentLines
- Inherits:
-
Object
- Object
- Charming::Components::Viewport::ContentLines
- Defined in:
- lib/charming/presentation/components/viewport/content_lines.rb
Overview
ContentLines normalizes viewport content into display lines.
Instance Method Summary collapse
- #display_width ⇒ Object
-
#initialize(content:, width:, wrap:) ⇒ ContentLines
constructor
A new instance of ContentLines.
- #lines ⇒ Object
Constructor Details
#initialize(content:, width:, wrap:) ⇒ ContentLines
Returns a new instance of ContentLines.
8 9 10 11 12 |
# File 'lib/charming/presentation/components/viewport/content_lines.rb', line 8 def initialize(content:, width:, wrap:) @content = content @window_width = width @wrap = wrap end |
Instance Method Details
#display_width ⇒ Object
20 21 22 |
# File 'lib/charming/presentation/components/viewport/content_lines.rb', line 20 def display_width lines.map { |line| UI::Width.measure(line) }.max || 0 end |
#lines ⇒ Object
14 15 16 17 18 |
# File 'lib/charming/presentation/components/viewport/content_lines.rb', line 14 def lines return wrapped_lines if wrap? rendered_content.lines(chomp: true) end |