reportbuilder 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/History.txt CHANGED
@@ -1,3 +1,6 @@
1
+ === 1.2.4 / 2010-04-30
2
+ * Bug fix on Rtf Builder for tables. Creation of hr generates an error
3
+
1
4
  === 1.2.3 / 2010-04-13
2
5
  * Source code repository moved to http://github.com/clbustos/reportbuilder
3
6
 
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ $:.unshift(File.dirname(__FILE__)+"/lib")
5
5
  require 'rubygems'
6
6
  require 'hoe'
7
7
  require 'reportbuilder'
8
-
8
+ Hoe.plugin :git
9
9
  Hoe.spec 'reportbuilder' do
10
10
  self.testlib=:minitest
11
11
  self.version=ReportBuilder::VERSION
@@ -16,11 +16,4 @@ Hoe.spec 'reportbuilder' do
16
16
  self.extra_dev_deps << ["nokogiri", "~>1.4"]
17
17
  end
18
18
 
19
- task :release do
20
- version="v#{ReportBuilder::VERSION}"
21
- sh %(git commit -a -m "Release #{version}")
22
- sh %(git tag "#{version}")
23
- sh %(git push origin --tags)
24
- end
25
-
26
19
  # vim: syntax=ruby
data/lib/reportbuilder.rb CHANGED
@@ -51,7 +51,7 @@ class ReportBuilder
51
51
  # Doesn't print a title if set to true
52
52
  attr_accessor :no_title
53
53
  # ReportBuilder version
54
- VERSION = '1.2.3'
54
+ VERSION = '1.2.4'
55
55
 
56
56
  FormatNotFound=Class.new(Exception)
57
57
  # Available formats
@@ -87,7 +87,7 @@ class ReportBuilder
87
87
  end
88
88
  end
89
89
  # Create a new Report
90
- def initialize(options=Hash.new,&block)
90
+ def initialize(options=Hash.new, &block)
91
91
  options[:name]||="Report "+Time.new.to_s
92
92
  @no_title=options.delete :no_title
93
93
  @name=options.delete :name
@@ -75,6 +75,9 @@ class ReportBuilder
75
75
  def n_rows_no_hr
76
76
  @rows.inject(0) {|ac,v| ac+(v==:hr ? 0 : 1)}
77
77
  end
78
+ def n_rows
79
+ @rows.size
80
+ end
78
81
  # Adds a colspan on a cell
79
82
  # table.add_row(["a",table.colspan("b",2)])
80
83
  def colspan(data,n)
@@ -128,7 +131,7 @@ class ReportBuilder
128
131
  0
129
132
  end
130
133
  end
131
-
134
+
132
135
 
133
136
 
134
137
  ######################
@@ -5,57 +5,66 @@ class ReportBuilder
5
5
  def generate()
6
6
  @t=@element
7
7
  @rtf=@builder.rtf
8
-
8
+
9
9
  # Title
10
-
10
+
11
11
  @builder.header(6,@t.name)
12
-
12
+
13
13
  max_cols=@t.calculate_widths
14
14
  n_rows=@t.n_rows_no_hr+(@t.header.size>0 ? 1: 0)
15
15
  args=[n_rows, @t.n_columns]+max_cols.map{|m| m*@builder.options[:font_size]*10}
16
16
  @table=@rtf.table(*args)
17
17
  @table.border_width=@builder.options[:table_border_width]
18
18
  @rowspans=[]
19
+ row_i=0
19
20
  if @t.header.size>0
21
+ row_i=1
20
22
  @t.header.each_with_index do |th,i|
21
23
  @table[0][i] << th
22
24
  end
25
+ add_hr_on_bottom(0)
23
26
  end
24
27
  next_with_hr=false
25
- @t.rows.each_with_index{|row, row_i|
28
+
29
+ @t.rows.each_with_index{|row|
26
30
  if row==:hr
27
31
  next_with_hr=true
28
32
  # Nothing
29
33
  else
30
34
  parse_row(row,row_i)
31
35
  if next_with_hr
32
- create_hr(row_i)
36
+ add_hr_on_top(row_i)
33
37
  next_with_hr=false
34
38
  end
35
- #row_i+=1
39
+ row_i+=1
36
40
  end
37
41
  }
38
-
42
+
39
43
  end
40
- def create_hr(row_i)
44
+ def add_hr_on_top(row_i)
41
45
  (0...@t.n_columns).each {|i|
42
46
  @table[row_i][i].top_border_width=@builder.options[:table_hr_width]
43
47
  }
44
48
  end
45
-
49
+ def add_hr_on_bottom(row_i)
50
+ (0...@t.n_columns).each {|i|
51
+ @table[row_i][i].bottom_border_width=@builder.options[:table_hr_width]
52
+ }
53
+ end
54
+
46
55
  def parse_row(row,row_i)
47
56
  t=@element
48
57
  row_ary=[]
49
58
  real_i=0
50
59
  colspan_i=0
51
60
  row.each_index do |i|
52
- extra=1
61
+ extra=1
53
62
  while !@rowspans[real_i].nil? and @rowspans[real_i]>0
54
63
  @rowspans[real_i]-=1
55
64
  real_i+=1
56
65
  end
57
66
  if row[i].is_a? Table::Colspan
58
- @table[row_i][real_i] << row[i].data
67
+ @table[row_i][real_i] << row[i].data
59
68
  colspan_i=row[i].cols-1
60
69
  extra=row[i].cols
61
70
  elsif row[i].nil?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reportbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claudio Bustos
@@ -30,7 +30,7 @@ cert_chain:
30
30
  rpP0jjs0
31
31
  -----END CERTIFICATE-----
32
32
 
33
- date: 2010-04-13 00:00:00 -04:00
33
+ date: 2010-04-30 00:00:00 -04:00
34
34
  default_executable:
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
metadata.gz.sig CHANGED
Binary file