xhtml_report_generator 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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