Class: RailsWayback::BarRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_wayback/bar_renderer.rb

Overview

Builds the HTML/CSS/JS payload that the middleware injects into every HTML response so the developer can travel from any page of their app without visiting a dedicated route.

Constant Summary collapse

TEMPLATE =
ERB.new(File.read(File.expand_path("bar_renderer.html.erb", __dir__))).freeze
STYLES =
File.read(File.expand_path("bar_renderer.css", __dir__)).freeze
SCRIPT =
File.read(File.expand_path("bar_renderer.js", __dir__)).freeze

Instance Method Summary collapse

Constructor Details

#initialize(current_branch:, current_commit:, active_ref: nil, active_branch: nil, engine_mount: "/rails-wayback", diff_info: nil) ⇒ BarRenderer

Returns a new instance of BarRenderer.



16
17
18
19
20
21
22
23
24
# File 'lib/rails_wayback/bar_renderer.rb', line 16

def initialize(current_branch:, current_commit:, active_ref: nil, active_branch: nil,
               engine_mount: "/rails-wayback", diff_info: nil)
  @current_branch = current_branch
  @current_commit = current_commit
  @active_ref = active_ref
  @active_branch = active_branch
  @engine_mount = engine_mount
  @diff_info = diff_info
end

Instance Method Details

#renderObject



26
27
28
# File 'lib/rails_wayback/bar_renderer.rb', line 26

def render
  TEMPLATE.result(binding)
end