Class: UltraSettings::WebView

Inherits:
Object
  • Object
show all
Defined in:
lib/ultra_settings/web_view.rb

Overview

Helper class for rendering the settings information in an HTML page.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(color_scheme: :light) ⇒ WebView

Initialize a new WebView with the specified color scheme.

Parameters:

  • color_scheme (Symbol) (defaults to: :light)

    The color scheme to use in the UI. This can be ‘:light`, `:dark`, or `:system`. The default is `:light`.



12
13
14
15
16
# File 'lib/ultra_settings/web_view.rb', line 12

def initialize(color_scheme: :light)
  @color_scheme = (color_scheme || :light).to_sym
  @layout_template = ViewHelper.erb_template("layout.html.erb")
  @layout_css = scheme_layout_css(@color_scheme)
end

Instance Attribute Details

#layout_cssObject (readonly)

Returns the value of attribute layout_css.



6
7
8
# File 'lib/ultra_settings/web_view.rb', line 6

def layout_css
  @layout_css
end

Instance Method Details

#contentString

Get the content for the settings page.

Returns:

  • (String)

    The HTML content for the settings.



28
29
30
# File 'lib/ultra_settings/web_view.rb', line 28

def content
  UltraSettings::ApplicationView.new(color_scheme: @color_scheme).render
end

#render_settingsString

Render the complete settings page HTML.

Returns:

  • (String)

    The rendered HTML page.



21
22
23
# File 'lib/ultra_settings/web_view.rb', line 21

def render_settings
  @layout_template.result(binding)
end