lib/adiwg/mdtranslator/writers/html/sections/html_dataDictionary.rb in adiwg-mdtranslator-1.4.0 vs lib/adiwg/mdtranslator/writers/html/sections/html_dataDictionary.rb in adiwg-mdtranslator-2.0.0rc2
- old
+ new
@@ -1,111 +1,117 @@
# HTML writer
# data dictionary
# History:
+# Stan Smith 2017-04-05 refactored for mdTranslator 2.0
+# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
# Stan Smith 2015-03-26 original script
-# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
require_relative 'html_citation'
+require_relative 'html_locale'
+require_relative 'html_responsibility'
require_relative 'html_domain'
require_relative 'html_entity'
module ADIWG
- module Mdtranslator
- module Writers
- module Html
+ module Mdtranslator
+ module Writers
+ module Html
- class MdHtmlDataDictionary
- def initialize(html)
- @html = html
- end
+ class Html_DataDictionary
- def writeHtml(hDictionary)
+ def initialize(html)
+ @html = html
+ end
- # classes used
- htmlCitation = MdHtmlCitation.new(@html)
- htmlDomain = MdHtmlDictionaryDomain.new(@html)
- htmlEntity = MdHtmlDictionaryEntity.new(@html)
+ def writeHtml(hDictionary)
- hDictId = hDictionary[:dictionaryInfo]
- aDictDom = hDictionary[:domains]
- aDictEnt = hDictionary[:entities]
+ # classes used
+ citationClass = Html_Citation.new(@html)
+ localeClass = Html_Locale.new(@html)
+ responsibilityClass = Html_Responsibility.new(@html)
+ domainClass = Html_Domain.new(@html)
+ entityClass = Html_Entity.new(@html)
- @html.details do
- @html.summary('Dictionary Identification', {'class'=>'h4'})
- @html.section(:class=>'block') do
+ # dictionary - subjects []
+ hDictionary[:subjects].each do |subject|
+ @html.em('Subject: ')
+ @html.text!(subject)
+ @html.br
+ end
- # dictionary identification - resource type
- s = hDictId[:dictResourceType]
- if !s.nil?
- @html.em('Resource type: ')
- @html.text!(s)
- @html.br
- end
+ # dictionary - domains [] {domain}
+ hDictionary[:domains].each do |hDomain|
+ @html.details do
+ @html.summary('Domain: '+hDomain[:domainCode], {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ domainClass.writeHtml(hDomain)
+ end
+ end
+ end
- # dictionary identification - description
- s = hDictId[:dictDescription]
- if !s.nil?
- @html.em('Description: ')
- @html.text!(s)
- @html.br
- end
+ # dictionary - entities [] {entity}
+ hDictionary[:entities].each do |hEntity|
+ @html.details do
+ @html.summary('Entity: '+hEntity[:entityCode], {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ entityClass.writeHtml(hEntity)
+ end
+ end
+ end
- # dictionary identification - language
- s = hDictId[:dictLanguage]
- if !s.nil?
- @html.em('Language: ')
- @html.text!(s)
- @html.br
- end
-
- # dictionary identification - citation
- @html.em('Citation: ')
- @html.section(:class=>'block') do
- htmlCitation.writeHtml(hDictId[:dictCitation])
- end
-
- end
+ # dictionary - citation {citation}
+ unless hDictionary[:citation].empty?
+ @html.details do
+ @html.summary('Citation', {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ citationClass.writeHtml(hDictionary[:citation])
end
+ end
+ end
- # data dictionary - resource domains
- unless aDictDom.empty?
- @html.details do
- @html.summary('Resource Domains', {'class'=>'h4'})
- aDictDom.each do |hDomain|
- @html.section(:class=>'block') do
- @html.details do
- @html.summary(hDomain[:domainCode], {'class'=>'h5'})
- @html.section(:class=>'block') do
- htmlDomain.writeHtml(hDomain)
- end
- end
- end
- end
- end
+ # dictionary - locales {locale}
+ hDictionary[:locales].each do |hLocale|
+ @html.details do
+ @html.summary('Locale', {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ localeClass.writeHtml(hLocale)
end
+ end
+ end
- # data dictionary - resource schema
- unless aDictEnt.empty?
- @html.details do
- @html.summary('Resource Entities', {'class'=>'h4'})
- aDictEnt.each do |hEntity|
- @html.section(:class=>'block') do
- @html.details do
- @html.summary(hEntity[:entityCode], {'class'=>'h5'})
- @html.section(:class=>'block') do
- htmlEntity.writeHtml(hEntity)
- end
- end
- end
- end
- end
+ # dictionary - responsible party {responsibility}
+ unless hDictionary[:responsibleParty].empty?
+ @html.details do
+ @html.summary(hDictionary[:responsibleParty][:roleName], {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ responsibilityClass.writeHtml(hDictionary[:responsibleParty])
end
+ end
+ end
- end # writeHtml
+ # dictionary - recommended uses []
+ hDictionary[:recommendedUses].each do |use|
+ @html.em('Recommended Use: ')
+ @html.text!(use)
+ @html.br
+ end
- end # class
+ # dictionary - dictionary format
+ unless hDictionary[:dictionaryFormat].nil?
+ @html.em('Dictionary Format: ')
+ @html.text!(hDictionary[:dictionaryFormat])
+ @html.br
+ end
- end
- end
- end
+ # dictionary - included with dataset {Boolean}
+ @html.em('Dictionary Included with Dataset?: ')
+ @html.text!(hDictionary[:includedWithDataset].to_s)
+ @html.br
+
+ end # writeHtml
+ end # Html_DataDictionary
+
+ end
+ end
+ end
end