Class: Fatty::View
- Inherits:
-
Object
- Object
- Fatty::View
- Defined in:
- lib/fatty/view.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#z ⇒ Object
readonly
Returns the value of attribute z.
Instance Method Summary collapse
- #draw(screen:, renderer:, terminal:, session:) ⇒ Object
-
#initialize(id: nil, z: 0, log: false) ⇒ View
constructor
A new instance of View.
-
#render(screen:, renderer:, terminal:, session:) ⇒ Object
Render wrapper: logs once, then delegates to #draw.
Constructor Details
#initialize(id: nil, z: 0, log: false) ⇒ View
Returns a new instance of View.
7 8 9 10 11 |
# File 'lib/fatty/view.rb', line 7 def initialize(id: nil, z: 0, log: false) @id = (id || self.class.name.split("::").last).to_s @z = Integer(z) @log = !!log end |
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
5 6 7 |
# File 'lib/fatty/view.rb', line 5 def id @id end |
#z ⇒ Object (readonly)
Returns the value of attribute z.
5 6 7 |
# File 'lib/fatty/view.rb', line 5 def z @z end |
Instance Method Details
#draw(screen:, renderer:, terminal:, session:) ⇒ Object
29 30 31 |
# File 'lib/fatty/view.rb', line 29 def draw(screen:, renderer:, terminal:, session:) raise NotImplementedError, "#{self.class} must implement #draw" end |
#render(screen:, renderer:, terminal:, session:) ⇒ Object
Render wrapper: logs once, then delegates to #draw. Subclasses implement #draw.
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fatty/view.rb', line 15 def render(screen:, renderer:, terminal:, session:) if @log Fatty.debug( "View#render", tag: :render, view: id, z: z, session: session.respond_to?(:id) ? session.id : session.class.name, ) end draw(screen:, renderer:, terminal:, session:) end |