Class: Slimmer::Processors::ReportAProblemInserter

Inherits:
Object
  • Object
show all
Includes:
ERB::Util
Defined in:
lib/slimmer/processors/report_a_problem_inserter.rb

Instance Method Summary collapse

Constructor Details

#initialize(skin, url) ⇒ ReportAProblemInserter

Returns a new instance of ReportAProblemInserter.



5
6
7
8
# File 'lib/slimmer/processors/report_a_problem_inserter.rb', line 5

def initialize(skin, url)
  @skin = skin
  @request_url = url
end

Instance Method Details

#filter(content_document, page_template) ⇒ Object



10
11
12
13
14
# File 'lib/slimmer/processors/report_a_problem_inserter.rb', line 10

def filter(content_document, page_template)
  if (placeholder = page_template.at_css('body #report-a-problem'))
    placeholder.replace(report_a_problem_block)
  end
end

#report_a_problem_blockObject



16
17
18
19
20
21
# File 'lib/slimmer/processors/report_a_problem_inserter.rb', line 16

def report_a_problem_block
  request_url = @request_url
  report_a_problem_template = @skin.template('report_a_problem.raw')
  html = ERB.new(report_a_problem_template).result(binding)
  Nokogiri::HTML.fragment(html)
end