Class: RelatedItemsInserter

Inherits:
Object
  • Object
show all
Includes:
ERB::Util, GdsApi::Helpers
Defined in:
lib/slimmer/related_items_inserter.rb

Instance Method Summary collapse

Constructor Details

#initialize(related_block_template, external_request) ⇒ RelatedItemsInserter

Returns a new instance of RelatedItemsInserter.



7
8
9
10
# File 'lib/slimmer/related_items_inserter.rb', line 7

def initialize(related_block_template, external_request)
  @related_block_template = related_block_template
  @external_request = external_request
end

Instance Method Details

#filter(content_document, page_template) ⇒ Object



17
18
19
20
21
# File 'lib/slimmer/related_items_inserter.rb', line 17

def filter(content_document, page_template)
  if content_document.at_css('body.citizen div#related-items')
    page_template.at_css('body.citizen div#related-items').replace(related_item_block)
  end
end

#metadata_from_panopticonObject



23
24
25
# File 'lib/slimmer/related_items_inserter.rb', line 23

def 
  fetch_artefact(slug: requested_slug)
end


27
28
29
30
31
# File 'lib/slimmer/related_items_inserter.rb', line 27

def related_item_block
  artefact = 
  html = ERB.new(@related_block_template).result(binding)
  Nokogiri::HTML.fragment(html)
end

#requested_slugObject



12
13
14
15
# File 'lib/slimmer/related_items_inserter.rb', line 12

def requested_slug
  url_parts = @external_request.path_info.split('/')
  url_parts.size > 0 ? url_parts[1] : ''
end