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

Returns a new instance of ReportAProblemInserter.



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

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

Instance Method Details

#filter(content_document, page_template) ⇒ Object



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

def filter(content_document, page_template)
  if enabled? && container = page_template.at_css('#' + @wrapper_id)
    container.add_child(report_a_problem_block)
  end
end

#report_a_problem_blockObject



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

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