adiwg-mdtranslator 2.16.1 → 2.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -2
  3. data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +2 -3
  4. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_attribute.rb +6 -2
  5. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processStep.rb +3 -14
  6. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processing.rb +4 -5
  7. data/lib/adiwg/mdtranslator/version.rb +3 -1
  8. data/lib/adiwg/mdtranslator/writers/html/sections/html_algorithm.rb +48 -0
  9. data/lib/adiwg/mdtranslator/writers/html/sections/html_nominalResolution.rb +51 -0
  10. data/lib/adiwg/mdtranslator/writers/html/sections/html_processReport.rb +47 -0
  11. data/lib/adiwg/mdtranslator/writers/html/sections/html_processStep.rb +35 -8
  12. data/lib/adiwg/mdtranslator/writers/html/sections/html_processing.rb +89 -0
  13. data/lib/adiwg/mdtranslator/writers/html/sections/html_source.rb +25 -0
  14. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_algorithm.rb +61 -0
  15. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_leProcessStep.rb +167 -0
  16. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_leSource.rb +150 -0
  17. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_liProcessStep.rb +130 -0
  18. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_liSource.rb +126 -0
  19. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_lineage.rb +5 -4
  20. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_nominalResolution.rb +61 -0
  21. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_processReport.rb +66 -0
  22. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_processStep.rb +22 -101
  23. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_processing.rb +110 -0
  24. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_source.rb +19 -95
  25. data/lib/adiwg/mdtranslator/writers/iso19115_1/iso19115_1_writer_messages_eng.yml +11 -0
  26. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_algorithm.rb +61 -0
  27. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_leProcessStep.rb +153 -0
  28. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_leSource.rb +134 -0
  29. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_liProcessStep.rb +126 -0
  30. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_liSource.rb +114 -0
  31. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineage.rb +13 -11
  32. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_nominalResolution.rb +61 -0
  33. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_processReport.rb +66 -0
  34. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_processStep.rb +22 -96
  35. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_processing.rb +110 -0
  36. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_source.rb +20 -82
  37. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomy.rb +2 -2
  38. data/lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer_messages_eng.yml +9 -0
  39. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processStep.rb +0 -1
  40. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processing.rb +1 -1
  41. metadata +22 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5648f5e66d246d037e252f21ab96b678acd191582beac5faed22ce1b335d7922
4
- data.tar.gz: f0125ed07e0fdfebfbc25b52ebb3144865d863713d09a37d171159fbeb86c6a8
3
+ metadata.gz: 4b362845af6332b68c79bd86eefb21288c3571eb77673bb54fb2354d60ea947f
4
+ data.tar.gz: a62c78bf1888b263870db379c5303c1d7d07e89fd7d5712b0584b6f0b44d6457
5
5
  SHA512:
6
- metadata.gz: 0d7255a476ebf2e7d3dd60795693523b04f37dd9887ff1fbdee97eb67b5a4954532aa4925f993c64325f19b75e75d19a5226294310b025a9483ea4dd9848a109
7
- data.tar.gz: 57d9fdf2c382e1ddf057faea4666c949c54915e7962b45820f5bd0486e8fd1f21274748aeb272a689d56423bc9734d540ddea423f9af061872f0639dd85203a5
6
+ metadata.gz: 9aca1d45a359ac891958c803f880716bdb6016e00cf510e43ef7462e407c2678608c12affee79f5340d16c7e29ffeafb3f2fa146578fe4ea1921d6073a651e7c
7
+ data.tar.gz: 47db90725c67976476de6cc3c7f3c92eeac6fee01c5c6a943b696abc6e9c72f03c23174224e38954e0df6e38d897d63f4376f661be0d7508067f4b995cb725b3
@@ -1,7 +1,27 @@
1
1
  # Change Log
2
2
 
3
- ## [v2.15.0](https://github.com/adiwg/mdTranslator/tree/v2.15.0)
3
+ ## [v2.17.1](https://github.com/adiwg/mdTranslator/tree/v2.17.1)
4
4
 
5
+ [Full Changelog](https://github.com/adiwg/mdTranslator/compare/v2.16.1...v2.17.1)
6
+
7
+ **Closed issues:**
8
+
9
+ - Enumerated Value lists Description written to the ISO 19110 output? [\#218](https://github.com/adiwg/mdTranslator/issues/218)
10
+ - Support applicationProfile and protocolRequest in onlineResource [\#215](https://github.com/adiwg/mdTranslator/issues/215)
11
+
12
+ **Merged pull requests:**
13
+
14
+ - Dev [\#219](https://github.com/adiwg/mdTranslator/pull/219) ([jlblcc](https://github.com/jlblcc))
15
+ - Add support for LE\_ProcessStep and LE\_Source [\#217](https://github.com/adiwg/mdTranslator/pull/217) ([stansmith907](https://github.com/stansmith907))
16
+
17
+ ## [v2.16.1](https://github.com/adiwg/mdTranslator/tree/v2.16.1) (2019-09-24)
18
+ [Full Changelog](https://github.com/adiwg/mdTranslator/compare/v2.15.0...v2.16.1)
19
+
20
+ **Merged pull requests:**
21
+
22
+ - Data Dictionary support for 19115-1 [\#216](https://github.com/adiwg/mdTranslator/pull/216) ([stansmith907](https://github.com/stansmith907))
23
+
24
+ ## [v2.15.0](https://github.com/adiwg/mdTranslator/tree/v2.15.0) (2019-05-17)
5
25
  [Full Changelog](https://github.com/adiwg/mdTranslator/compare/v2.14.2...v2.15.0)
6
26
 
7
27
  **Implemented enhancements:**
@@ -9,6 +29,10 @@
9
29
  - Add writer for ISO 19115-1 [\#207](https://github.com/adiwg/mdTranslator/issues/207)
10
30
  - Add ISO 19115-3 \(1\) Support [\#209](https://github.com/adiwg/mdTranslator/pull/209) ([stansmith907](https://github.com/stansmith907))
11
31
 
32
+ **Merged pull requests:**
33
+
34
+ - Fix issue with FGDC taxonomy reader [\#211](https://github.com/adiwg/mdTranslator/pull/211) ([stansmith907](https://github.com/stansmith907))
35
+
12
36
  ## [v2.14.2](https://github.com/adiwg/mdTranslator/tree/v2.14.2) (2018-11-02)
13
37
  [Full Changelog](https://github.com/adiwg/mdTranslator/compare/v2.14.1...v2.14.2)
14
38
 
@@ -124,7 +148,6 @@
124
148
 
125
149
  - Minor bug fixes [\#182](https://github.com/adiwg/mdTranslator/pull/182) ([stansmith907](https://github.com/stansmith907))
126
150
  - mdTranslator version 2.9.0 [\#181](https://github.com/adiwg/mdTranslator/pull/181) ([stansmith907](https://github.com/stansmith907))
127
- - Remove repository name from harvest set tag in sbJson writer. [\#151](https://github.com/adiwg/mdTranslator/pull/151) ([stansmith907](https://github.com/stansmith907))
128
151
 
129
152
  ## [v2.9.1](https://github.com/adiwg/mdTranslator/tree/v2.9.1) (2018-02-03)
130
153
  [Full Changelog](https://github.com/adiwg/mdTranslator/compare/v2.9.0...v2.9.1)
@@ -235,6 +258,10 @@
235
258
  ## [v2.3.4](https://github.com/adiwg/mdTranslator/tree/v2.3.4) (2017-10-13)
236
259
  [Full Changelog](https://github.com/adiwg/mdTranslator/compare/v2.3.3...v2.3.4)
237
260
 
261
+ **Merged pull requests:**
262
+
263
+ - Remove repository name from harvest set tag in sbJson writer. [\#151](https://github.com/adiwg/mdTranslator/pull/151) ([stansmith907](https://github.com/stansmith907))
264
+
238
265
  ## [v2.3.3](https://github.com/adiwg/mdTranslator/tree/v2.3.3) (2017-10-11)
239
266
  [Full Changelog](https://github.com/adiwg/mdTranslator/compare/v2.3.2...v2.3.3)
240
267
 
@@ -958,7 +958,7 @@ class InternalMetadata
958
958
  def newProcessing
959
959
  {
960
960
  identifier: {},
961
- softwareReferences: [],
961
+ softwareReference: {},
962
962
  procedureDescription: nil,
963
963
  documentation: [],
964
964
  runtimeParameters: nil,
@@ -973,11 +973,10 @@ class InternalMetadata
973
973
  rationale: nil,
974
974
  timePeriod: {},
975
975
  processors: [],
976
- references: [],
977
976
  stepSources: [],
978
977
  stepProducts: [],
978
+ references: [],
979
979
  scope: {},
980
- output: [],
981
980
  processingInformation: {},
982
981
  reports: []
983
982
  }
@@ -59,6 +59,7 @@ module ADIWG
59
59
  end
60
60
 
61
61
  # entity attribute 5.1.2.4 (attrdomv) - attribute domain value (required)
62
+ domainLength = hDictionary[:domains].length
62
63
  axDomain = xAttribute.xpath('./attrdomv')
63
64
  unless axDomain.empty?
64
65
 
@@ -104,9 +105,12 @@ module ADIWG
104
105
  # add domainId to attribute
105
106
  # fgdc allows multiple domain definitions
106
107
  # mdJson allows only one domain definition for an attribute
107
- # take the first, if this is a problem the user will need to fix in the editor
108
+ # take the first domain that is assigned to the attribute,
109
+ # if this is a problem the user will need to fix in the editor
108
110
  unless hDictionary[:domains].empty?
109
- hAttribute[:domainId] = hDictionary[:domains][0][:domainId]
111
+ if hDictionary[:domains].length > domainLength
112
+ hAttribute[:domainId] = hDictionary[:domains][domainLength][:domainId]
113
+ end
110
114
  end
111
115
 
112
116
  axBegin = xAttribute.xpath('./begdatea')
@@ -110,7 +110,7 @@ module ADIWG
110
110
  end
111
111
  end
112
112
 
113
- # process step - step products [] {source}
113
+ # process step LE 'output' - step products [] {source}
114
114
  if hProcStep.has_key?('stepProduct')
115
115
  aSources = hProcStep['stepProduct']
116
116
  aSources.each do |item|
@@ -132,18 +132,7 @@ module ADIWG
132
132
  end
133
133
  end
134
134
 
135
- # process step - output [] {source}
136
- if hProcStep.has_key?('output')
137
- aSources = hProcStep['output']
138
- aSources.each do |item|
139
- hSource = Source.unpack(item, responseObj, outContext)
140
- unless hSource.nil?
141
- intProcStep[:output] << hSource
142
- end
143
- end
144
- end
145
-
146
- # process step - processing information {processing}
135
+ # process step LE - processing information {processing}
147
136
  if hProcStep.has_key?('processingInformation')
148
137
  unless hProcStep['processingInformation'].empty?
149
138
  hReturn = Processing.unpack(hProcStep['processingInformation'], responseObj, outContext)
@@ -153,7 +142,7 @@ module ADIWG
153
142
  end
154
143
  end
155
144
 
156
- # process step - report [] {processReport}
145
+ # process step LE - report [] {processReport}
157
146
  if hProcStep.has_key?('report')
158
147
  aReports = hProcStep['report']
159
148
  aReports.each do |item|
@@ -47,11 +47,10 @@ module ADIWG
47
47
 
48
48
  # processing - software reference
49
49
  if hProcessing.has_key?('softwareReference')
50
- aCitation = hProcessing['softwareReference']
51
- aCitation.each do |item|
52
- hCitation = Citation.unpack(item, responseObj, outContext)
53
- unless hCitation.nil?
54
- intProcessing[:softwareReferences] << hCitation
50
+ unless hProcessing['softwareReference'].empty?
51
+ hReturn = Citation.unpack(hProcessing['softwareReference'], responseObj, outContext)
52
+ unless hReturn.nil?
53
+ intProcessing[:softwareReference] = hReturn
55
54
  end
56
55
  end
57
56
  end
@@ -1,6 +1,8 @@
1
1
  # adiwg mdTranslator
2
2
 
3
3
  # version 2 history
4
+ # 2.17.1 2019-11-06 fix attribute domain assignment
5
+ # 2.17.0 2019-09-28 add support for LE_ProcessStep and LE_Source
4
6
  # 2.16.1 2019-09-19 refactor fgdc reader to output FGDC entityAttribute citation title as dictionary citation title
5
7
  # 2.16.1 2019-09-18 add applicationProfile and protocolRequest to onlineResource
6
8
  # 2.16.0 2019-09-17 add 19110:2005 dictionary support to 19115-1
@@ -107,7 +109,7 @@
107
109
  module ADIWG
108
110
  module Mdtranslator
109
111
  # current mdtranslator version
110
- VERSION = "2.16.1"
112
+ VERSION = "2.17.1"
111
113
  end
112
114
  end
113
115
 
@@ -0,0 +1,48 @@
1
+ # HTML writer
2
+ # algorithm
3
+
4
+ # History:
5
+ # Stan Smith 2019-09-24 original script
6
+
7
+ require_relative 'html_citation'
8
+
9
+ module ADIWG
10
+ module Mdtranslator
11
+ module Writers
12
+ module Html
13
+
14
+ class Html_Algorithm
15
+
16
+ def initialize(html)
17
+ @html = html
18
+ end
19
+
20
+ def writeHtml(hAlgorithm)
21
+
22
+ # classes used
23
+ citationClass = Html_Citation.new(@html)
24
+
25
+ # algorithm - description
26
+ unless hAlgorithm[:description].nil?
27
+ @html.em('Description: ')
28
+ @html.text!(hAlgorithm[:description])
29
+ @html.br
30
+ end
31
+
32
+ # algorithm - citation {citation}
33
+ unless hAlgorithm[:citation].empty?
34
+ @html.details do
35
+ @html.summary('Algorithm citation', {'class' => 'h5'})
36
+ @html.section(:class => 'block') do
37
+ citationClass.writeHtml(hAlgorithm[:citation])
38
+ end
39
+ end
40
+ end
41
+
42
+ end # writeHtml
43
+ end # Html_Algorithm
44
+
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,51 @@
1
+ # HTML writer
2
+ # nominal resolution
3
+
4
+ # History:
5
+ # Stan Smith 2019-09-24 original script
6
+
7
+ require_relative 'html_measure'
8
+
9
+ module ADIWG
10
+ module Mdtranslator
11
+ module Writers
12
+ module Html
13
+
14
+ class Html_NominalResolution
15
+
16
+ def initialize(html)
17
+ @html = html
18
+ end
19
+
20
+ def writeHtml(hResolution)
21
+
22
+ # classes used
23
+ measureClass = Html_Measure.new(@html)
24
+
25
+ # nominal resolution - scanning resolution {measure}
26
+ unless hResolution[:scanningResolution].empty?
27
+ @html.details do
28
+ @html.summary('Scanning Resolution', {'class' => 'h5'})
29
+ @html.section(:class => 'block') do
30
+ measureClass.writeHtml(hResolution[:scanningResolution])
31
+ end
32
+ end
33
+ end
34
+
35
+ # nominal resolution - ground resolution {measure}
36
+ unless hResolution[:groundResolution].empty?
37
+ @html.details do
38
+ @html.summary('Ground Resolution', {'class' => 'h5'})
39
+ @html.section(:class => 'block') do
40
+ measureClass.writeHtml(hResolution[:groundResolution])
41
+ end
42
+ end
43
+ end
44
+
45
+ end # writeHtml
46
+ end # Html_NominalResolution
47
+
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,47 @@
1
+ # HTML writer
2
+ # process step report
3
+
4
+ # History:
5
+ # Stan Smith 2019-09-24 original script
6
+
7
+ module ADIWG
8
+ module Mdtranslator
9
+ module Writers
10
+ module Html
11
+
12
+ class Html_ProcessStepReport
13
+
14
+ def initialize(html)
15
+ @html = html
16
+ end
17
+
18
+ def writeHtml(hReport)
19
+
20
+ # process step report - name
21
+ unless hReport[:name].nil?
22
+ @html.em('Name: ')
23
+ @html.text!(hReport[:name])
24
+ @html.br
25
+ end
26
+
27
+ # process step report - description
28
+ unless hReport[:description].nil?
29
+ @html.em('Description: ')
30
+ @html.text!(hReport[:description])
31
+ @html.br
32
+ end
33
+
34
+ # process step report - file type
35
+ unless hReport[:fileType].nil?
36
+ @html.em('File Type: ')
37
+ @html.text!(hReport[:fileType])
38
+ @html.br
39
+ end
40
+
41
+ end # writeHtml
42
+ end # Html_ProcessStepReport
43
+
44
+ end
45
+ end
46
+ end
47
+ end
@@ -2,9 +2,10 @@
2
2
  # process step
3
3
 
4
4
  # History:
5
- # Stan Smith 2017-08-30 added support for process step sources
6
- # Stan Smith 2017-04-03 refactored for mdTranslator 2.0
7
- # Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
5
+ # Stan Smith 2019-09-24 add support for LE_ProcessStep
6
+ # Stan Smith 2017-08-30 add support for process step sources
7
+ # Stan Smith 2017-04-03 refactor for mdTranslator 2.0
8
+ # Stan Smith 2015-07-16 refactor to remove global namespace $HtmlNS
8
9
  # Stan Smith 2015-03-27 original script
9
10
 
10
11
  require_relative 'html_temporalExtent'
@@ -12,6 +13,8 @@ require_relative 'html_responsibility'
12
13
  require_relative 'html_citation'
13
14
  require_relative 'html_scope'
14
15
  require_relative 'html_source'
16
+ require_relative 'html_processing'
17
+ require_relative 'html_processReport'
15
18
 
16
19
  module ADIWG
17
20
  module Mdtranslator
@@ -27,11 +30,13 @@ module ADIWG
27
30
  def writeHtml(hStep)
28
31
 
29
32
  # classes used
30
- temporalClass = Html_TemporalExtent.new(@html)
33
+ temporalClass = Html_TimePeriod.new(@html)
31
34
  responsibilityClass = Html_Responsibility.new(@html)
32
35
  citationClass = Html_Citation.new(@html)
33
36
  scopeClass = Html_Scope.new(@html)
34
37
  sourceClass = Html_Source.new(@html)
38
+ processingClass = Html_Processing.new(@html)
39
+ reportClass = Html_ProcessStepReport.new(@html)
35
40
 
36
41
  # process step - id
37
42
  unless hStep[:stepId].nil?
@@ -58,10 +63,12 @@ module ADIWG
58
63
 
59
64
  # process step - time period {timePeriod}
60
65
  unless hStep[:timePeriod].empty?
61
- temporalObj = {}
62
- temporalObj[:timeInstant] = {}
63
- temporalObj[:timePeriod] = hStep[:timePeriod]
64
- temporalClass.writeHtml(temporalObj)
66
+ @html.details do
67
+ @html.summary('Time Period', {'class' => 'h5'})
68
+ @html.section(:class => 'block') do
69
+ temporalClass.writeHtml(hStep[:timePeriod])
70
+ end
71
+ end
65
72
  end
66
73
 
67
74
  # process step - references [] {citation}
@@ -135,6 +142,26 @@ module ADIWG
135
142
  end
136
143
  end
137
144
 
145
+ # process step - processing information {processingInformation}
146
+ unless hStep[:processingInformation].empty?
147
+ @html.details do
148
+ @html.summary('Processing Information', {'class' => 'h5'})
149
+ @html.section(:class => 'block') do
150
+ processingClass.writeHtml(hStep[:processingInformation])
151
+ end
152
+ end
153
+ end
154
+
155
+ # process step - report [] {processStepReport}
156
+ hStep[:reports].each do |hReport|
157
+ @html.details do
158
+ @html.summary(hReport[:name], {'class' => 'h5'})
159
+ @html.section(:class => 'block') do
160
+ reportClass.writeHtml(hReport)
161
+ end
162
+ end
163
+ end
164
+
138
165
  end # writeHtml
139
166
  end # Html_ProcessStep
140
167
 
@@ -0,0 +1,89 @@
1
+ # HTML writer
2
+ # processing
3
+
4
+ # History:
5
+ # Stan Smith 2019-09-24 original script
6
+
7
+ require_relative 'html_identifier'
8
+ require_relative 'html_citation'
9
+ require_relative 'html_algorithm'
10
+
11
+ module ADIWG
12
+ module Mdtranslator
13
+ module Writers
14
+ module Html
15
+
16
+ class Html_Processing
17
+
18
+ def initialize(html)
19
+ @html = html
20
+ end
21
+
22
+ def writeHtml(hProcessing)
23
+
24
+ # classes used
25
+ identifierClass = Html_Identifier.new(@html)
26
+ citationClass = Html_Citation.new(@html)
27
+ algorithmClass = Html_Algorithm.new(@html)
28
+
29
+ # processing - procedure description
30
+ unless hProcessing[:procedureDescription].nil?
31
+ @html.em(' Procedure Description: ')
32
+ @html.text!(hProcessing[:procedureDescription])
33
+ @html.br
34
+ end
35
+
36
+ # processing - identifier {identifier}
37
+ unless hProcessing[:identifier].empty?
38
+ @html.details do
39
+ @html.summary('Identifier', {'class' => 'h5'})
40
+ @html.section(:class => 'block') do
41
+ identifierClass.writeHtml(hProcessing[:identifier])
42
+ end
43
+ end
44
+ end
45
+
46
+ # processing - software reference {citation}
47
+ unless hProcessing[:softwareReference].empty?
48
+ @html.details do
49
+ @html.summary('Software Reference', {'class' => 'h5'})
50
+ @html.section(:class => 'block') do
51
+ citationClass.writeHtml(hProcessing[:softwareReference])
52
+ end
53
+ end
54
+ end
55
+
56
+ # processing - runtime parameters
57
+ unless hProcessing[:runtimeParameters].nil?
58
+ @html.em(' Runtime Parameters: ')
59
+ @html.text!(hProcessing[:runtimeParameters])
60
+ @html.br
61
+ end
62
+
63
+ # processing - documentation [] {citation}
64
+ hProcessing[:documentation].each do |hCitation|
65
+ @html.details do
66
+ @html.summary('Documentation', {'class' => 'h5'})
67
+ @html.section(:class => 'block') do
68
+ citationClass.writeHtml(hCitation)
69
+ end
70
+ end
71
+ end
72
+
73
+ # processing - algorithm [] {algorithm}
74
+ hProcessing[:algorithms].each do |hAlgorithm|
75
+ @html.details do
76
+ @html.summary('Algorithm', {'class' => 'h5'})
77
+ @html.section(:class => 'block') do
78
+ algorithmClass.writeHtml(hAlgorithm)
79
+ end
80
+ end
81
+ end
82
+
83
+ end # writeHtml
84
+ end # Html_Processing
85
+
86
+ end
87
+ end
88
+ end
89
+ end