thinreports 0.10.0 → 0.12.0

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 (191) hide show
  1. checksums.yaml +5 -5
  2. data/.github/CONTRIBUTING.md +2 -2
  3. data/.github/workflows/test.yml +51 -0
  4. data/.gitignore +1 -0
  5. data/CHANGELOG.md +49 -0
  6. data/Dockerfile +12 -0
  7. data/Gemfile +2 -1
  8. data/README.md +46 -21
  9. data/Rakefile +13 -29
  10. data/gemfiles/prawn-2.2.gemfile +5 -0
  11. data/gemfiles/prawn-2.3.gemfile +5 -0
  12. data/gemfiles/prawn-2.4.gemfile +5 -0
  13. data/lib/thinreports.rb +5 -0
  14. data/lib/thinreports/core/shape.rb +4 -3
  15. data/lib/thinreports/core/shape/base/interface.rb +0 -1
  16. data/lib/thinreports/core/shape/basic/format.rb +5 -0
  17. data/lib/thinreports/core/shape/image_block.rb +1 -1
  18. data/lib/thinreports/core/shape/list.rb +1 -1
  19. data/lib/thinreports/core/shape/list/manager.rb +1 -4
  20. data/lib/thinreports/core/shape/list/page.rb +2 -5
  21. data/lib/thinreports/core/shape/manager/internal.rb +0 -1
  22. data/lib/thinreports/core/shape/page_number.rb +1 -1
  23. data/lib/thinreports/core/shape/page_number/internal.rb +0 -1
  24. data/lib/thinreports/core/shape/stack_view.rb +17 -0
  25. data/lib/thinreports/core/shape/stack_view/format.rb +27 -0
  26. data/lib/thinreports/core/shape/stack_view/interface.rb +17 -0
  27. data/lib/thinreports/core/shape/stack_view/internal.rb +22 -0
  28. data/lib/thinreports/core/shape/stack_view/row_format.rb +39 -0
  29. data/lib/thinreports/core/shape/style/basic.rb +4 -1
  30. data/lib/thinreports/core/shape/text.rb +1 -1
  31. data/lib/thinreports/core/shape/text_block.rb +1 -1
  32. data/lib/thinreports/core/shape/text_block/formatter/number.rb +21 -9
  33. data/lib/thinreports/core/shape/text_block/internal.rb +0 -2
  34. data/lib/thinreports/core/utils.rb +6 -3
  35. data/lib/thinreports/generate.rb +11 -0
  36. data/lib/thinreports/generator/pdf/document/draw_shape.rb +31 -11
  37. data/lib/thinreports/generator/pdf/document/draw_template_items.rb +1 -2
  38. data/lib/thinreports/generator/pdf/document/font.rb +16 -10
  39. data/lib/thinreports/generator/pdf/document/graphics/attributes.rb +0 -1
  40. data/lib/thinreports/generator/pdf/document/graphics/basic.rb +0 -1
  41. data/lib/thinreports/generator/pdf/document/graphics/image.rb +19 -1
  42. data/lib/thinreports/generator/pdf/document/graphics/text.rb +10 -8
  43. data/lib/thinreports/generator/pdf/document/page.rb +13 -4
  44. data/lib/thinreports/generator/pdf/drawer/list.rb +0 -1
  45. data/lib/thinreports/generator/pdf/prawn_ext/calc_image_dimensions.rb +1 -3
  46. data/lib/thinreports/generator/pdf/prawn_ext/width_of.rb +7 -7
  47. data/lib/thinreports/layout/base.rb +2 -4
  48. data/lib/thinreports/layout/format.rb +0 -1
  49. data/lib/thinreports/layout/legacy_schema.rb +2 -6
  50. data/lib/thinreports/layout/version.rb +1 -1
  51. data/lib/thinreports/report/internal.rb +4 -4
  52. data/lib/thinreports/report/page.rb +2 -7
  53. data/lib/thinreports/section_report/build.rb +32 -0
  54. data/lib/thinreports/section_report/builder/item_builder.rb +49 -0
  55. data/lib/thinreports/section_report/builder/report_builder.rb +82 -0
  56. data/lib/thinreports/section_report/builder/report_data.rb +13 -0
  57. data/lib/thinreports/section_report/builder/stack_view_builder.rb +55 -0
  58. data/lib/thinreports/section_report/builder/stack_view_data.rb +11 -0
  59. data/lib/thinreports/section_report/generate.rb +26 -0
  60. data/lib/thinreports/section_report/pdf/render.rb +23 -0
  61. data/lib/thinreports/section_report/pdf/renderer/draw_item.rb +68 -0
  62. data/lib/thinreports/section_report/pdf/renderer/group_renderer.rb +57 -0
  63. data/lib/thinreports/section_report/pdf/renderer/headers_renderer.rb +24 -0
  64. data/lib/thinreports/section_report/pdf/renderer/section_height.rb +100 -0
  65. data/lib/thinreports/section_report/pdf/renderer/section_renderer.rb +39 -0
  66. data/lib/thinreports/section_report/pdf/renderer/stack_view_renderer.rb +55 -0
  67. data/lib/thinreports/section_report/pdf/renderer/stack_view_row_renderer.rb +38 -0
  68. data/lib/thinreports/section_report/schema/loader.rb +28 -0
  69. data/lib/thinreports/section_report/schema/parser.rb +52 -0
  70. data/lib/thinreports/section_report/schema/report.rb +30 -0
  71. data/lib/thinreports/section_report/schema/section.rb +47 -0
  72. data/lib/thinreports/version.rb +1 -1
  73. data/thinreports.gemspec +11 -11
  74. metadata +48 -164
  75. data/.rubocop.yml +0 -41
  76. data/.travis.yml +0 -17
  77. data/examples/character_spacing/character_spacing.rb +0 -8
  78. data/examples/character_spacing/character_spacing.tlf +0 -293
  79. data/examples/dynamic_image/dynamic_image.rb +0 -31
  80. data/examples/dynamic_image/dynamic_image.tlf +0 -661
  81. data/examples/dynamic_image/img200x100.png +0 -0
  82. data/examples/dynamic_image/img50x50.png +0 -0
  83. data/examples/dynamic_style/dynamic_style.rb +0 -150
  84. data/examples/dynamic_style/dynamic_style.tlf +0 -1835
  85. data/examples/dynamic_style/dynamic_style_in_list.tlf +0 -344
  86. data/examples/dynamic_style/image.png +0 -0
  87. data/examples/eudc/eudc.rb +0 -20
  88. data/examples/eudc/eudc.tlf +0 -180
  89. data/examples/eudc/eudc.ttf +0 -0
  90. data/examples/helper.rb +0 -50
  91. data/examples/hidden_shapes/hidden_shapes.rb +0 -9
  92. data/examples/hidden_shapes/hidden_shapes.tlf +0 -449
  93. data/examples/list_events/list_events.rb +0 -32
  94. data/examples/list_events/list_events.tlf +0 -361
  95. data/examples/list_manual_generation/list_manual_generation.rb +0 -22
  96. data/examples/list_manual_generation/list_manual_generation.tlf +0 -132
  97. data/examples/list_page_number/list_page_number.rb +0 -17
  98. data/examples/list_page_number/list_page_number.tlf +0 -254
  99. data/examples/page_number/page_number.rb +0 -33
  100. data/examples/page_number/page_number.tlf +0 -215
  101. data/examples/palleted_png/palleted_png.png +0 -0
  102. data/examples/palleted_png/palleted_png.rb +0 -9
  103. data/examples/palleted_png/palleted_png.tlf +0 -47
  104. data/examples/password_setting/password_setting.rb +0 -10
  105. data/examples/password_setting/password_setting.tlf +0 -45
  106. data/examples/report_callbacks/report_callbacks.rb +0 -14
  107. data/examples/report_callbacks/report_callbacks.tlf +0 -147
  108. data/examples/single_line_tblock/single_line_tblock.rb +0 -13
  109. data/examples/single_line_tblock/single_line_tblock.tlf +0 -170
  110. data/examples/tblock_overflow/tblock_overflow.rb +0 -20
  111. data/examples/tblock_overflow/tblock_overflow.tlf +0 -538
  112. data/examples/tblock_styles/font_size.tlf +0 -383
  113. data/examples/tblock_styles/tblock_styles.rb +0 -43
  114. data/examples/tblock_styles/tblock_styles.tlf +0 -889
  115. data/examples/text_align/text_align.rb +0 -8
  116. data/examples/text_align/text_align.tlf +0 -241
  117. data/examples/typeB_page_size/B4_ISO.tlf +0 -45
  118. data/examples/typeB_page_size/B4_JIS.tlf +0 -45
  119. data/examples/typeB_page_size/typeB_page_size.rb +0 -17
  120. data/examples/word_wrap/word_wrap.rb +0 -26
  121. data/examples/word_wrap/word_wrap.tlf +0 -297
  122. data/test/data/font.ttf +0 -0
  123. data/test/data/image_normal.jpg +0 -0
  124. data/test/data/image_normal.png +0 -0
  125. data/test/data/image_normal_jpg_noext +0 -0
  126. data/test/data/image_normal_png_noext +0 -0
  127. data/test/data/image_pallete_based.png +0 -0
  128. data/test/data/legacy_layout/all-items.tlf +0 -1
  129. data/test/schema_helper.rb +0 -122
  130. data/test/test_helper.rb +0 -48
  131. data/test/tmp/.gitkeep +0 -0
  132. data/test/unit/core/format/test_base.rb +0 -152
  133. data/test/unit/core/shape/base/test_internal.rb +0 -87
  134. data/test/unit/core/shape/basic/test_block_format.rb +0 -23
  135. data/test/unit/core/shape/basic/test_block_interface.rb +0 -29
  136. data/test/unit/core/shape/basic/test_block_internal.rb +0 -55
  137. data/test/unit/core/shape/basic/test_format.rb +0 -37
  138. data/test/unit/core/shape/basic/test_interface.rb +0 -108
  139. data/test/unit/core/shape/basic/test_internal.rb +0 -55
  140. data/test/unit/core/shape/image_block/test_interface.rb +0 -24
  141. data/test/unit/core/shape/image_block/test_internal.rb +0 -31
  142. data/test/unit/core/shape/list/test_format.rb +0 -111
  143. data/test/unit/core/shape/list/test_manager.rb +0 -67
  144. data/test/unit/core/shape/list/test_page.rb +0 -82
  145. data/test/unit/core/shape/list/test_page_state.rb +0 -31
  146. data/test/unit/core/shape/list/test_section_format.rb +0 -36
  147. data/test/unit/core/shape/list/test_section_interface.rb +0 -75
  148. data/test/unit/core/shape/list/test_section_internal.rb +0 -50
  149. data/test/unit/core/shape/manager/test_format.rb +0 -38
  150. data/test/unit/core/shape/manager/test_internal.rb +0 -132
  151. data/test/unit/core/shape/manager/test_target.rb +0 -140
  152. data/test/unit/core/shape/page_number/test_format.rb +0 -55
  153. data/test/unit/core/shape/page_number/test_interface.rb +0 -33
  154. data/test/unit/core/shape/page_number/test_internal.rb +0 -81
  155. data/test/unit/core/shape/styles/test_base.rb +0 -191
  156. data/test/unit/core/shape/styles/test_basic.rb +0 -24
  157. data/test/unit/core/shape/styles/test_graphic.rb +0 -50
  158. data/test/unit/core/shape/styles/test_text.rb +0 -97
  159. data/test/unit/core/shape/text/test_format.rb +0 -44
  160. data/test/unit/core/shape/text/test_internal.rb +0 -20
  161. data/test/unit/core/shape/text_block/formatter/test_basic.rb +0 -24
  162. data/test/unit/core/shape/text_block/formatter/test_datetime.rb +0 -49
  163. data/test/unit/core/shape/text_block/formatter/test_number.rb +0 -76
  164. data/test/unit/core/shape/text_block/formatter/test_padding.rb +0 -77
  165. data/test/unit/core/shape/text_block/test_format.rb +0 -169
  166. data/test/unit/core/shape/text_block/test_formatter.rb +0 -28
  167. data/test/unit/core/shape/text_block/test_interface.rb +0 -63
  168. data/test/unit/core/shape/text_block/test_internal.rb +0 -128
  169. data/test/unit/core/test_shape.rb +0 -52
  170. data/test/unit/core/test_utils.rb +0 -68
  171. data/test/unit/generator/pdf/document/graphics/test_attributes.rb +0 -135
  172. data/test/unit/generator/pdf/document/graphics/test_basic.rb +0 -46
  173. data/test/unit/generator/pdf/document/graphics/test_image.rb +0 -46
  174. data/test/unit/generator/pdf/document/graphics/test_text.rb +0 -171
  175. data/test/unit/generator/pdf/document/test_font.rb +0 -84
  176. data/test/unit/generator/pdf/document/test_graphics.rb +0 -42
  177. data/test/unit/generator/pdf/document/test_page.rb +0 -122
  178. data/test/unit/generator/pdf/document/test_parse_color.rb +0 -30
  179. data/test/unit/generator/pdf/prawn_ext/test_calc_image_dimensions.rb +0 -41
  180. data/test/unit/generator/pdf/prawn_ext/test_width_of.rb +0 -22
  181. data/test/unit/generator/pdf/test_document.rb +0 -22
  182. data/test/unit/generator/test_pdf.rb +0 -26
  183. data/test/unit/layout/test_base.rb +0 -41
  184. data/test/unit/layout/test_format.rb +0 -100
  185. data/test/unit/layout/test_legacy_schema.rb +0 -574
  186. data/test/unit/layout/test_version.rb +0 -26
  187. data/test/unit/report/test_base.rb +0 -248
  188. data/test/unit/report/test_internal.rb +0 -206
  189. data/test/unit/test_config.rb +0 -36
  190. data/test/unit/test_layout.rb +0 -12
  191. data/test/unit/test_report.rb +0 -18
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'section_height'
4
+ require_relative 'draw_item'
5
+
6
+ module Thinreports
7
+ module SectionReport
8
+ module Renderer
9
+ class StackViewRowRenderer
10
+ include SectionHeight
11
+ include DrawItem
12
+
13
+ def initialize(pdf)
14
+ @pdf = pdf
15
+ end
16
+
17
+ def render(row)
18
+ doc = pdf.pdf
19
+
20
+ actual_height = section_height(row)
21
+ doc.bounding_box([0, doc.cursor], width: doc.bounds.width, height: actual_height) do
22
+ row.items.each do |item|
23
+ draw_item(item, (actual_height - row.schema.height))
24
+ end
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ attr_reader :pdf
31
+
32
+ def stack_view_renderer
33
+ raise Thinreports::Errors::InvalidLayoutFormat, 'nested StackView does not supported'
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'parser'
4
+
5
+ module Thinreports
6
+ module SectionReport
7
+ module Schema
8
+ class Loader
9
+ def initialize
10
+ @parser = Schema::Parser.new
11
+ end
12
+
13
+ def load_from_file(filename)
14
+ data = File.read(filename, encoding: 'UTF-8')
15
+ load_from_data(data)
16
+ end
17
+
18
+ def load_from_data(data)
19
+ parser.parse(data)
20
+ end
21
+
22
+ private
23
+
24
+ attr_reader :parser
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ require_relative 'report'
6
+ require_relative 'section'
7
+
8
+ module Thinreports
9
+ module SectionReport
10
+ module Schema
11
+ class Parser
12
+ def parse(schema_json_data)
13
+ schema_data = JSON.parse(schema_json_data)
14
+
15
+ section_schema_datas = schema_data['sections'].group_by { |section| section['type'] }
16
+
17
+ Schema::Report.new(
18
+ schema_data,
19
+ headers: parse_sections(:header, section_schema_datas['header']),
20
+ details: parse_sections(:detail, section_schema_datas['detail']),
21
+ footers: parse_sections(:footer, section_schema_datas['footer'])
22
+ )
23
+ end
24
+
25
+ private
26
+
27
+ attr_reader :schema_data
28
+
29
+ def parse_sections(section_type, section_schema_datas = nil)
30
+ return {} if section_schema_datas.nil?
31
+
32
+ section_schema_datas.each_with_object({}) do |section_schema_data, section_schemas|
33
+ id = section_schema_data['id']
34
+ section_schemas[id.to_sym] = parse_section(section_type, section_schema_data)
35
+ end
36
+ end
37
+
38
+ def parse_section(type, section_schema_data)
39
+ items = section_schema_data['items'].map do |item_schema_data|
40
+ item_type = item_schema_data['type']
41
+ Core::Shape::Format(item_type).new(item_schema_data)
42
+ end
43
+ section_schema_class_for(type).new(section_schema_data, items: items)
44
+ end
45
+
46
+ def section_schema_class_for(section_type)
47
+ Schema::Section.const_get(section_type.capitalize)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Thinreports
4
+ module SectionReport
5
+ module Schema
6
+ class Report < Core::Shape::Manager::Format
7
+ config_reader last_version: %w( version )
8
+ config_reader report_title: %w( title )
9
+ config_reader page_paper_type: %w( report paper-type ),
10
+ page_orientation: %w( report orientation ),
11
+ page_margin: %w( report margin ),
12
+ page_width: %w[report width],
13
+ page_height: %w[report height]
14
+
15
+ attr_reader :headers, :details, :footers
16
+
17
+ def user_paper_type?
18
+ page_paper_type == 'user'
19
+ end
20
+
21
+ def initialize(schema_data, headers:, details:, footers:)
22
+ super(schema_data)
23
+ @headers = headers
24
+ @details = details
25
+ @footers = footers
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Thinreports
4
+ module SectionReport
5
+ module Schema
6
+ module Section
7
+ class Base < Core::Shape::Manager::Format
8
+ config_reader :id, :type
9
+ config_reader :height
10
+ config_checker true, :display
11
+ config_checker true, auto_stretch: 'auto-stretch'
12
+
13
+ attr_reader :items
14
+
15
+ def initialize(schema_data, items:)
16
+ super(schema_data)
17
+ initialize_items(items)
18
+ end
19
+
20
+ def find_item(id)
21
+ @item_with_ids[id.to_sym]
22
+ end
23
+
24
+ private
25
+
26
+ def initialize_items(items)
27
+ @items = items
28
+ @item_with_ids = items.each_with_object({}) do |item, item_with_ids|
29
+ next if item.id.empty?
30
+ item_with_ids[item.id.to_sym] = item
31
+ end
32
+ end
33
+ end
34
+
35
+ class Header < Base
36
+ config_checker true, every_page: 'every-page'
37
+ end
38
+
39
+ class Footer < Base
40
+ end
41
+
42
+ class Detail < Base
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Thinreports
4
- VERSION = '0.10.0'.freeze
4
+ VERSION = '0.12.0'
5
5
  end
@@ -14,18 +14,18 @@ Gem::Specification.new do |s|
14
14
  s.homepage = 'http://www.thinreports.org'
15
15
  s.license = 'MIT'
16
16
 
17
- s.required_ruby_version = '>= 2.1.0'
17
+ s.required_ruby_version = '>= 2.5.0'
18
18
 
19
- s.files = `git ls-files`.split($\)
20
- s.require_path = 'lib'
19
+ s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
20
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^test/}) }
21
+ end
22
+ s.require_paths = ['lib']
21
23
 
22
- s.add_dependency 'prawn', '~> 2.2.0'
24
+ s.add_dependency 'prawn', '~> 2.2'
25
+ s.add_dependency 'rexml'
23
26
 
24
- s.add_development_dependency 'bundler', ['>= 1.0.0']
25
- s.add_development_dependency 'minitest', ['>= 5.0.0']
26
- s.add_development_dependency 'mocha', ['>= 0']
27
- s.add_development_dependency 'pdf-inspector', ['>= 0']
28
- s.add_development_dependency 'rake', ['>= 0']
29
- s.add_development_dependency 'rubocop', ['>= 0']
30
- s.add_development_dependency 'yard'
27
+ s.add_development_dependency 'minitest', '>= 5.14.1'
28
+ s.add_development_dependency 'mocha', '>= 1.11.2'
29
+ s.add_development_dependency 'pdf-inspector', '>= 1.3.0'
30
+ s.add_development_dependency 'rake', '>= 13.0.1'
31
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thinreports
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matsukei Co.,Ltd.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-09 00:00:00.000000000 Z
11
+ date: 2021-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn
@@ -16,112 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.0
19
+ version: '2.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.0
26
+ version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: rexml
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0
34
- type: :development
33
+ version: '0'
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.0
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 5.0.0
47
+ version: 5.14.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 5.0.0
54
+ version: 5.14.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mocha
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 1.11.2
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 1.11.2
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pdf-inspector
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 1.3.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 1.3.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: yard
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
89
+ version: 13.0.1
118
90
  type: :development
119
91
  prerelease: false
120
92
  version_requirements: !ruby/object:Gem::Requirement
121
93
  requirements:
122
94
  - - ">="
123
95
  - !ruby/object:Gem::Version
124
- version: '0'
96
+ version: 13.0.1
125
97
  description: Thinreports is an open source report generation tool for Ruby.
126
98
  email: thinreports@gmail.com
127
99
  executables: []
@@ -129,64 +101,22 @@ extensions: []
129
101
  extra_rdoc_files: []
130
102
  files:
131
103
  - ".github/CONTRIBUTING.md"
104
+ - ".github/workflows/test.yml"
132
105
  - ".gitignore"
133
- - ".rubocop.yml"
134
- - ".travis.yml"
135
106
  - CHANGELOG.md
107
+ - Dockerfile
136
108
  - Gemfile
137
109
  - MIT-LICENSE
138
110
  - README.md
139
111
  - Rakefile
140
- - examples/character_spacing/character_spacing.rb
141
- - examples/character_spacing/character_spacing.tlf
142
- - examples/dynamic_image/dynamic_image.rb
143
- - examples/dynamic_image/dynamic_image.tlf
144
- - examples/dynamic_image/img200x100.png
145
- - examples/dynamic_image/img50x50.png
146
- - examples/dynamic_style/dynamic_style.rb
147
- - examples/dynamic_style/dynamic_style.tlf
148
- - examples/dynamic_style/dynamic_style_in_list.tlf
149
- - examples/dynamic_style/image.png
150
- - examples/eudc/eudc.rb
151
- - examples/eudc/eudc.tlf
152
- - examples/eudc/eudc.ttf
153
- - examples/helper.rb
154
- - examples/hidden_shapes/hidden_shapes.rb
155
- - examples/hidden_shapes/hidden_shapes.tlf
156
- - examples/list_events/list_events.rb
157
- - examples/list_events/list_events.tlf
158
- - examples/list_manual_generation/list_manual_generation.rb
159
- - examples/list_manual_generation/list_manual_generation.tlf
160
- - examples/list_page_number/list_page_number.rb
161
- - examples/list_page_number/list_page_number.tlf
162
- - examples/page_number/page_number.rb
163
- - examples/page_number/page_number.tlf
164
- - examples/palleted_png/palleted_png.png
165
- - examples/palleted_png/palleted_png.rb
166
- - examples/palleted_png/palleted_png.tlf
167
- - examples/password_setting/password_setting.rb
168
- - examples/password_setting/password_setting.tlf
169
- - examples/report_callbacks/report_callbacks.rb
170
- - examples/report_callbacks/report_callbacks.tlf
171
- - examples/single_line_tblock/single_line_tblock.rb
172
- - examples/single_line_tblock/single_line_tblock.tlf
173
- - examples/tblock_overflow/tblock_overflow.rb
174
- - examples/tblock_overflow/tblock_overflow.tlf
175
- - examples/tblock_styles/font_size.tlf
176
- - examples/tblock_styles/tblock_styles.rb
177
- - examples/tblock_styles/tblock_styles.tlf
178
- - examples/text_align/text_align.rb
179
- - examples/text_align/text_align.tlf
180
- - examples/typeB_page_size/B4_ISO.tlf
181
- - examples/typeB_page_size/B4_JIS.tlf
182
- - examples/typeB_page_size/typeB_page_size.rb
183
- - examples/word_wrap/word_wrap.rb
184
- - examples/word_wrap/word_wrap.tlf
185
112
  - fonts/IPA_Font_License_Agreement_v1.0.txt
186
113
  - fonts/ipag.ttf
187
114
  - fonts/ipagp.ttf
188
115
  - fonts/ipam.ttf
189
116
  - fonts/ipamp.ttf
117
+ - gemfiles/prawn-2.2.gemfile
118
+ - gemfiles/prawn-2.3.gemfile
119
+ - gemfiles/prawn-2.4.gemfile
190
120
  - lib/thinreports.rb
191
121
  - lib/thinreports/config.rb
192
122
  - lib/thinreports/core/errors.rb
@@ -222,6 +152,11 @@ files:
222
152
  - lib/thinreports/core/shape/page_number/format.rb
223
153
  - lib/thinreports/core/shape/page_number/interface.rb
224
154
  - lib/thinreports/core/shape/page_number/internal.rb
155
+ - lib/thinreports/core/shape/stack_view.rb
156
+ - lib/thinreports/core/shape/stack_view/format.rb
157
+ - lib/thinreports/core/shape/stack_view/interface.rb
158
+ - lib/thinreports/core/shape/stack_view/internal.rb
159
+ - lib/thinreports/core/shape/stack_view/row_format.rb
225
160
  - lib/thinreports/core/shape/style.rb
226
161
  - lib/thinreports/core/shape/style/base.rb
227
162
  - lib/thinreports/core/shape/style/basic.rb
@@ -241,6 +176,7 @@ files:
241
176
  - lib/thinreports/core/shape/text_block/interface.rb
242
177
  - lib/thinreports/core/shape/text_block/internal.rb
243
178
  - lib/thinreports/core/utils.rb
179
+ - lib/thinreports/generate.rb
244
180
  - lib/thinreports/generator/pdf.rb
245
181
  - lib/thinreports/generator/pdf/document.rb
246
182
  - lib/thinreports/generator/pdf/document/draw_shape.rb
@@ -269,77 +205,26 @@ files:
269
205
  - lib/thinreports/report/base.rb
270
206
  - lib/thinreports/report/internal.rb
271
207
  - lib/thinreports/report/page.rb
208
+ - lib/thinreports/section_report/build.rb
209
+ - lib/thinreports/section_report/builder/item_builder.rb
210
+ - lib/thinreports/section_report/builder/report_builder.rb
211
+ - lib/thinreports/section_report/builder/report_data.rb
212
+ - lib/thinreports/section_report/builder/stack_view_builder.rb
213
+ - lib/thinreports/section_report/builder/stack_view_data.rb
214
+ - lib/thinreports/section_report/generate.rb
215
+ - lib/thinreports/section_report/pdf/render.rb
216
+ - lib/thinreports/section_report/pdf/renderer/draw_item.rb
217
+ - lib/thinreports/section_report/pdf/renderer/group_renderer.rb
218
+ - lib/thinreports/section_report/pdf/renderer/headers_renderer.rb
219
+ - lib/thinreports/section_report/pdf/renderer/section_height.rb
220
+ - lib/thinreports/section_report/pdf/renderer/section_renderer.rb
221
+ - lib/thinreports/section_report/pdf/renderer/stack_view_renderer.rb
222
+ - lib/thinreports/section_report/pdf/renderer/stack_view_row_renderer.rb
223
+ - lib/thinreports/section_report/schema/loader.rb
224
+ - lib/thinreports/section_report/schema/parser.rb
225
+ - lib/thinreports/section_report/schema/report.rb
226
+ - lib/thinreports/section_report/schema/section.rb
272
227
  - lib/thinreports/version.rb
273
- - test/data/font.ttf
274
- - test/data/image_normal.jpg
275
- - test/data/image_normal.png
276
- - test/data/image_normal_jpg_noext
277
- - test/data/image_normal_png_noext
278
- - test/data/image_pallete_based.png
279
- - test/data/legacy_layout/all-items.tlf
280
- - test/schema_helper.rb
281
- - test/test_helper.rb
282
- - test/tmp/.gitkeep
283
- - test/unit/core/format/test_base.rb
284
- - test/unit/core/shape/base/test_internal.rb
285
- - test/unit/core/shape/basic/test_block_format.rb
286
- - test/unit/core/shape/basic/test_block_interface.rb
287
- - test/unit/core/shape/basic/test_block_internal.rb
288
- - test/unit/core/shape/basic/test_format.rb
289
- - test/unit/core/shape/basic/test_interface.rb
290
- - test/unit/core/shape/basic/test_internal.rb
291
- - test/unit/core/shape/image_block/test_interface.rb
292
- - test/unit/core/shape/image_block/test_internal.rb
293
- - test/unit/core/shape/list/test_format.rb
294
- - test/unit/core/shape/list/test_manager.rb
295
- - test/unit/core/shape/list/test_page.rb
296
- - test/unit/core/shape/list/test_page_state.rb
297
- - test/unit/core/shape/list/test_section_format.rb
298
- - test/unit/core/shape/list/test_section_interface.rb
299
- - test/unit/core/shape/list/test_section_internal.rb
300
- - test/unit/core/shape/manager/test_format.rb
301
- - test/unit/core/shape/manager/test_internal.rb
302
- - test/unit/core/shape/manager/test_target.rb
303
- - test/unit/core/shape/page_number/test_format.rb
304
- - test/unit/core/shape/page_number/test_interface.rb
305
- - test/unit/core/shape/page_number/test_internal.rb
306
- - test/unit/core/shape/styles/test_base.rb
307
- - test/unit/core/shape/styles/test_basic.rb
308
- - test/unit/core/shape/styles/test_graphic.rb
309
- - test/unit/core/shape/styles/test_text.rb
310
- - test/unit/core/shape/text/test_format.rb
311
- - test/unit/core/shape/text/test_internal.rb
312
- - test/unit/core/shape/text_block/formatter/test_basic.rb
313
- - test/unit/core/shape/text_block/formatter/test_datetime.rb
314
- - test/unit/core/shape/text_block/formatter/test_number.rb
315
- - test/unit/core/shape/text_block/formatter/test_padding.rb
316
- - test/unit/core/shape/text_block/test_format.rb
317
- - test/unit/core/shape/text_block/test_formatter.rb
318
- - test/unit/core/shape/text_block/test_interface.rb
319
- - test/unit/core/shape/text_block/test_internal.rb
320
- - test/unit/core/test_shape.rb
321
- - test/unit/core/test_utils.rb
322
- - test/unit/generator/pdf/document/graphics/test_attributes.rb
323
- - test/unit/generator/pdf/document/graphics/test_basic.rb
324
- - test/unit/generator/pdf/document/graphics/test_image.rb
325
- - test/unit/generator/pdf/document/graphics/test_text.rb
326
- - test/unit/generator/pdf/document/test_font.rb
327
- - test/unit/generator/pdf/document/test_graphics.rb
328
- - test/unit/generator/pdf/document/test_page.rb
329
- - test/unit/generator/pdf/document/test_parse_color.rb
330
- - test/unit/generator/pdf/prawn_ext/test_calc_image_dimensions.rb
331
- - test/unit/generator/pdf/prawn_ext/test_width_of.rb
332
- - test/unit/generator/pdf/test_document.rb
333
- - test/unit/generator/test_pdf.rb
334
- - test/unit/layout/test_base.rb
335
- - test/unit/layout/test_format.rb
336
- - test/unit/layout/test_legacy_schema.rb
337
- - test/unit/layout/test_version.rb
338
- - test/unit/report/test_base.rb
339
- - test/unit/report/test_internal.rb
340
- - test/unit/test_config.rb
341
- - test/unit/test_layout.rb
342
- - test/unit/test_report.rb
343
228
  - thinreports.gemspec
344
229
  homepage: http://www.thinreports.org
345
230
  licenses:
@@ -353,15 +238,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
353
238
  requirements:
354
239
  - - ">="
355
240
  - !ruby/object:Gem::Version
356
- version: 2.1.0
241
+ version: 2.5.0
357
242
  required_rubygems_version: !ruby/object:Gem::Requirement
358
243
  requirements:
359
244
  - - ">="
360
245
  - !ruby/object:Gem::Version
361
246
  version: '0'
362
247
  requirements: []
363
- rubyforge_project:
364
- rubygems_version: 2.6.11
248
+ rubygems_version: 3.1.2
365
249
  signing_key:
366
250
  specification_version: 4
367
251
  summary: An open source report generation tool for Ruby.