thinreports 0.6.0.pre3

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.
Files changed (146) hide show
  1. data/.yardopts +1 -0
  2. data/README.rdoc +100 -0
  3. data/Rakefile +10 -0
  4. data/doc/yardoc_templates/default/layout/html/footer.erb +10 -0
  5. data/lib/thinreports.rb +11 -0
  6. data/lib/thinreports/core.rb +20 -0
  7. data/lib/thinreports/core/errors.rb +58 -0
  8. data/lib/thinreports/core/events.rb +71 -0
  9. data/lib/thinreports/core/ext.rb +5 -0
  10. data/lib/thinreports/core/ext/array.rb +19 -0
  11. data/lib/thinreports/core/ext/hash.rb +19 -0
  12. data/lib/thinreports/core/ext/object.rb +25 -0
  13. data/lib/thinreports/core/format.rb +14 -0
  14. data/lib/thinreports/core/format/base.rb +93 -0
  15. data/lib/thinreports/core/format/builder.rb +65 -0
  16. data/lib/thinreports/core/ordered_hash.rb +39 -0
  17. data/lib/thinreports/core/page.rb +91 -0
  18. data/lib/thinreports/core/shape.rb +53 -0
  19. data/lib/thinreports/core/shape/base.rb +16 -0
  20. data/lib/thinreports/core/shape/base/interface.rb +38 -0
  21. data/lib/thinreports/core/shape/base/internal.rb +60 -0
  22. data/lib/thinreports/core/shape/basic.rb +15 -0
  23. data/lib/thinreports/core/shape/basic/format.rb +26 -0
  24. data/lib/thinreports/core/shape/basic/interface.rb +57 -0
  25. data/lib/thinreports/core/shape/basic/internal.rb +29 -0
  26. data/lib/thinreports/core/shape/list.rb +25 -0
  27. data/lib/thinreports/core/shape/list/configuration.rb +33 -0
  28. data/lib/thinreports/core/shape/list/events.rb +30 -0
  29. data/lib/thinreports/core/shape/list/format.rb +72 -0
  30. data/lib/thinreports/core/shape/list/manager.rb +209 -0
  31. data/lib/thinreports/core/shape/list/page.rb +118 -0
  32. data/lib/thinreports/core/shape/list/page_state.rb +40 -0
  33. data/lib/thinreports/core/shape/list/section_format.rb +32 -0
  34. data/lib/thinreports/core/shape/list/section_interface.rb +48 -0
  35. data/lib/thinreports/core/shape/list/section_internal.rb +29 -0
  36. data/lib/thinreports/core/shape/list/store.rb +34 -0
  37. data/lib/thinreports/core/shape/manager.rb +14 -0
  38. data/lib/thinreports/core/shape/manager/format.rb +28 -0
  39. data/lib/thinreports/core/shape/manager/internal.rb +87 -0
  40. data/lib/thinreports/core/shape/manager/target.rb +85 -0
  41. data/lib/thinreports/core/shape/tblock.rb +16 -0
  42. data/lib/thinreports/core/shape/tblock/format.rb +36 -0
  43. data/lib/thinreports/core/shape/tblock/formatter.rb +32 -0
  44. data/lib/thinreports/core/shape/tblock/formatter/basic.rb +38 -0
  45. data/lib/thinreports/core/shape/tblock/formatter/datetime.rb +21 -0
  46. data/lib/thinreports/core/shape/tblock/formatter/number.rb +49 -0
  47. data/lib/thinreports/core/shape/tblock/formatter/padding.rb +43 -0
  48. data/lib/thinreports/core/shape/tblock/interface.rb +52 -0
  49. data/lib/thinreports/core/shape/tblock/internal.rb +70 -0
  50. data/lib/thinreports/core/shape/text.rb +15 -0
  51. data/lib/thinreports/core/shape/text/format.rb +25 -0
  52. data/lib/thinreports/core/shape/text/interface.rb +16 -0
  53. data/lib/thinreports/core/shape/text/internal.rb +17 -0
  54. data/lib/thinreports/core/utils.rb +48 -0
  55. data/lib/thinreports/generator.rb +30 -0
  56. data/lib/thinreports/generator/base.rb +49 -0
  57. data/lib/thinreports/generator/pdf.rb +63 -0
  58. data/lib/thinreports/generator/pdf/document.rb +171 -0
  59. data/lib/thinreports/generator/pdf/document/draw_shape.rb +74 -0
  60. data/lib/thinreports/generator/pdf/document/font.rb +59 -0
  61. data/lib/thinreports/generator/pdf/document/graphics.rb +42 -0
  62. data/lib/thinreports/generator/pdf/document/graphics/attributes.rb +92 -0
  63. data/lib/thinreports/generator/pdf/document/graphics/basic.rb +132 -0
  64. data/lib/thinreports/generator/pdf/document/graphics/image.rb +51 -0
  65. data/lib/thinreports/generator/pdf/document/graphics/text.rb +130 -0
  66. data/lib/thinreports/generator/pdf/document/parse_color.rb +51 -0
  67. data/lib/thinreports/generator/pdf/document/parse_svg.rb +102 -0
  68. data/lib/thinreports/generator/pdf/drawer.rb +16 -0
  69. data/lib/thinreports/generator/pdf/drawer/base.rb +56 -0
  70. data/lib/thinreports/generator/pdf/drawer/list.rb +39 -0
  71. data/lib/thinreports/generator/pdf/drawer/list_section.rb +46 -0
  72. data/lib/thinreports/generator/pdf/drawer/page.rb +101 -0
  73. data/lib/thinreports/generator/pdf/prawn_ext.rb +36 -0
  74. data/lib/thinreports/generator/pxd.rb +75 -0
  75. data/lib/thinreports/generator/pxd/helper.rb +33 -0
  76. data/lib/thinreports/generator/pxd/list_renderer.rb +58 -0
  77. data/lib/thinreports/generator/pxd/page_renderer.rb +75 -0
  78. data/lib/thinreports/layout.rb +17 -0
  79. data/lib/thinreports/layout/base.rb +78 -0
  80. data/lib/thinreports/layout/configuration.rb +27 -0
  81. data/lib/thinreports/layout/format.rb +77 -0
  82. data/lib/thinreports/layout/version.rb +43 -0
  83. data/lib/thinreports/report.rb +31 -0
  84. data/lib/thinreports/report/base.rb +160 -0
  85. data/lib/thinreports/report/events.rb +32 -0
  86. data/lib/thinreports/report/internal.rb +131 -0
  87. data/resources/fonts/IPA_Font_License_Agreement_v1.0.txt +117 -0
  88. data/resources/fonts/ipag.ttf +0 -0
  89. data/resources/fonts/ipagp.ttf +0 -0
  90. data/resources/fonts/ipam.ttf +0 -0
  91. data/resources/fonts/ipamp.ttf +0 -0
  92. data/tasks/clean.rake +6 -0
  93. data/tasks/doc.rake +13 -0
  94. data/tasks/test.rake +18 -0
  95. data/test/unit/core/ext/array_spec.rb +29 -0
  96. data/test/unit/core/ext/hash_spec.rb +29 -0
  97. data/test/unit/core/ext/object_spec.rb +30 -0
  98. data/test/unit/core/format/test_base.rb +148 -0
  99. data/test/unit/core/format/test_builder.rb +114 -0
  100. data/test/unit/core/ordered_hash_spec.rb +51 -0
  101. data/test/unit/core/shape/base/test_interface.rb +52 -0
  102. data/test/unit/core/shape/base/test_internal.rb +109 -0
  103. data/test/unit/core/shape/basic/test_format.rb +59 -0
  104. data/test/unit/core/shape/basic/test_interface.rb +70 -0
  105. data/test/unit/core/shape/basic/test_internal.rb +42 -0
  106. data/test/unit/core/shape/list/test_configuration.rb +52 -0
  107. data/test/unit/core/shape/list/test_events.rb +28 -0
  108. data/test/unit/core/shape/list/test_format.rb +71 -0
  109. data/test/unit/core/shape/list/test_page.rb +10 -0
  110. data/test/unit/core/shape/list/test_page_state.rb +31 -0
  111. data/test/unit/core/shape/list/test_section_format.rb +46 -0
  112. data/test/unit/core/shape/list/test_section_interface.rb +52 -0
  113. data/test/unit/core/shape/list/test_section_internal.rb +30 -0
  114. data/test/unit/core/shape/list/test_store.rb +41 -0
  115. data/test/unit/core/shape/manager/test_format.rb +40 -0
  116. data/test/unit/core/shape/manager/test_internal.rb +137 -0
  117. data/test/unit/core/shape/manager/test_target.rb +109 -0
  118. data/test/unit/core/shape/tblock/formatter/test_basic.rb +24 -0
  119. data/test/unit/core/shape/tblock/formatter/test_datetime.rb +47 -0
  120. data/test/unit/core/shape/tblock/formatter/test_number.rb +76 -0
  121. data/test/unit/core/shape/tblock/formatter/test_padding.rb +72 -0
  122. data/test/unit/core/shape/tblock/test_format.rb +125 -0
  123. data/test/unit/core/shape/tblock/test_formatter.rb +28 -0
  124. data/test/unit/core/shape/tblock/test_interface.rb +40 -0
  125. data/test/unit/core/shape/tblock/test_internal.rb +139 -0
  126. data/test/unit/core/shape/text/test_format.rb +73 -0
  127. data/test/unit/core/shape/text/test_internal.rb +21 -0
  128. data/test/unit/core/test_events.rb +91 -0
  129. data/test/unit/core/test_shape.rb +35 -0
  130. data/test/unit/core/utils_spec.rb +56 -0
  131. data/test/unit/generator/pdf/document/graphics/test_attributes.rb +103 -0
  132. data/test/unit/generator/pdf/document/test_font.rb +54 -0
  133. data/test/unit/generator/pdf/document/test_graphics.rb +43 -0
  134. data/test/unit/generator/pdf/document/test_parse_color.rb +30 -0
  135. data/test/unit/generator/test_base.rb +51 -0
  136. data/test/unit/helper.rb +37 -0
  137. data/test/unit/layout/test_base.rb +92 -0
  138. data/test/unit/layout/test_configuration.rb +46 -0
  139. data/test/unit/layout/test_format.rb +104 -0
  140. data/test/unit/layout/test_version.rb +62 -0
  141. data/test/unit/report/test_base.rb +187 -0
  142. data/test/unit/report/test_events.rb +22 -0
  143. data/test/unit/report/test_internal.rb +234 -0
  144. data/test/unit/test_layout.rb +12 -0
  145. data/test/unit/test_report.rb +30 -0
  146. metadata +218 -0
@@ -0,0 +1,22 @@
1
+ # coding: utf-8
2
+
3
+ require 'test/unit/helper'
4
+
5
+ class ThinReports::Report::TestEvents < MiniTest::Unit::TestCase
6
+ include ThinReports::TestHelpers
7
+
8
+ # Alias
9
+ Report = ThinReports::Report
10
+
11
+ def test_event_types
12
+ events = Report::Events.new
13
+ assert_equal events.instance_variable_get(:@types), [:page_create, :generate]
14
+ end
15
+
16
+ def test_event_properly_store_the_properties
17
+ e = Report::Events::Event.new(:page_create, :target, :page, :pages)
18
+ assert_equal [e.type, e.target, e.page, e.pages],
19
+ [:page_create, :target, :page, :pages]
20
+ assert_same e.target, e.report
21
+ end
22
+ end
@@ -0,0 +1,234 @@
1
+ # coding: utf-8
2
+
3
+ require 'test/unit/helper'
4
+
5
+ class ThinReports::Report::TestInternal < MiniTest::Unit::TestCase
6
+ include ThinReports::TestHelpers
7
+
8
+ # Alias
9
+ Report = ThinReports::Report
10
+
11
+ def setup
12
+ # Setting for instance of Layout::Base as mock.
13
+ layout = flexmock('layout_base')
14
+ layout.should_receive(:config).and_return(flexmock('layout_configuration'))
15
+
16
+ flexmock(ThinReports::Layout).
17
+ should_receive(:new).and_return(layout)
18
+ end
19
+
20
+ def test_initialize_with_default_layout
21
+ report = init_report(:layout => 'default.tlf')
22
+ assert_equal report.default_layout.flexmock_name, 'layout_base'
23
+ end
24
+
25
+ def test_register_layout_properly_set_the_default_layout
26
+ report = init_report
27
+ report.register_layout('default.tlf')
28
+
29
+ assert_equal report.default_layout.flexmock_name, 'layout_base'
30
+ end
31
+
32
+ def test_register_layout_properly_set_the_default_layout_with_option
33
+ report = init_report
34
+ report.register_layout('default.tlf', :default => true)
35
+
36
+ assert_equal report.default_layout.flexmock_name, 'layout_base'
37
+ end
38
+
39
+ def test_register_layout_raise_when_default_layout_is_already_set
40
+ assert_raises ArgumentError do
41
+ init_report(:layout => 'default.tlf').register_layout('other.tlf')
42
+ end
43
+ end
44
+
45
+ def test_register_layout_properly_set_the_layout
46
+ report = init_report
47
+ report.register_layout('foo.tlf', :id => :foo)
48
+
49
+ assert_equal report.layout_registry[:foo].flexmock_name, 'layout_base'
50
+ end
51
+
52
+ def test_register_layout_raise_when_specified_id_is_already_registered
53
+ report = init_report
54
+ report.register_layout('foo.tlf', :id => :foo)
55
+
56
+ assert_raises ArgumentError do
57
+ report.register_layout('hoge.tlf', :id => :foo)
58
+ end
59
+ end
60
+
61
+ def test_register_layout_call_layout_config_method_with_block
62
+ report = init_report
63
+ assert_equal report.register_layout('layout.tlf').flexmock_name,
64
+ 'layout_configuration'
65
+ end
66
+
67
+ def test_add_page_count_up_the_page_count
68
+ new_page = proc {
69
+ mock_page.should_receive(:finalize).mock
70
+ }
71
+
72
+ report = init_report
73
+ assert_equal report.page_count, 0
74
+
75
+ report.add_page(new_page.call)
76
+ assert_equal report.page_count, 1
77
+
78
+ report.add_page(new_page.call)
79
+ assert_equal report.page_count, 2
80
+ end
81
+
82
+ def test_add_page_finalize_current_page
83
+ report = init_report
84
+
85
+ report.add_page(mock_page.should_receive(:finalize).once.mock)
86
+ report.add_page(mock_page)
87
+ end
88
+
89
+ def test_add_page_switch_currently_page_of_report
90
+ new_page = proc {|name|
91
+ mock_page(name).should_receive(:finalize).mock
92
+ }
93
+
94
+ report = init_report
95
+
96
+ report.add_page(new_page.call('page1'))
97
+ assert_equal report.page.flexmock_name, 'page1'
98
+
99
+ report.add_page(new_page.call('page2'))
100
+ assert_equal report.page.flexmock_name, 'page2'
101
+ end
102
+
103
+ def test_add_page_store_specified_page_to_report_pages
104
+ report = init_report
105
+ report.add_page(new_page = mock_page)
106
+
107
+ assert_includes report.pages, new_page
108
+ end
109
+
110
+ def test_add_page_dispatch_the_page_create_event
111
+ pass = false
112
+ report = init_report
113
+ report.events.on(:page_create) {|e| pass = true }
114
+
115
+ report.add_page(mock_page)
116
+
117
+ assert_equal pass, true
118
+ end
119
+
120
+ def test_add_blank_page_not_dispatch_the_page_create_event
121
+ pass = true
122
+ report = init_report
123
+ report.events.on(:page_create) {|e| pass = false }
124
+
125
+ report.add_page(mock_blank_page)
126
+
127
+ assert_equal pass, true
128
+ end
129
+
130
+ def test_add_blank_page_not_count_up_the_page_count_when_count_is_disabled
131
+ report = init_report
132
+ report.add_page(mock_not_counting_blank_page)
133
+ report.add_page(mock_not_counting_blank_page)
134
+
135
+ assert_equal report.page_count, 0
136
+ end
137
+
138
+ def test_finalize
139
+ pass = false
140
+
141
+ report = init_report
142
+ report.events.on(:generate) {|e| pass = true }
143
+
144
+ report.add_page(mock_page.should_receive(:finalize).once.mock)
145
+ report.finalize
146
+
147
+ assert_equal report.finalized?, true
148
+ assert_equal pass, true
149
+ end
150
+
151
+ def test_finalize_never_work_when_report_is_already_finalized
152
+ report = init_report
153
+ report.finalize
154
+
155
+ flexmock(report).should_receive(:finalize_current_page).times(0)
156
+ report.finalize
157
+ end
158
+
159
+ def test_finalize_not_finalize_current_page_when_page_is_blank
160
+ report = init_report
161
+ report.add_page(mock_blank_page.should_receive(:finalize).times(0).mock)
162
+ report.finalize
163
+ end
164
+
165
+ def test_load_layout_with_String
166
+ report = init_report
167
+ assert_equal report.load_layout('layout.tlf').flexmock_name, 'layout_base'
168
+ end
169
+
170
+ def test_load_layout_with_id
171
+ report = init_report
172
+ report.register_layout('layout.tlf', :id => :foo)
173
+
174
+ assert_equal report.load_layout(:foo).flexmock_name, 'layout_base'
175
+ end
176
+
177
+ def test_load_layout_with_unknown_id
178
+ report = init_report
179
+ assert_nil report.load_layout(:unknown)
180
+ end
181
+
182
+ def test_load_layout_raise_when_invalid_value_set
183
+ report = init_report
184
+ assert_raises ArgumentError do
185
+ report.load_layout(1)
186
+ end
187
+ assert_raises ArgumentError do
188
+ report.load_layout(ThinReports::Layout.new('layout.tlf'))
189
+ end
190
+ end
191
+
192
+ def test_load_layout_with_nil
193
+ report = init_report
194
+ report.register_layout('default.tlf', :default => true)
195
+
196
+ assert_equal report.load_layout(nil).flexmock_name, 'layout_base'
197
+ end
198
+
199
+ def test_copy_page
200
+ page = mock_page
201
+
202
+ flexmock(page).
203
+ should_receive(:finalize).with(:at => :copy).once.
204
+ should_receive(:copy).and_return(mock_page('copied_page')).once
205
+
206
+ report = init_report
207
+ report.add_page(page)
208
+ report.copy_page
209
+
210
+ assert_equal report.page.flexmock_name, 'copied_page'
211
+ end
212
+
213
+ def init_report(options = {})
214
+ Report::Internal.new(flexmock('report_base'), options)
215
+ end
216
+
217
+ def mock_page(page_name = 'page')
218
+ flexmock(page_name).
219
+ should_receive(:count? => true, :blank? => false).
220
+ should_receive(:no=).with(::Numeric).once.mock
221
+ end
222
+
223
+ def mock_blank_page
224
+ flexmock('blank_page').
225
+ should_receive(:count? => true, :blank? => true).
226
+ should_receive(:no=).with(::Numeric).once.mock
227
+ end
228
+
229
+ def mock_not_counting_blank_page
230
+ flexmock('blank_page').
231
+ should_receive(:count? => false, :blank? => true).
232
+ should_receive(:no=).with(::Numeric).times(0).mock
233
+ end
234
+ end
@@ -0,0 +1,12 @@
1
+ # coding: utf-8
2
+
3
+ require 'test/unit/helper'
4
+
5
+ class ThinReports::TestLayout < MiniTest::Unit::TestCase
6
+ include ThinReports::TestHelpers
7
+
8
+ def test_new
9
+ flexmock(ThinReports::Layout::Base).should_receive(:new).once
10
+ ThinReports::Layout.new('layout.tlf')
11
+ end
12
+ end
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+
3
+ require 'test/unit/helper'
4
+
5
+ class ThinReports::TestReport < MiniTest::Unit::TestCase
6
+ include ThinReports::TestHelpers
7
+
8
+ # Alias
9
+ Report = ThinReports::Report
10
+
11
+ def test_new
12
+ flexmock(Report::Base).should_receive(:new).once
13
+ Report.new
14
+ end
15
+
16
+ def test_create
17
+ flexmock(Report::Base).should_receive(:create).once
18
+ Report.create
19
+ end
20
+
21
+ def test_generate
22
+ flexmock(Report::Base).should_receive(:generate).once
23
+ Report.generate
24
+ end
25
+
26
+ def test_generate_file
27
+ flexmock(Report::Base).should_receive(:generate_file).once
28
+ Report.generate_file
29
+ end
30
+ end
metadata ADDED
@@ -0,0 +1,218 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: thinreports
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.0.pre3
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - Matsukei Co.,Ltd.
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-07-29 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: prawn
16
+ requirement: &26908596 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.11.1
22
+ - - <=
23
+ - !ruby/object:Gem::Version
24
+ version: 0.11.1
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: *26908596
28
+ - !ruby/object:Gem::Dependency
29
+ name: json
30
+ requirement: &26908116 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: 1.4.6
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: *26908116
39
+ description: ThinReports is Open Source Reporting Solution. ThinReports provide a
40
+ special "GUI Layout Editor" and a special "Generator" for Ruby.
41
+ email: thinreports@matsukei.co.jp
42
+ executables: []
43
+ extensions: []
44
+ extra_rdoc_files:
45
+ - README.rdoc
46
+ files:
47
+ - lib/thinreports/core/errors.rb
48
+ - lib/thinreports/core/events.rb
49
+ - lib/thinreports/core/ext/array.rb
50
+ - lib/thinreports/core/ext/hash.rb
51
+ - lib/thinreports/core/ext/object.rb
52
+ - lib/thinreports/core/ext.rb
53
+ - lib/thinreports/core/format/base.rb
54
+ - lib/thinreports/core/format/builder.rb
55
+ - lib/thinreports/core/format.rb
56
+ - lib/thinreports/core/ordered_hash.rb
57
+ - lib/thinreports/core/page.rb
58
+ - lib/thinreports/core/shape/base/interface.rb
59
+ - lib/thinreports/core/shape/base/internal.rb
60
+ - lib/thinreports/core/shape/base.rb
61
+ - lib/thinreports/core/shape/basic/format.rb
62
+ - lib/thinreports/core/shape/basic/interface.rb
63
+ - lib/thinreports/core/shape/basic/internal.rb
64
+ - lib/thinreports/core/shape/basic.rb
65
+ - lib/thinreports/core/shape/list/configuration.rb
66
+ - lib/thinreports/core/shape/list/events.rb
67
+ - lib/thinreports/core/shape/list/format.rb
68
+ - lib/thinreports/core/shape/list/manager.rb
69
+ - lib/thinreports/core/shape/list/page.rb
70
+ - lib/thinreports/core/shape/list/page_state.rb
71
+ - lib/thinreports/core/shape/list/section_format.rb
72
+ - lib/thinreports/core/shape/list/section_interface.rb
73
+ - lib/thinreports/core/shape/list/section_internal.rb
74
+ - lib/thinreports/core/shape/list/store.rb
75
+ - lib/thinreports/core/shape/list.rb
76
+ - lib/thinreports/core/shape/manager/format.rb
77
+ - lib/thinreports/core/shape/manager/internal.rb
78
+ - lib/thinreports/core/shape/manager/target.rb
79
+ - lib/thinreports/core/shape/manager.rb
80
+ - lib/thinreports/core/shape/tblock/format.rb
81
+ - lib/thinreports/core/shape/tblock/formatter/basic.rb
82
+ - lib/thinreports/core/shape/tblock/formatter/datetime.rb
83
+ - lib/thinreports/core/shape/tblock/formatter/number.rb
84
+ - lib/thinreports/core/shape/tblock/formatter/padding.rb
85
+ - lib/thinreports/core/shape/tblock/formatter.rb
86
+ - lib/thinreports/core/shape/tblock/interface.rb
87
+ - lib/thinreports/core/shape/tblock/internal.rb
88
+ - lib/thinreports/core/shape/tblock.rb
89
+ - lib/thinreports/core/shape/text/format.rb
90
+ - lib/thinreports/core/shape/text/interface.rb
91
+ - lib/thinreports/core/shape/text/internal.rb
92
+ - lib/thinreports/core/shape/text.rb
93
+ - lib/thinreports/core/shape.rb
94
+ - lib/thinreports/core/utils.rb
95
+ - lib/thinreports/core.rb
96
+ - lib/thinreports/generator/base.rb
97
+ - lib/thinreports/generator/pdf/document/draw_shape.rb
98
+ - lib/thinreports/generator/pdf/document/font.rb
99
+ - lib/thinreports/generator/pdf/document/graphics/attributes.rb
100
+ - lib/thinreports/generator/pdf/document/graphics/basic.rb
101
+ - lib/thinreports/generator/pdf/document/graphics/image.rb
102
+ - lib/thinreports/generator/pdf/document/graphics/text.rb
103
+ - lib/thinreports/generator/pdf/document/graphics.rb
104
+ - lib/thinreports/generator/pdf/document/parse_color.rb
105
+ - lib/thinreports/generator/pdf/document/parse_svg.rb
106
+ - lib/thinreports/generator/pdf/document.rb
107
+ - lib/thinreports/generator/pdf/drawer/base.rb
108
+ - lib/thinreports/generator/pdf/drawer/list.rb
109
+ - lib/thinreports/generator/pdf/drawer/list_section.rb
110
+ - lib/thinreports/generator/pdf/drawer/page.rb
111
+ - lib/thinreports/generator/pdf/drawer.rb
112
+ - lib/thinreports/generator/pdf/prawn_ext.rb
113
+ - lib/thinreports/generator/pdf.rb
114
+ - lib/thinreports/generator/pxd/helper.rb
115
+ - lib/thinreports/generator/pxd/list_renderer.rb
116
+ - lib/thinreports/generator/pxd/page_renderer.rb
117
+ - lib/thinreports/generator/pxd.rb
118
+ - lib/thinreports/generator.rb
119
+ - lib/thinreports/layout/base.rb
120
+ - lib/thinreports/layout/configuration.rb
121
+ - lib/thinreports/layout/format.rb
122
+ - lib/thinreports/layout/version.rb
123
+ - lib/thinreports/layout.rb
124
+ - lib/thinreports/report/base.rb
125
+ - lib/thinreports/report/events.rb
126
+ - lib/thinreports/report/internal.rb
127
+ - lib/thinreports/report.rb
128
+ - lib/thinreports.rb
129
+ - tasks/clean.rake
130
+ - tasks/doc.rake
131
+ - tasks/test.rake
132
+ - resources/fonts/ipag.ttf
133
+ - resources/fonts/ipagp.ttf
134
+ - resources/fonts/ipam.ttf
135
+ - resources/fonts/ipamp.ttf
136
+ - resources/fonts/IPA_Font_License_Agreement_v1.0.txt
137
+ - doc/yardoc_templates/default/layout/html/footer.erb
138
+ - test/unit/core/ext/array_spec.rb
139
+ - test/unit/core/ext/hash_spec.rb
140
+ - test/unit/core/ext/object_spec.rb
141
+ - test/unit/core/format/test_base.rb
142
+ - test/unit/core/format/test_builder.rb
143
+ - test/unit/core/ordered_hash_spec.rb
144
+ - test/unit/core/shape/base/test_interface.rb
145
+ - test/unit/core/shape/base/test_internal.rb
146
+ - test/unit/core/shape/basic/test_format.rb
147
+ - test/unit/core/shape/basic/test_interface.rb
148
+ - test/unit/core/shape/basic/test_internal.rb
149
+ - test/unit/core/shape/list/test_configuration.rb
150
+ - test/unit/core/shape/list/test_events.rb
151
+ - test/unit/core/shape/list/test_format.rb
152
+ - test/unit/core/shape/list/test_page.rb
153
+ - test/unit/core/shape/list/test_page_state.rb
154
+ - test/unit/core/shape/list/test_section_format.rb
155
+ - test/unit/core/shape/list/test_section_interface.rb
156
+ - test/unit/core/shape/list/test_section_internal.rb
157
+ - test/unit/core/shape/list/test_store.rb
158
+ - test/unit/core/shape/manager/test_format.rb
159
+ - test/unit/core/shape/manager/test_internal.rb
160
+ - test/unit/core/shape/manager/test_target.rb
161
+ - test/unit/core/shape/tblock/formatter/test_basic.rb
162
+ - test/unit/core/shape/tblock/formatter/test_datetime.rb
163
+ - test/unit/core/shape/tblock/formatter/test_number.rb
164
+ - test/unit/core/shape/tblock/formatter/test_padding.rb
165
+ - test/unit/core/shape/tblock/test_format.rb
166
+ - test/unit/core/shape/tblock/test_formatter.rb
167
+ - test/unit/core/shape/tblock/test_interface.rb
168
+ - test/unit/core/shape/tblock/test_internal.rb
169
+ - test/unit/core/shape/text/test_format.rb
170
+ - test/unit/core/shape/text/test_internal.rb
171
+ - test/unit/core/test_events.rb
172
+ - test/unit/core/test_shape.rb
173
+ - test/unit/core/utils_spec.rb
174
+ - test/unit/generator/pdf/document/graphics/test_attributes.rb
175
+ - test/unit/generator/pdf/document/test_font.rb
176
+ - test/unit/generator/pdf/document/test_graphics.rb
177
+ - test/unit/generator/pdf/document/test_parse_color.rb
178
+ - test/unit/generator/test_base.rb
179
+ - test/unit/helper.rb
180
+ - test/unit/layout/test_base.rb
181
+ - test/unit/layout/test_configuration.rb
182
+ - test/unit/layout/test_format.rb
183
+ - test/unit/layout/test_version.rb
184
+ - test/unit/report/test_base.rb
185
+ - test/unit/report/test_events.rb
186
+ - test/unit/report/test_internal.rb
187
+ - test/unit/test_layout.rb
188
+ - test/unit/test_report.rb
189
+ - Rakefile
190
+ - README.rdoc
191
+ - .yardopts
192
+ homepage: http://www.thinreports.org/
193
+ licenses: []
194
+ post_install_message:
195
+ rdoc_options:
196
+ - --main
197
+ - README.rdoc
198
+ require_paths:
199
+ - lib
200
+ required_ruby_version: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: 1.8.7
206
+ required_rubygems_version: !ruby/object:Gem::Requirement
207
+ none: false
208
+ requirements:
209
+ - - ! '>='
210
+ - !ruby/object:Gem::Version
211
+ version: 1.3.6
212
+ requirements: []
213
+ rubyforge_project:
214
+ rubygems_version: 1.8.5
215
+ signing_key:
216
+ specification_version: 3
217
+ summary: Reporting solution for Ruby and Web Applications, and Enterprise.
218
+ test_files: []