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, headers) ⇒ ReportAProblemInserter

Returns a new instance of ReportAProblemInserter.



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

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

Instance Method Details

#filter(content_document, page_template) ⇒ Object



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

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



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

def report_a_problem_block
  request_url = @request_url
  source      = @headers[Slimmer::Headers::APPLICATION_NAME_HEADER]
  page_owner  = @headers[Slimmer::Headers::PAGE_OWNER_HEADER]
  report_a_problem_template = @skin.template('report_a_problem.raw')
  html = ERB.new(report_a_problem_template).result(binding)
  Nokogiri::HTML.fragment(html)
end