Class: Europeana::Blacklight::DocumentPresenter

Inherits:
Blacklight::DocumentPresenter
  • Object
show all
Includes:
ActionView::Helpers::AssetTagHelper
Defined in:
app/presenters/europeana/blacklight/document_presenter.rb

Overview

Blacklight document presenter for Europeana documents

Instance Method Summary collapse

Instance Method Details

#get_field_values(field, field_config, options = {}) ⇒ Object



31
32
33
# File 'app/presenters/europeana/blacklight/document_presenter.rb', line 31

def get_field_values(field, field_config, options = {})
  @document.localize_lang_map(super)
end

#render_document_show_field_value(field, options = {}) ⇒ Object



8
9
10
# File 'app/presenters/europeana/blacklight/document_presenter.rb', line 8

def render_document_show_field_value(field, options = {})
  render_nested_field_value(field, :show, options)
end

#render_index_field_value(field, options = {}) ⇒ Object



12
13
14
# File 'app/presenters/europeana/blacklight/document_presenter.rb', line 12

def render_index_field_value(field, options = {})
  render_nested_field_value(field, :index, options)
end

#render_nested_field_value(field, context, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/presenters/europeana/blacklight/document_presenter.rb', line 16

def render_nested_field_value(field, context, options = {})
  key = @document.nested_field_key(field)
  container = @document.nested_field_container(field)

  field_config = @configuration.send(:"#{context}_fields")[key]
  value = options[:value] || begin
    [container].flatten.compact.collect do |target|
      presenter = self.class.new(target, @controller, @configuration)
      presenter.get_field_values(key, field_config, options)
    end.compact.flatten
  end

  render_field_value(value, field_config)
end