odf-report 0.4.2 → 0.4.3

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.
@@ -3,7 +3,7 @@ module ODFReport
3
3
  class Table
4
4
  include HashGsub, Nested
5
5
 
6
- attr_accessor :fields, :rows, :name, :collection_field, :data, :header, :parent
6
+ attr_accessor :fields, :rows, :name, :collection_field, :data, :header, :parent, :tables
7
7
 
8
8
  def initialize(opts)
9
9
  @name = opts[:name]
@@ -12,6 +12,7 @@ class Table
12
12
  @parent = opts[:parent]
13
13
 
14
14
  @fields = {}
15
+ @tables = []
15
16
 
16
17
  @template_rows = []
17
18
  @header = opts[:header] || false
@@ -27,6 +28,14 @@ class Table
27
28
  end
28
29
  end
29
30
 
31
+ def add_table(table_name, collection_field, opts={}, &block)
32
+ opts.merge!(:name => table_name, :collection_field => collection_field, :parent => self)
33
+ tab = Table.new(opts)
34
+ @tables << tab
35
+
36
+ yield(tab)
37
+ end
38
+
30
39
  def populate!(row)
31
40
  @collection = get_collection_from_item(row, @collection_field) if row
32
41
  end
@@ -45,6 +54,10 @@ class Table
45
54
 
46
55
  replace_values!(new_node, data_item)
47
56
 
57
+ @tables.each do |t|
58
+ t.replace!(new_node, data_item)
59
+ end
60
+
48
61
  table.add_child(new_node)
49
62
 
50
63
  end
data/odf-report.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{odf-report}
5
- s.version = "0.4.2"
5
+ s.version = "0.4.3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Sandro Duarte"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: odf-report
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-27 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip
16
- requirement: &2153027700 !ruby/object:Gem::Requirement
16
+ requirement: &2153159540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -24,10 +24,10 @@ dependencies:
24
24
  version: 0.9.4
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *2153027700
27
+ version_requirements: *2153159540
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: nokogiri
30
- requirement: &2153026760 !ruby/object:Gem::Requirement
30
+ requirement: &2153158760 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -38,7 +38,7 @@ dependencies:
38
38
  version: 1.5.0
39
39
  type: :runtime
40
40
  prerelease: false
41
- version_requirements: *2153026760
41
+ version_requirements: *2153158760
42
42
  description: Generates ODF files, given a template (.odt) and data, replacing tags
43
43
  email: sandrods@gmail.com
44
44
  executables: []