Class: ModsDisplay::Field
- Inherits:
-
Object
- Object
- ModsDisplay::Field
show all
- Defined in:
- lib/mods_display/fields/field.rb
Direct Known Subclasses
Abstract, Audience, Cartographics, Collection, Contact, Contents, Description, Format, Genre, Identifier, Imprint, Language, Location, Name, Note, RelatedItem, RelatedLocation, ResourceType, SubTitle, Subject, Title
Instance Method Summary
collapse
Constructor Details
#initialize(values, config, klass) ⇒ Field
Returns a new instance of Field.
3
4
5
6
7
|
# File 'lib/mods_display/fields/field.rb', line 3
def initialize(values, config, klass)
@values = values
@config = config
@klass = klass
end
|
Instance Method Details
#fields ⇒ Object
9
10
11
12
13
14
|
# File 'lib/mods_display/fields/field.rb', line 9
def fields
return_fields = @values.map do |value|
ModsDisplay::Values.new(:label => displayLabel(value) || label, :values => [displayForm(@values) || value.text].flatten)
end
collapse_fields(return_fields)
end
|
#label ⇒ Object
16
17
18
19
|
# File 'lib/mods_display/fields/field.rb', line 16
def label
return nil if @values.nil?
displayLabel(@values.first)
end
|
#to_html ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/mods_display/fields/field.rb', line 21
def to_html
return nil if fields.empty? or @config.ignore?
output = ""
fields.each do |field|
if field.values.any?{|f| f && !f.empty? }
output << "<dt#{label_class} title='#{field.label}'>#{field.label}:</dt>"
output << "<dd#{value_class}>"
output << field.values.map do |val|
@config.link ? link_to_value(val.to_s) : link_urls_and_email(val.to_s)
end.join(@config.delimiter)
output << "</dd>"
end
end
output
end
|