Sha256: f19308ea7677c3dc023db699b639b1e3da692f113fb3039a70768490e539703d

Contents?: true

Size: 897 Bytes

Versions: 5

Compression:

Stored size: 897 Bytes

Contents

class ModsDisplay::Format < ModsDisplay::Field

  def fields
    return [] if (text.nil? and @value.text.strip.empty?)
    return_values = @value.map{|v| v.text }
    return_values = [text] unless text.nil?
    [ModsDisplay::Values.new(:label => label || 'Format', :values => return_values)]
  end

  def text
    return super unless super.nil?
  end

  def to_html
    return nil if @config.ignore?
    output = ""
    fields.each do |field|
      output << "<dt#{label_class} title='#{field.label}'>#{field.label}:</dt>"
      output << "<dd#{value_class}>"
        field.values.map do |val|
          output << "<span class='#{self.class.format_class(val)}'>#{val}</span>"
        end.join(@config.delimiter)
      output << "</dd>"
    end
    output
  end

  private

  def self.format_class(format)
    return format if format.nil?
    format.strip.downcase.gsub(/\/|\\|\s+/, "_")
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mods_display-0.0.5 lib/mods_display/fields/format.rb
mods_display-0.0.4 lib/mods_display/fields/format.rb
mods_display-0.0.3 lib/mods_display/fields/format.rb
mods_display-0.0.2 lib/mods_display/fields/format.rb
mods_display-0.0.1 lib/mods_display/fields/format.rb