lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb in adiwg-mdtranslator-2.4.0 vs lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb in adiwg-mdtranslator-2.5.0

- old
+ new

@@ -1,16 +1,18 @@ # HTML writer # entity # History: +# Stan Smith 2017-11-03 added new elements to support fgdc # 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 require_relative 'html_entityIndex' require_relative 'html_entityAttribute' require_relative 'html_entityForeignKey' +require_relative 'html_citation' module ADIWG module Mdtranslator module Writers module Html @@ -19,94 +21,146 @@ def initialize(html) @html = html end - def writeHtml(hEntity) + def writeHtml(aEntities) - # classes used - indexClass = Html_EntityIndex.new(@html) - attributeClass = Html_EntityAttribute.new(@html) - foreignClass = Html_EntityForeignKey.new(@html) + aEntities.each do |hEntity| - # entity - entity id - unless hEntity[:entityId].nil? - @html.em('ID: ') - @html.text!(hEntity[:entityId]) - @html.br - end + # classes used + indexClass = Html_EntityIndex.new(@html) + attributeClass = Html_EntityAttribute.new(@html) + foreignClass = Html_EntityForeignKey.new(@html) + citationClass = Html_Citation.new(@html) - # entity - name - unless hEntity[:entityName].nil? - @html.em('Name: ') - @html.text!(hEntity[:entityName]) - @html.br - end + eName = 'entity' + eName = hEntity[:entityCode] unless hEntity[:entityCode].nil? + eName = hEntity[:entityName] unless hEntity[:entityName].nil? - # entity - code - unless hEntity[:entityCode].nil? - @html.em('Code: ') - @html.text!(hEntity[:entityCode]) - @html.br - end + @html.details do + @html.summary(eName, {'class' => 'h5'}) + @html.section(:class => 'block') do - # entity - alias names - hEntity[:entityAlias].each do |otherName| - @html.em('Alias: ') - @html.section(:class => 'block') do - @html.text!(otherName) - end - end + # entity - entity id + unless hEntity[:entityId].nil? + @html.em('ID: ') + @html.text!(hEntity[:entityId]) + @html.br + end - # entity - definition - unless hEntity[:entityDefinition].nil? - @html.em('Definition: ') - @html.section(:class => 'block') do - @html.text!(hEntity[:entityDefinition]) - end - end + # entity - name + unless hEntity[:entityName].nil? + @html.em('Name: ') + @html.text!(hEntity[:entityName]) + @html.br + end - # entity - primary key - unless hEntity[:primaryKey].empty? - @html.em('Primary Key Attribute(s):') - @html.section(:class => 'block') do - hEntity[:primaryKey].each do |attribute| - @html.text!(attribute) - @html.br - end - end - end + # entity - code + unless hEntity[:entityCode].nil? + @html.em('Code: ') + @html.text!(hEntity[:entityCode]) + @html.br + end - # entity - indexes [] {entityIndex} - hEntity[:indexes].each do |hIndex| - @html.details do - @html.summary('Index: '+hIndex[:indexCode], {'class' => 'h5'}) - @html.section(:class => 'block') do - indexClass.writeHtml(hIndex) - end - end - end + # entity - alias names + hEntity[:entityAlias].each do |otherName| + @html.em('Alias: ') + @html.section(:class => 'block') do + @html.text!(otherName) + end + end - # entity - attributes [] {entityAttribute} - hEntity[:attributes].each do |hAttribute| - @html.details do - @html.summary('Attribute: '+hAttribute[:attributeCode], {'class' => 'h5'}) - @html.section(:class => 'block') do - attributeClass.writeHtml(hAttribute) - end - end - end + # entity - definition + unless hEntity[:entityDefinition].nil? + @html.em('Definition: ') + @html.section(:class => 'block') do + @html.text!(hEntity[:entityDefinition]) + end + end - # entity - foreign keys [] {entityForeignKey} - hEntity[:foreignKeys].each do |hForeign| - @html.details do - @html.summary('ForeignKey', {'class' => 'h5'}) - @html.section(:class => 'block') do - foreignClass.writeHtml(hForeign) + # entity - primary key + unless hEntity[:primaryKey].empty? + @html.em('Primary Key Attribute(s):') + @html.section(:class => 'block') do + hEntity[:primaryKey].each do |attribute| + @html.text!(attribute) + @html.br + end + end + end + + # entity - field separator character + unless hEntity[:fieldSeparatorCharacter].nil? + @html.em('Field Separator Character: ') + @html.text!(hEntity[:fieldSeparatorCharacter]) + @html.br + end + + # entity - number of header lines + unless hEntity[:numberOfHeaderLines].nil? + @html.em('Number of Header Lines: ') + @html.text!(hEntity[:numberOfHeaderLines].to_s) + @html.br + end + + # entity - quote character + unless hEntity[:quoteCharacter].nil? + @html.em('Quote Character: ') + @html.text!(hEntity[:quoteCharacter]) + @html.br + end + + # entity - indexes [] {entityIndex} + hEntity[:indexes].each do |hIndex| + iName = 'index' + iName = hIndex[:indexCode] unless hIndex[:indexCode].nil? + iName = hIndex[:indexName] unless hIndex[:indexName].nil? + @html.details do + @html.summary('Index: '+iName, {'class' => 'h5'}) + @html.section(:class => 'block') do + indexClass.writeHtml(hIndex) + end + end + end + + # entity - foreign keys [] {entityForeignKey} + hEntity[:foreignKeys].each do |hForeign| + @html.details do + @html.summary('ForeignKey', {'class' => 'h5'}) + @html.section(:class => 'block') do + foreignClass.writeHtml(hForeign) + end + end + end + + # entity - entity reference [] {citation} + hEntity[:entityReferences].each do |hReference| + @html.details do + @html.summary('Reference', {'class' => 'h5'}) + @html.section(:class => 'block') do + citationClass.writeHtml(hReference) + end + end + end + + # entity - attributes [] {entityAttribute} + hEntity[:attributes].each do |hAttribute| + aName = 'attribute' + aName = hAttribute[:attributeCode] unless hAttribute[:attributeCode].nil? + aName = hAttribute[:attributeName] unless hAttribute[:attributeName].nil? + @html.details do + @html.summary('Attribute: '+aName, {'class' => 'h5'}) + @html.section(:class => 'block') do + attributeClass.writeHtml(hAttribute) + end + end + end + end end - end + end # aEntity end # writeHtml end # Html_Entity end end