Sha256: 18bf66137d9aa0670c5bba7343b61e86fe21de8511f6950fecd0786e227920d4

Contents?: true

Size: 746 Bytes

Versions: 2

Compression:

Stored size: 746 Bytes

Contents

# frozen_string_literal: true

module UltraSettings
  # Helper class for rendering the settings information in an HTML page.
  class WebView
    attr_reader :css

    def initialize
      @layout_template = erb_template("layout.html.erb")
      @layout_css = read_app_file("layout.css")
      @css = read_app_file("application.css")
    end

    def render_settings
      @layout_template.result(binding)
    end

    def content
      UltraSettings::ApplicationView.new.render
    end

    private

    def erb_template(path)
      ERB.new(read_app_file(path))
    end

    def read_app_file(path)
      File.read(File.join(app_dir, path))
    end

    def app_dir
      File.expand_path(File.join("..", "..", "app"), __dir__)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ultra_settings-2.0.0 lib/ultra_settings/web_view.rb
ultra_settings-1.1.2 lib/ultra_settings/web_view.rb