Almirah 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/almirah +4 -4
- data/lib/almirah/doc_fabric.rb +65 -65
- data/lib/almirah/doc_items/blockquote.rb +21 -21
- data/lib/almirah/doc_items/code_block.rb +26 -26
- data/lib/almirah/doc_items/controlled_paragraph.rb +112 -112
- data/lib/almirah/doc_items/controlled_table.rb +224 -224
- data/lib/almirah/doc_items/controlled_table_row.rb +22 -22
- data/lib/almirah/doc_items/doc_footer.rb +16 -16
- data/lib/almirah/doc_items/doc_item.rb +22 -22
- data/lib/almirah/doc_items/frontmatter.rb +9 -9
- data/lib/almirah/doc_items/heading.rb +93 -93
- data/lib/almirah/doc_items/image.rb +27 -27
- data/lib/almirah/doc_items/markdown_list.rb +156 -156
- data/lib/almirah/doc_items/markdown_table.rb +61 -61
- data/lib/almirah/doc_items/paragraph.rb +25 -25
- data/lib/almirah/doc_items/text_line.rb +296 -296
- data/lib/almirah/doc_items/todo_block.rb +21 -21
- data/lib/almirah/doc_parser.rb +378 -378
- data/lib/almirah/doc_types/base_document.rb +64 -64
- data/lib/almirah/doc_types/coverage.rb +95 -80
- data/lib/almirah/doc_types/index.rb +173 -173
- data/lib/almirah/doc_types/persistent_document.rb +17 -17
- data/lib/almirah/doc_types/protocol.rb +24 -24
- data/lib/almirah/doc_types/specification.rb +67 -67
- data/lib/almirah/doc_types/traceability.rb +142 -142
- data/lib/almirah/dom/doc_section.rb +25 -25
- data/lib/almirah/dom/document.rb +78 -78
- data/lib/almirah/navigation_pane.rb +16 -16
- data/lib/almirah/project.rb +287 -287
- data/lib/almirah/project_configuration.rb +41 -41
- data/lib/almirah/project_template.rb +298 -298
- data/lib/almirah/project_utility.rb +52 -0
- data/lib/almirah/search/specifications_db.rb +79 -79
- data/lib/almirah/templates/css/main.css +300 -300
- data/lib/almirah/templates/css/search.css +40 -40
- data/lib/almirah/templates/page.html +42 -42
- data/lib/almirah/templates/scripts/main.js +111 -111
- data/lib/almirah/templates/scripts/orama_search.js +138 -138
- data/lib/almirah.rb +93 -58
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 163089850b213b2d22e6f4eacb5497d86afa143ecd5f2c02f1b9f2985e8b22cf
|
4
|
+
data.tar.gz: b6c93f44780216b6d8f898c7f037efe22ebdcf92978d68ab907fc6794e6bdac1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfb26159036daa64ab4107352aab6f1e4ae0f92945050945d46a4742d59eddc223a23e6108189595120ec63e44ad85e07a198222574f238391ac091c903965a3
|
7
|
+
data.tar.gz: fe7a12729f62b9b5faee456c2d6ce9fe31d1730da4e9cd0c1057ad4420043eb8628f79b67b4bc38f57aafc49b890f9ec7627814c4fae44cb0d7486b5c5821b05
|
data/bin/almirah
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "almirah"
|
4
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "almirah"
|
4
|
+
|
5
5
|
CLI.start(ARGV)
|
data/lib/almirah/doc_fabric.rb
CHANGED
@@ -1,65 +1,65 @@
|
|
1
|
-
require_relative 'doc_types/base_document'
|
2
|
-
require_relative 'doc_types/specification'
|
3
|
-
require_relative 'doc_types/protocol'
|
4
|
-
require_relative 'doc_types/coverage'
|
5
|
-
require_relative 'doc_parser'
|
6
|
-
require_relative 'dom/document'
|
7
|
-
require_relative 'doc_items/heading'
|
8
|
-
|
9
|
-
class DocFabric
|
10
|
-
@@color_index = 0
|
11
|
-
@@spec_colors = %w[cff4d2 fbeee6 ffcad4 bce6ff e4dfd9 f9e07f cbe54e d3e7ee eab595 86e3c3
|
12
|
-
ffdca2 ffffff ffdd94 d0e6a5 ffb284 f3dbcf c9bbc8 c6c09c]
|
13
|
-
|
14
|
-
def self.add_lazy_doc_id(path)
|
15
|
-
if res = /(\w+)[.]md$/.match(path)
|
16
|
-
TextLine.add_lazy_doc_id(res[1])
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.create_specification(path)
|
21
|
-
color = @@spec_colors[@@color_index]
|
22
|
-
@@color_index += 1
|
23
|
-
@@color_index = 0 if @@color_index >= @@spec_colors.length
|
24
|
-
doc = Specification.new path
|
25
|
-
DocFabric.parse_document doc
|
26
|
-
doc.color = color
|
27
|
-
doc
|
28
|
-
end
|
29
|
-
|
30
|
-
def self.create_protocol(path)
|
31
|
-
doc = Protocol.new path
|
32
|
-
DocFabric.parse_document doc
|
33
|
-
doc
|
34
|
-
end
|
35
|
-
|
36
|
-
def self.create_coverage_matrix(specification)
|
37
|
-
doc = Coverage.new specification
|
38
|
-
Heading.reset_global_section_number
|
39
|
-
doc.headings << Heading.new(doc, doc.title, 0)
|
40
|
-
# Build dom
|
41
|
-
doc.dom = Document.new(doc.headings)
|
42
|
-
doc
|
43
|
-
end
|
44
|
-
|
45
|
-
def self.create_traceability_document(top_document, bottom_document)
|
46
|
-
doc = Traceability.new top_document, bottom_document
|
47
|
-
Heading.reset_global_section_number
|
48
|
-
doc.headings << Heading.new(doc, doc.title, 0)
|
49
|
-
# Build dom
|
50
|
-
doc.dom = Document.new(doc.headings)
|
51
|
-
doc
|
52
|
-
end
|
53
|
-
|
54
|
-
def self.parse_document(doc)
|
55
|
-
|
56
|
-
file = File.open(doc.path)
|
57
|
-
file_lines = file.readlines
|
58
|
-
file.close
|
59
|
-
|
60
|
-
DocParser.parse(doc, file_lines)
|
61
|
-
|
62
|
-
# Build dom
|
63
|
-
doc.dom = Document.new(doc.headings) if doc.is_a?(Specification) || doc.is_a?(Protocol)
|
64
|
-
end
|
65
|
-
end
|
1
|
+
require_relative 'doc_types/base_document'
|
2
|
+
require_relative 'doc_types/specification'
|
3
|
+
require_relative 'doc_types/protocol'
|
4
|
+
require_relative 'doc_types/coverage'
|
5
|
+
require_relative 'doc_parser'
|
6
|
+
require_relative 'dom/document'
|
7
|
+
require_relative 'doc_items/heading'
|
8
|
+
|
9
|
+
class DocFabric
|
10
|
+
@@color_index = 0
|
11
|
+
@@spec_colors = %w[cff4d2 fbeee6 ffcad4 bce6ff e4dfd9 f9e07f cbe54e d3e7ee eab595 86e3c3
|
12
|
+
ffdca2 ffffff ffdd94 d0e6a5 ffb284 f3dbcf c9bbc8 c6c09c]
|
13
|
+
|
14
|
+
def self.add_lazy_doc_id(path)
|
15
|
+
if res = /(\w+)[.]md$/.match(path)
|
16
|
+
TextLine.add_lazy_doc_id(res[1])
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.create_specification(path)
|
21
|
+
color = @@spec_colors[@@color_index]
|
22
|
+
@@color_index += 1
|
23
|
+
@@color_index = 0 if @@color_index >= @@spec_colors.length
|
24
|
+
doc = Specification.new path
|
25
|
+
DocFabric.parse_document doc
|
26
|
+
doc.color = color
|
27
|
+
doc
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.create_protocol(path)
|
31
|
+
doc = Protocol.new path
|
32
|
+
DocFabric.parse_document doc
|
33
|
+
doc
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.create_coverage_matrix(specification)
|
37
|
+
doc = Coverage.new specification
|
38
|
+
Heading.reset_global_section_number
|
39
|
+
doc.headings << Heading.new(doc, doc.title, 0)
|
40
|
+
# Build dom
|
41
|
+
doc.dom = Document.new(doc.headings)
|
42
|
+
doc
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.create_traceability_document(top_document, bottom_document)
|
46
|
+
doc = Traceability.new top_document, bottom_document
|
47
|
+
Heading.reset_global_section_number
|
48
|
+
doc.headings << Heading.new(doc, doc.title, 0)
|
49
|
+
# Build dom
|
50
|
+
doc.dom = Document.new(doc.headings)
|
51
|
+
doc
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.parse_document(doc)
|
55
|
+
|
56
|
+
file = File.open(doc.path)
|
57
|
+
file_lines = file.readlines
|
58
|
+
file.close
|
59
|
+
|
60
|
+
DocParser.parse(doc, file_lines)
|
61
|
+
|
62
|
+
# Build dom
|
63
|
+
doc.dom = Document.new(doc.headings) if doc.is_a?(Specification) || doc.is_a?(Protocol)
|
64
|
+
end
|
65
|
+
end
|
@@ -1,22 +1,22 @@
|
|
1
|
-
require_relative "doc_item"
|
2
|
-
|
3
|
-
class Blockquote < DocItem
|
4
|
-
|
5
|
-
attr_accessor :text
|
6
|
-
|
7
|
-
def initialize(text)
|
8
|
-
@text = text
|
9
|
-
end
|
10
|
-
|
11
|
-
def to_html
|
12
|
-
s = ''
|
13
|
-
f_text = format_string(@text)
|
14
|
-
if @@html_table_render_in_progress
|
15
|
-
s += "</table>\n"
|
16
|
-
@@html_table_render_in_progress = false
|
17
|
-
end
|
18
|
-
|
19
|
-
s += "<div class=\"blockquote\"><p>#{f_text}</div>\n"
|
20
|
-
return s
|
21
|
-
end
|
1
|
+
require_relative "doc_item"
|
2
|
+
|
3
|
+
class Blockquote < DocItem
|
4
|
+
|
5
|
+
attr_accessor :text
|
6
|
+
|
7
|
+
def initialize(text)
|
8
|
+
@text = text
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_html
|
12
|
+
s = ''
|
13
|
+
f_text = format_string(@text)
|
14
|
+
if @@html_table_render_in_progress
|
15
|
+
s += "</table>\n"
|
16
|
+
@@html_table_render_in_progress = false
|
17
|
+
end
|
18
|
+
|
19
|
+
s += "<div class=\"blockquote\"><p>#{f_text}</div>\n"
|
20
|
+
return s
|
21
|
+
end
|
22
22
|
end
|
@@ -1,27 +1,27 @@
|
|
1
|
-
require_relative "doc_item"
|
2
|
-
|
3
|
-
class CodeBlock < DocItem
|
4
|
-
|
5
|
-
attr_accessor :suggested_format
|
6
|
-
attr_accessor :code_lines
|
7
|
-
|
8
|
-
def initialize(suggested_format)
|
9
|
-
@suggested_format = suggested_format
|
10
|
-
@code_lines = Array.new
|
11
|
-
end
|
12
|
-
|
13
|
-
def to_html
|
14
|
-
s = ''
|
15
|
-
|
16
|
-
if @@html_table_render_in_progress
|
17
|
-
s += "</table>\n"
|
18
|
-
@@html_table_render_in_progress = false
|
19
|
-
end
|
20
|
-
s += "<code>"
|
21
|
-
@code_lines.each do |l|
|
22
|
-
s += l + " </br>"
|
23
|
-
end
|
24
|
-
s += "</code>\n"
|
25
|
-
return s
|
26
|
-
end
|
1
|
+
require_relative "doc_item"
|
2
|
+
|
3
|
+
class CodeBlock < DocItem
|
4
|
+
|
5
|
+
attr_accessor :suggested_format
|
6
|
+
attr_accessor :code_lines
|
7
|
+
|
8
|
+
def initialize(suggested_format)
|
9
|
+
@suggested_format = suggested_format
|
10
|
+
@code_lines = Array.new
|
11
|
+
end
|
12
|
+
|
13
|
+
def to_html
|
14
|
+
s = ''
|
15
|
+
|
16
|
+
if @@html_table_render_in_progress
|
17
|
+
s += "</table>\n"
|
18
|
+
@@html_table_render_in_progress = false
|
19
|
+
end
|
20
|
+
s += "<code>"
|
21
|
+
@code_lines.each do |l|
|
22
|
+
s += l + " </br>"
|
23
|
+
end
|
24
|
+
s += "</code>\n"
|
25
|
+
return s
|
26
|
+
end
|
27
27
|
end
|
@@ -1,112 +1,112 @@
|
|
1
|
-
require_relative 'paragraph'
|
2
|
-
|
3
|
-
class ControlledParagraph < Paragraph
|
4
|
-
attr_accessor :id, :up_link_ids, :down_links, :coverage_links
|
5
|
-
|
6
|
-
def initialize(doc, text, id)
|
7
|
-
super(doc, text)
|
8
|
-
@parent_heading = doc.headings[-1]
|
9
|
-
@id = id
|
10
|
-
@up_link_ids = nil
|
11
|
-
@down_links = nil
|
12
|
-
@coverage_links = nil
|
13
|
-
end
|
14
|
-
|
15
|
-
def to_html
|
16
|
-
s = ''
|
17
|
-
unless @@html_table_render_in_progress
|
18
|
-
s += "<table class=\"controlled\">\n"
|
19
|
-
s += "\t<thead> <th>#</th> <th></th> <th title=\"Up-links\">UL</th> <th title=\"Down-links\">DL</th> \
|
20
|
-
<th title=\"Test Coverage\">COV</th> </thead>\n"
|
21
|
-
@@html_table_render_in_progress = true # rubocop:disable Style/ClassVars
|
22
|
-
end
|
23
|
-
f_text = format_string(@text)
|
24
|
-
s += "\t<tr>\n"
|
25
|
-
s += "\t\t<td class=\"item_id\"> \
|
26
|
-
<a name=\"#{@id}\" id=\"#{@id}\" href=\"##{@id}\" title=\"Paragraph ID\">#{@id}</a></td>\n"
|
27
|
-
s += "\t\t<td class=\"item_text\">#{f_text}</td>\n"
|
28
|
-
|
29
|
-
if @up_link_ids
|
30
|
-
if @up_link_ids.length == 1
|
31
|
-
if tmp = /^([a-zA-Z]+)-\d+/.match(@up_link_ids[0])
|
32
|
-
up_link_doc_name = tmp[1].downcase
|
33
|
-
end
|
34
|
-
s += "\t\t<td class=\"item_id\">\
|
35
|
-
<a href=\"./../#{up_link_doc_name}/#{up_link_doc_name}.html##{@up_link_ids[0]}\" \
|
36
|
-
class=\"external\" title=\"Linked to\">#{@up_link_ids[0]}</a></td>\n"
|
37
|
-
else
|
38
|
-
s += "\t\t<td class=\"item_id\">"
|
39
|
-
s += "<div id=\"UL_#{@id}\" style=\"display: block;\">"
|
40
|
-
s += "<a href=\"#\" onclick=\"upLink_OnClick(this.parentElement); return false;\" \
|
41
|
-
class=\"external\" title=\"Number of up-links\">#{@up_link_ids.length}</a>"
|
42
|
-
s += '</div>'
|
43
|
-
s += "<div id=\"ULS_#{@id}\" style=\"display: none;\">"
|
44
|
-
@up_link_ids.each do |lnk|
|
45
|
-
if tmp = /^([a-zA-Z]+)-\d+/.match(lnk)
|
46
|
-
up_link_doc_name = tmp[1].downcase
|
47
|
-
end
|
48
|
-
s += "\t\t\t<a href=\"./../#{up_link_doc_name}/#{up_link_doc_name}.html##{lnk}\" \
|
49
|
-
class=\"external\" title=\"Linked to\">#{lnk}</a>\n<br>"
|
50
|
-
end
|
51
|
-
s += '</div>'
|
52
|
-
s += "</td>\n"
|
53
|
-
end
|
54
|
-
else
|
55
|
-
s += "\t\t<td class=\"item_id\"></td>\n"
|
56
|
-
end
|
57
|
-
|
58
|
-
if @down_links
|
59
|
-
if tmp = /^([a-zA-Z]+)-\d+/.match(@down_links[0].id) # guessing that all the links refer to one document
|
60
|
-
down_link_doc_name = tmp[1].downcase
|
61
|
-
end
|
62
|
-
if @down_links.length == 1
|
63
|
-
s += "\t\t<td class=\"item_id\">\
|
64
|
-
<a href=\"./../#{down_link_doc_name}/#{down_link_doc_name}.html##{@down_links[0].id}\" \
|
65
|
-
class=\"external\" title=\"Referenced in\">#{@down_links[0].id}</a></td>\n"
|
66
|
-
else
|
67
|
-
s += "\t\t<td class=\"item_id\">"
|
68
|
-
s += "<div id=\"DL_#{@id}\" style=\"display: block;\">"
|
69
|
-
s += "<a href=\"#\" onclick=\"downlink_OnClick(this.parentElement); return false;\" \
|
70
|
-
class=\"external\" title=\"Number of references\">#{@down_links.length}</a>"
|
71
|
-
s += '</div>'
|
72
|
-
s += "<div id=\"DLS_#{@id}\" style=\"display: none;\">"
|
73
|
-
@down_links.each do |lnk|
|
74
|
-
s += "\t\t\t<a href=\"./../#{lnk.parent_doc.id}/#{lnk.parent_doc.id}.html##{lnk.id}\" \
|
75
|
-
class=\"external\" title=\"Referenced in\">#{lnk.id}</a>\n<br>"
|
76
|
-
end
|
77
|
-
s += '</div>'
|
78
|
-
s += "</td>\n"
|
79
|
-
end
|
80
|
-
else
|
81
|
-
s += "\t\t<td class=\"item_id\"></td>\n"
|
82
|
-
end
|
83
|
-
|
84
|
-
if @coverage_links
|
85
|
-
if tmp = /^(.+)[.]\d+/.match(@coverage_links[0].id) # guessing that all the links refer to one document
|
86
|
-
cov_link_doc_name = tmp[1].downcase
|
87
|
-
end
|
88
|
-
if @coverage_links.length == 1
|
89
|
-
s += "\t\t<td class=\"item_id\">\
|
90
|
-
<a href=\"./../../tests/protocols/#{cov_link_doc_name}/#{cov_link_doc_name}.html\" \
|
91
|
-
class=\"external\" title=\"Number of verification steps\">#{@coverage_links[0].id}</a></td>\n"
|
92
|
-
else
|
93
|
-
s += "\t\t<td class=\"item_id\">"
|
94
|
-
s += "<div id=\"COV_#{@id}\" style=\"display: block;\">"
|
95
|
-
s += "<a href=\"#\" onclick=\"coverageLink_OnClick(this.parentElement); return false;\" \
|
96
|
-
class=\"external\" title=\"Number of verification steps\">#{@coverage_links.length}</a>"
|
97
|
-
s += '</div>'
|
98
|
-
s += "<div id=\"COVS_#{@id}\" style=\"display: none;\">"
|
99
|
-
@coverage_links.each do |lnk|
|
100
|
-
s += "\t\t\t<a href=\"./../../tests/protocols/#{lnk.parent_doc.id}/#{lnk.parent_doc.id}.html##{lnk.id}\" \
|
101
|
-
class=\"external\" title=\"Covered in\">#{lnk.id}</a>\n<br>"
|
102
|
-
end
|
103
|
-
s += '</div>'
|
104
|
-
s += "</td>\n"
|
105
|
-
end
|
106
|
-
else
|
107
|
-
s += "\t\t<td class=\"item_id\"></td>\n"
|
108
|
-
end
|
109
|
-
s += "\t</tr>\n"
|
110
|
-
s
|
111
|
-
end
|
112
|
-
end
|
1
|
+
require_relative 'paragraph'
|
2
|
+
|
3
|
+
class ControlledParagraph < Paragraph
|
4
|
+
attr_accessor :id, :up_link_ids, :down_links, :coverage_links
|
5
|
+
|
6
|
+
def initialize(doc, text, id)
|
7
|
+
super(doc, text)
|
8
|
+
@parent_heading = doc.headings[-1]
|
9
|
+
@id = id
|
10
|
+
@up_link_ids = nil
|
11
|
+
@down_links = nil
|
12
|
+
@coverage_links = nil
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_html
|
16
|
+
s = ''
|
17
|
+
unless @@html_table_render_in_progress
|
18
|
+
s += "<table class=\"controlled\">\n"
|
19
|
+
s += "\t<thead> <th>#</th> <th></th> <th title=\"Up-links\">UL</th> <th title=\"Down-links\">DL</th> \
|
20
|
+
<th title=\"Test Coverage\">COV</th> </thead>\n"
|
21
|
+
@@html_table_render_in_progress = true # rubocop:disable Style/ClassVars
|
22
|
+
end
|
23
|
+
f_text = format_string(@text)
|
24
|
+
s += "\t<tr>\n"
|
25
|
+
s += "\t\t<td class=\"item_id\"> \
|
26
|
+
<a name=\"#{@id}\" id=\"#{@id}\" href=\"##{@id}\" title=\"Paragraph ID\">#{@id}</a></td>\n"
|
27
|
+
s += "\t\t<td class=\"item_text\">#{f_text}</td>\n"
|
28
|
+
|
29
|
+
if @up_link_ids
|
30
|
+
if @up_link_ids.length == 1
|
31
|
+
if tmp = /^([a-zA-Z]+)-\d+/.match(@up_link_ids[0])
|
32
|
+
up_link_doc_name = tmp[1].downcase
|
33
|
+
end
|
34
|
+
s += "\t\t<td class=\"item_id\">\
|
35
|
+
<a href=\"./../#{up_link_doc_name}/#{up_link_doc_name}.html##{@up_link_ids[0]}\" \
|
36
|
+
class=\"external\" title=\"Linked to\">#{@up_link_ids[0]}</a></td>\n"
|
37
|
+
else
|
38
|
+
s += "\t\t<td class=\"item_id\">"
|
39
|
+
s += "<div id=\"UL_#{@id}\" style=\"display: block;\">"
|
40
|
+
s += "<a href=\"#\" onclick=\"upLink_OnClick(this.parentElement); return false;\" \
|
41
|
+
class=\"external\" title=\"Number of up-links\">#{@up_link_ids.length}</a>"
|
42
|
+
s += '</div>'
|
43
|
+
s += "<div id=\"ULS_#{@id}\" style=\"display: none;\">"
|
44
|
+
@up_link_ids.each do |lnk|
|
45
|
+
if tmp = /^([a-zA-Z]+)-\d+/.match(lnk)
|
46
|
+
up_link_doc_name = tmp[1].downcase
|
47
|
+
end
|
48
|
+
s += "\t\t\t<a href=\"./../#{up_link_doc_name}/#{up_link_doc_name}.html##{lnk}\" \
|
49
|
+
class=\"external\" title=\"Linked to\">#{lnk}</a>\n<br>"
|
50
|
+
end
|
51
|
+
s += '</div>'
|
52
|
+
s += "</td>\n"
|
53
|
+
end
|
54
|
+
else
|
55
|
+
s += "\t\t<td class=\"item_id\"></td>\n"
|
56
|
+
end
|
57
|
+
|
58
|
+
if @down_links
|
59
|
+
if tmp = /^([a-zA-Z]+)-\d+/.match(@down_links[0].id) # guessing that all the links refer to one document
|
60
|
+
down_link_doc_name = tmp[1].downcase
|
61
|
+
end
|
62
|
+
if @down_links.length == 1
|
63
|
+
s += "\t\t<td class=\"item_id\">\
|
64
|
+
<a href=\"./../#{down_link_doc_name}/#{down_link_doc_name}.html##{@down_links[0].id}\" \
|
65
|
+
class=\"external\" title=\"Referenced in\">#{@down_links[0].id}</a></td>\n"
|
66
|
+
else
|
67
|
+
s += "\t\t<td class=\"item_id\">"
|
68
|
+
s += "<div id=\"DL_#{@id}\" style=\"display: block;\">"
|
69
|
+
s += "<a href=\"#\" onclick=\"downlink_OnClick(this.parentElement); return false;\" \
|
70
|
+
class=\"external\" title=\"Number of references\">#{@down_links.length}</a>"
|
71
|
+
s += '</div>'
|
72
|
+
s += "<div id=\"DLS_#{@id}\" style=\"display: none;\">"
|
73
|
+
@down_links.each do |lnk|
|
74
|
+
s += "\t\t\t<a href=\"./../#{lnk.parent_doc.id}/#{lnk.parent_doc.id}.html##{lnk.id}\" \
|
75
|
+
class=\"external\" title=\"Referenced in\">#{lnk.id}</a>\n<br>"
|
76
|
+
end
|
77
|
+
s += '</div>'
|
78
|
+
s += "</td>\n"
|
79
|
+
end
|
80
|
+
else
|
81
|
+
s += "\t\t<td class=\"item_id\"></td>\n"
|
82
|
+
end
|
83
|
+
|
84
|
+
if @coverage_links
|
85
|
+
if tmp = /^(.+)[.]\d+/.match(@coverage_links[0].id) # guessing that all the links refer to one document
|
86
|
+
cov_link_doc_name = tmp[1].downcase
|
87
|
+
end
|
88
|
+
if @coverage_links.length == 1
|
89
|
+
s += "\t\t<td class=\"item_id\">\
|
90
|
+
<a href=\"./../../tests/protocols/#{cov_link_doc_name}/#{cov_link_doc_name}.html\" \
|
91
|
+
class=\"external\" title=\"Number of verification steps\">#{@coverage_links[0].id}</a></td>\n"
|
92
|
+
else
|
93
|
+
s += "\t\t<td class=\"item_id\">"
|
94
|
+
s += "<div id=\"COV_#{@id}\" style=\"display: block;\">"
|
95
|
+
s += "<a href=\"#\" onclick=\"coverageLink_OnClick(this.parentElement); return false;\" \
|
96
|
+
class=\"external\" title=\"Number of verification steps\">#{@coverage_links.length}</a>"
|
97
|
+
s += '</div>'
|
98
|
+
s += "<div id=\"COVS_#{@id}\" style=\"display: none;\">"
|
99
|
+
@coverage_links.each do |lnk|
|
100
|
+
s += "\t\t\t<a href=\"./../../tests/protocols/#{lnk.parent_doc.id}/#{lnk.parent_doc.id}.html##{lnk.id}\" \
|
101
|
+
class=\"external\" title=\"Covered in\">#{lnk.id}</a>\n<br>"
|
102
|
+
end
|
103
|
+
s += '</div>'
|
104
|
+
s += "</td>\n"
|
105
|
+
end
|
106
|
+
else
|
107
|
+
s += "\t\t<td class=\"item_id\"></td>\n"
|
108
|
+
end
|
109
|
+
s += "\t</tr>\n"
|
110
|
+
s
|
111
|
+
end
|
112
|
+
end
|