xhtml_report_generator 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee7cef2f258529bb6cda36c4dc3f57099eed7cb6
4
- data.tar.gz: 236b3246f37cf842901a2841d444094e557ecec7
3
+ metadata.gz: bc379b301d2c38242fdb6708b0189896382ac92f
4
+ data.tar.gz: 9ebe5ee16571a086d9f6b39b94a56ee2cbe21d09
5
5
  SHA512:
6
- metadata.gz: 140ca1648b99672e2e184d3a17e1e6364c90f8c8e446aa71441f424746fea1408a3ac1652d8c1da2fa4ce136f28c2c4078bee0773de581f0b29987ff1e60517f
7
- data.tar.gz: e11a1be493f829854522b8d8f9c577fcb3afbdf3883e4717ae4e0d4bfdcf48666b795d3c5f90170d06f68fab60e90ec003889441ad788007192c827972ac3c81
6
+ metadata.gz: d3bb81610d3c81f03f5c09e99e4b53a716266ce91c75425f5912c59512bf8e5df168ca594297b18f9664b2ea6d9ecad8c7e3dc6326bbaea74ea4b00708f5f411
7
+ data.tar.gz: 5c2f2f097770f3005b681c64fdb6f92e8cb0eb229efb5c9be154f09325d5f523252b3b509039356b1d31a29dc49481c0441aa5483b313fd3fc8662164ff185f2
@@ -2,7 +2,6 @@
2
2
  module Custom
3
3
 
4
4
  #puts Module.nesting
5
-
6
5
  # creates the basic page layout and sets the current Element to the main content area (middle div)
7
6
  # @example The middle div is matched by the following xPath
8
7
  # //body/div[@class='middle']
@@ -25,7 +24,7 @@ module Custom
25
24
  div = @document.elements["//body/div[@class='head']"]
26
25
  div.text = title
27
26
  end
28
-
27
+
29
28
  def getTitle()
30
29
  pagetitle = @document.elements["//head/title"]
31
30
  return pagetitle.text
@@ -36,7 +35,7 @@ module Custom
36
35
  def setCurrent!(xpath)
37
36
  @current = @document.elements[xpath]
38
37
  end
39
-
38
+
40
39
  # returns the current xml element
41
40
  def getCurrent()
42
41
  return @current
@@ -51,7 +50,7 @@ module Custom
51
50
  @current.add_text(text)
52
51
  return @current
53
52
  end
54
-
53
+
55
54
  # Appends a <p> node after the @current node
56
55
  def content(text, attrs={})
57
56
  temp = REXML::Element.new("p")
@@ -74,7 +73,6 @@ module Custom
74
73
  return @current
75
74
  end
76
75
 
77
-
78
76
  # puts a <span> </span> tag around all captures of the regex
79
77
  # NOTE: nested captures are not supported and don't make sense in this context!!
80
78
  # @param regex [Regexp] a regular expression that will be matched
@@ -144,23 +142,30 @@ module Custom
144
142
  end # for i in arr do
145
143
  end
146
144
 
147
- # creates a html table from two dimensional array of the form Array[row][col]
148
- def table (table_data, table_attrs={}, tr_attrs={}, th_attrs={}, td_attrs={})
145
+ # creates a html table from two dimensional array of the form Array[row][col]
146
+ # @param table_data [Array] containing all data, the '.to_s' method will be called on each element
147
+ # @param headers [Number] either of 0, 1, 2, 3. Where 0 is no headers (<th>) at all, 1 is only the first row,
148
+ # 2 is only the first column and 3 is both, first row and first column as <th> elements. Every other number
149
+ # is equivalent to the bitwise AND of the two least significant bits with 1, 2 or 3
150
+ def table (table_data, headers=0, table_attrs={}, tr_attrs={}, th_attrs={}, td_attrs={})
149
151
  @current = @div_middle.add_element("table", table_attrs)
150
-
152
+
151
153
  for i in 0..table_data.length-1 do
152
154
  row = @current.add_element("tr", tr_attrs)
153
155
  for j in 0..table_data[i].length-1 do
154
- if j == 0
156
+ if (i == 0 && (0x1 & headers)==0x1)
157
+ col = row.add_element("th", th_attrs)
158
+ elsif (j == 0 && (0x2 & headers)==0x2)
159
+ col = row.add_element("th", th_attrs)
160
+ elsif ((i == 0 || j ==0) && (0x3 & headers)==0x3)
155
161
  col = row.add_element("th", th_attrs)
156
- col.add_text(table_data[i][j])
157
162
  else
158
163
  col = row.add_element("td", td_attrs)
159
- col.add_text(table_data[i][j])
160
164
  end
165
+ col.add_text(table_data[i][j].to_s)
161
166
  end
162
167
  end
163
-
168
+
164
169
  end
165
170
 
166
171
  # Appends a new heading element to body, and sets current to this new heading
@@ -180,14 +185,13 @@ module Custom
180
185
 
181
186
  temp = REXML::Element.new(type)
182
187
  temp.add_attributes(opts)
183
-
188
+
184
189
  @div_middle.insert_after(@current, temp)
185
190
  @current = temp
186
191
  @current.text = text
187
192
  return @current
188
193
  end
189
194
 
190
-
191
195
  # @param element [REXML::Element] the element in whose text tags will be added at the specified indices of @index_length_array
192
196
  # @param parent [REXML::Element] the parent to which @element should be attached after parsing
193
197
  # @param tagname [String] the tag that will be introduced as <tagname> at the indices specified
@@ -1,5 +1,5 @@
1
1
  module XhtmlReportGenerator
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
4
4
 
5
5
  puts XhtmlReportGenerator::VERSION
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xhtml_report_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel Widmer