Class: ProgressiveRender::Rails::ViewRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/progressive_render/rails/view_renderer.rb

Overview

Responsible for rendering a full page and extracting fragments for a progressive render.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(view_context) ⇒ ViewRenderer

Returns a new instance of ViewRenderer.



8
9
10
# File 'lib/progressive_render/rails/view_renderer.rb', line 8

def initialize(view_context)
  self.context = view_context
end

Instance Attribute Details

#contextObject

Returns the value of attribute context.



7
8
9
# File 'lib/progressive_render/rails/view_renderer.rb', line 7

def context
  @context
end

Instance Method Details

#render_fragment(path, fragment_name) ⇒ Object



20
21
22
23
24
# File 'lib/progressive_render/rails/view_renderer.rb', line 20

def render_fragment(path, fragment_name)
  content = context.render_to_string template: path, layout: false
  stripped = Nokogiri::HTML(content).at_css("div##{fragment_name}_progressive_render")
  context.render plain: stripped.to_html
end

#render_partial(path) ⇒ Object



12
13
14
# File 'lib/progressive_render/rails/view_renderer.rb', line 12

def render_partial(path)
  context.render partial: path
end

#render_view(path) ⇒ Object



16
17
18
# File 'lib/progressive_render/rails/view_renderer.rb', line 16

def render_view(path)
  context.render path
end