class ADIWG::Mdtranslator::Writers::Html::Html_Citation

Public Class Methods

new(html) click to toggle source
# File lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb, line 23
def initialize(html)
   @html = html
end

Public Instance Methods

writeHtml(hCitation) click to toggle source
# File lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb, line 27
def writeHtml(hCitation)

   # classes used
   dateClass = Html_Date.new(@html)
   responsibilityClass = Html_Responsibility.new(@html)
   identifierClass = Html_Identifier.new(@html)
   onlineClass = Html_OnlineResource.new(@html)
   graphicClass = Html_Graphic.new(@html)

   # citation - title
   @html.em('Title: ')
   unless hCitation[:title].nil?
      @html.text!(hCitation[:title])
   else
      @html.text!('*MISSING*')
   end
   @html.br

   # citation - alternate title
   unless hCitation[:alternateTitles].empty?
      hCitation[:alternateTitles].each do |altTitle|
         @html.em('Alternate title: ')
         @html.text!(altTitle)
         @html.br
      end
   end

   # citation - date [] {}
   hCitation[:dates].each do |hDate|
      @html.em('Date: ')
      dateClass.writeHtml(hDate)
      @html.br
   end

   # citation - edition
   unless hCitation[:edition].nil?
      @html.em('Edition: ')
      @html.text!(hCitation[:edition])
      @html.br
   end

   # citation - responsibilities [] {responsibility}
   hCitation[:responsibleParties].each do |hResponsibility|
      @html.details do
         @html.summary(hResponsibility[:roleName], 'class' => 'h5')
         @html.section(:class => 'block') do
            responsibilityClass.writeHtml(hResponsibility)
         end
      end
   end

   # citation - identifier []
   hCitation[:identifiers].each do |hIdentifier|
      @html.details do
         @html.summary('Identifier', 'class' => 'h5')
         @html.section(:class => 'block') do
            identifierClass.writeHtml(hIdentifier)
         end
      end
   end

   # citation - series
   unless hCitation[:series].empty?
      @html.details do
         @html.summary('Publication Series', {'class' => 'h5'})
         @html.section(:class => 'block') do

            hSeries = hCitation[:series]

            # series - name
            unless hSeries[:seriesName].nil?
               @html.em('Series Name: ')
               @html.text!(hSeries[:seriesName])
               @html.br
            end

            # series - issue
            unless hSeries[:seriesIssue].nil?
               @html.em('Series Issue: ')
               @html.text!(hSeries[:seriesIssue])
               @html.br
            end

            # series - page
            unless hSeries[:issuePage].nil?
               @html.em('Issue Page: ')
               @html.text!(hSeries[:issuePage])
               @html.br
            end

         end
      end
   end

   # citation - online resource []
   hCitation[:onlineResources].each do |hOnline|
      @html.details do
         @html.summary('Online Resource', {'class' => 'h5'})
         @html.section(:class => 'block') do
            onlineClass.writeHtml(hOnline)
         end
      end
   end

   # citation - browse graphic []
   hCitation[:browseGraphics].each do |hGraphic|
      @html.details do
         @html.summary('Graphic Overview', {'class' => 'h5'})
         @html.section(:class => 'block') do
            graphicClass.writeHtml(hGraphic)
         end
      end
   end

   # citation - presentation form []
   unless hCitation[:presentationForms].empty?
      hCitation[:presentationForms].each do |forms|
         @html.em('Presentation Form: ')
         @html.text!(forms)
         @html.br
      end
   end

   # citation - other details []
   unless hCitation[:otherDetails].empty?
      hCitation[:otherDetails].each do |detail|
         @html.em('Other Details: ')
         @html.text!(detail)
         @html.br
      end
   end

end