Class: AdminSuite::Renderer
- Inherits:
-
Object
- Object
- AdminSuite::Renderer
- Defined in:
- lib/admin_suite/renderer.rb
Overview
Base class for panel renderers.
Host apps subclass this in app/admin/renderers/*.rb and reference it
from a show panel:
panel :costs, title: "Provider Costs", render: :provider_costs
# => Admin::Renderers::ProviderCostsRenderer
Subclasses implement #render and may use the primitives below rather than hand-building markup, so panels stay visually consistent with the rest of the admin UI.
Direct Known Subclasses
AdminSuite::Renderers::CodeRenderer, AdminSuite::Renderers::JsonRenderer, AdminSuite::Renderers::KeyValueRenderer, AdminSuite::Renderers::LegacyGleania::MessagesPreviewRenderer, AdminSuite::Renderers::LegacyGleania::PromptTemplateRenderer, AdminSuite::Renderers::LegacyGleania::ToolArgsRenderer, AdminSuite::Renderers::LegacyGleania::TurnMessagesRenderer, AdminSuite::Renderers::TableFromRenderer
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#record ⇒ Object
readonly
Returns the value of attribute record.
-
#view ⇒ Object
readonly
Returns the value of attribute view.
Instance Method Summary collapse
-
#initialize(record, view, options = {}) ⇒ Renderer
constructor
A new instance of Renderer.
-
#render ⇒ String
HTML-safe markup for the panel body.
Constructor Details
#initialize(record, view, options = {}) ⇒ Renderer
Returns a new instance of Renderer.
23 24 25 26 27 |
# File 'lib/admin_suite/renderer.rb', line 23 def initialize(record, view, = {}) @record = record @view = view @options = || {} end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
16 17 18 |
# File 'lib/admin_suite/renderer.rb', line 16 def @options end |
#record ⇒ Object (readonly)
Returns the value of attribute record.
16 17 18 |
# File 'lib/admin_suite/renderer.rb', line 16 def record @record end |
#view ⇒ Object (readonly)
Returns the value of attribute view.
16 17 18 |
# File 'lib/admin_suite/renderer.rb', line 16 def view @view end |
Instance Method Details
#render ⇒ String
Returns HTML-safe markup for the panel body.
30 31 32 |
# File 'lib/admin_suite/renderer.rb', line 30 def render raise NotImplementedError, "#{self.class.name} must implement #render" end |