Class: Slimmer::Processors::BetaNoticeInserter

Inherits:
Object
  • Object
show all
Defined in:
lib/slimmer/processors/beta_notice_inserter.rb

Instance Method Summary collapse

Constructor Details

#initialize(skin, headers) ⇒ BetaNoticeInserter

Returns a new instance of BetaNoticeInserter.



3
4
5
6
# File 'lib/slimmer/processors/beta_notice_inserter.rb', line 3

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

Instance Method Details



25
26
27
28
29
# File 'lib/slimmer/processors/beta_notice_inserter.rb', line 25

def add_footer_class(block)
  block = Nokogiri::HTML.fragment(block)
  block.child['class'] = "#{block.child['class']} js-footer"
  block
end

#beta_notice_blockObject



31
32
33
# File 'lib/slimmer/processors/beta_notice_inserter.rb', line 31

def beta_notice_block
  @beta_notice_block ||= @skin.template('beta_notice')
end

#filter(content_document, page_template) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/slimmer/processors/beta_notice_inserter.rb', line 8

def filter(content_document, page_template)
  if should_add_beta_notice?
    warn "[DEPRECATION WARNING] BETA_HEADER is deprecated. Use BETA_LABEL instead."
    page_template.css('body').add_class('beta')
    if header = page_template.at_css('#global-header')
      header.add_next_sibling(beta_notice_block)
    end
    if footer = page_template.at_css('footer#footer')
      footer.add_previous_sibling(add_footer_class(beta_notice_block))
    end
  end
end

#should_add_beta_notice?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/slimmer/processors/beta_notice_inserter.rb', line 21

def should_add_beta_notice?
  !! @headers[Slimmer::Headers::BETA_HEADER]
end