thinreports 0.12.1 → 0.13.1

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 (177) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +3 -3
  3. data/.github/workflows/test.yml +28 -36
  4. data/.gitignore +1 -1
  5. data/CHANGELOG.md +25 -1
  6. data/Gemfile +11 -0
  7. data/README.md +12 -17
  8. data/Rakefile +17 -11
  9. data/lib/thinreports/basic_report/core/errors.rb +62 -0
  10. data/lib/thinreports/basic_report/core/format/base.rb +91 -0
  11. data/lib/thinreports/basic_report/core/shape/base/interface.rb +42 -0
  12. data/lib/thinreports/basic_report/core/shape/base/internal.rb +53 -0
  13. data/lib/thinreports/basic_report/core/shape/basic/block_format.rb +15 -0
  14. data/lib/thinreports/basic_report/core/shape/basic/block_interface.rb +34 -0
  15. data/lib/thinreports/basic_report/core/shape/basic/block_internal.rb +36 -0
  16. data/lib/thinreports/basic_report/core/shape/basic/format.rb +24 -0
  17. data/lib/thinreports/basic_report/core/shape/basic/interface.rb +87 -0
  18. data/lib/thinreports/basic_report/core/shape/basic/internal.rb +28 -0
  19. data/lib/thinreports/{core → basic_report/core}/shape/basic.rb +6 -4
  20. data/lib/thinreports/basic_report/core/shape/image_block/format.rb +14 -0
  21. data/lib/thinreports/basic_report/core/shape/image_block/interface.rb +25 -0
  22. data/lib/thinreports/basic_report/core/shape/image_block/internal.rb +19 -0
  23. data/lib/thinreports/{core → basic_report/core}/shape/image_block.rb +6 -4
  24. data/lib/thinreports/basic_report/core/shape/list/format.rb +92 -0
  25. data/lib/thinreports/basic_report/core/shape/list/manager.rb +231 -0
  26. data/lib/thinreports/basic_report/core/shape/list/page.rb +112 -0
  27. data/lib/thinreports/basic_report/core/shape/list/page_state.rb +50 -0
  28. data/lib/thinreports/basic_report/core/shape/list/section_format.rb +37 -0
  29. data/lib/thinreports/basic_report/core/shape/list/section_interface.rb +51 -0
  30. data/lib/thinreports/basic_report/core/shape/list/section_internal.rb +33 -0
  31. data/lib/thinreports/{core → basic_report/core}/shape/list.rb +6 -4
  32. data/lib/thinreports/basic_report/core/shape/manager/format.rb +33 -0
  33. data/lib/thinreports/basic_report/core/shape/manager/internal.rb +109 -0
  34. data/lib/thinreports/basic_report/core/shape/manager/target.rb +114 -0
  35. data/lib/thinreports/basic_report/core/shape/page_number/format.rb +32 -0
  36. data/lib/thinreports/basic_report/core/shape/page_number/interface.rb +31 -0
  37. data/lib/thinreports/basic_report/core/shape/page_number/internal.rb +57 -0
  38. data/lib/thinreports/{core → basic_report/core}/shape/page_number.rb +6 -4
  39. data/lib/thinreports/basic_report/core/shape/stack_view/format.rb +29 -0
  40. data/lib/thinreports/basic_report/core/shape/stack_view/interface.rb +19 -0
  41. data/lib/thinreports/basic_report/core/shape/stack_view/internal.rb +24 -0
  42. data/lib/thinreports/basic_report/core/shape/stack_view/row_format.rb +41 -0
  43. data/lib/thinreports/{core → basic_report/core}/shape/stack_view.rb +6 -4
  44. data/lib/thinreports/basic_report/core/shape/style/base.rb +149 -0
  45. data/lib/thinreports/basic_report/core/shape/style/basic.rb +24 -0
  46. data/lib/thinreports/basic_report/core/shape/style/graphic.rb +43 -0
  47. data/lib/thinreports/basic_report/core/shape/style/text.rb +122 -0
  48. data/lib/thinreports/basic_report/core/shape/text/format.rb +17 -0
  49. data/lib/thinreports/basic_report/core/shape/text/interface.rb +20 -0
  50. data/lib/thinreports/basic_report/core/shape/text/internal.rb +24 -0
  51. data/lib/thinreports/{core → basic_report/core}/shape/text.rb +6 -4
  52. data/lib/thinreports/basic_report/core/shape/text_block/format.rb +43 -0
  53. data/lib/thinreports/basic_report/core/shape/text_block/formatter/basic.rb +41 -0
  54. data/lib/thinreports/basic_report/core/shape/text_block/formatter/datetime.rb +25 -0
  55. data/lib/thinreports/basic_report/core/shape/text_block/formatter/number.rb +69 -0
  56. data/lib/thinreports/basic_report/core/shape/text_block/formatter/padding.rb +27 -0
  57. data/lib/thinreports/basic_report/core/shape/text_block/formatter.rb +38 -0
  58. data/lib/thinreports/basic_report/core/shape/text_block/interface.rb +37 -0
  59. data/lib/thinreports/basic_report/core/shape/text_block/internal.rb +75 -0
  60. data/lib/thinreports/{core → basic_report/core}/shape/text_block.rb +6 -4
  61. data/lib/thinreports/basic_report/core/shape.rb +44 -0
  62. data/lib/thinreports/basic_report/core/utils.rb +47 -0
  63. data/lib/thinreports/basic_report/generator/pdf/document/draw_shape.rb +108 -0
  64. data/lib/thinreports/basic_report/generator/pdf/document/draw_template_items.rb +71 -0
  65. data/lib/thinreports/basic_report/generator/pdf/document/font.rb +90 -0
  66. data/lib/thinreports/basic_report/generator/pdf/document/graphics/attributes.rb +149 -0
  67. data/lib/thinreports/basic_report/generator/pdf/document/graphics/basic.rb +137 -0
  68. data/lib/thinreports/basic_report/generator/pdf/document/graphics/image.rb +99 -0
  69. data/lib/thinreports/basic_report/generator/pdf/document/graphics/text.rb +180 -0
  70. data/lib/thinreports/basic_report/generator/pdf/document/graphics.rb +42 -0
  71. data/lib/thinreports/basic_report/generator/pdf/document/page.rb +96 -0
  72. data/lib/thinreports/basic_report/generator/pdf/document/parse_color.rb +51 -0
  73. data/lib/thinreports/basic_report/generator/pdf/document.rb +132 -0
  74. data/lib/thinreports/basic_report/generator/pdf/drawer/base.rb +50 -0
  75. data/lib/thinreports/basic_report/generator/pdf/drawer/list.rb +65 -0
  76. data/lib/thinreports/basic_report/generator/pdf/drawer/list_section.rb +51 -0
  77. data/lib/thinreports/basic_report/generator/pdf/drawer/page.rb +127 -0
  78. data/lib/thinreports/basic_report/generator/pdf/prawn_ext/calc_image_dimensions.rb +34 -0
  79. data/lib/thinreports/basic_report/generator/pdf/prawn_ext/width_of.rb +31 -0
  80. data/lib/thinreports/basic_report/generator/pdf.rb +66 -0
  81. data/lib/thinreports/basic_report/layout/base.rb +48 -0
  82. data/lib/thinreports/basic_report/layout/format.rb +67 -0
  83. data/lib/thinreports/basic_report/layout/legacy_schema.rb +383 -0
  84. data/lib/thinreports/basic_report/layout/version.rb +41 -0
  85. data/lib/thinreports/{layout.rb → basic_report/layout.rb} +6 -4
  86. data/lib/thinreports/basic_report/report/base.rb +174 -0
  87. data/lib/thinreports/basic_report/report/internal.rb +107 -0
  88. data/lib/thinreports/basic_report/report/page.rb +97 -0
  89. data/lib/thinreports/basic_report/report.rb +26 -0
  90. data/lib/thinreports/basic_report.rb +15 -0
  91. data/lib/thinreports/config.rb +1 -1
  92. data/lib/thinreports/section_report.rb +12 -0
  93. data/lib/thinreports/version.rb +1 -1
  94. data/lib/thinreports.rb +2 -13
  95. data/thinreports.gemspec +3 -7
  96. metadata +97 -154
  97. data/gemfiles/prawn-2.2.gemfile +0 -5
  98. data/gemfiles/prawn-2.3.gemfile +0 -5
  99. data/gemfiles/prawn-2.4.gemfile +0 -5
  100. data/lib/thinreports/core/errors.rb +0 -60
  101. data/lib/thinreports/core/format/base.rb +0 -89
  102. data/lib/thinreports/core/shape/base/interface.rb +0 -40
  103. data/lib/thinreports/core/shape/base/internal.rb +0 -51
  104. data/lib/thinreports/core/shape/basic/block_format.rb +0 -13
  105. data/lib/thinreports/core/shape/basic/block_interface.rb +0 -32
  106. data/lib/thinreports/core/shape/basic/block_internal.rb +0 -34
  107. data/lib/thinreports/core/shape/basic/format.rb +0 -22
  108. data/lib/thinreports/core/shape/basic/interface.rb +0 -85
  109. data/lib/thinreports/core/shape/basic/internal.rb +0 -26
  110. data/lib/thinreports/core/shape/image_block/format.rb +0 -12
  111. data/lib/thinreports/core/shape/image_block/interface.rb +0 -23
  112. data/lib/thinreports/core/shape/image_block/internal.rb +0 -17
  113. data/lib/thinreports/core/shape/list/format.rb +0 -90
  114. data/lib/thinreports/core/shape/list/manager.rb +0 -229
  115. data/lib/thinreports/core/shape/list/page.rb +0 -110
  116. data/lib/thinreports/core/shape/list/page_state.rb +0 -48
  117. data/lib/thinreports/core/shape/list/section_format.rb +0 -35
  118. data/lib/thinreports/core/shape/list/section_interface.rb +0 -49
  119. data/lib/thinreports/core/shape/list/section_internal.rb +0 -31
  120. data/lib/thinreports/core/shape/manager/format.rb +0 -31
  121. data/lib/thinreports/core/shape/manager/internal.rb +0 -107
  122. data/lib/thinreports/core/shape/manager/target.rb +0 -112
  123. data/lib/thinreports/core/shape/page_number/format.rb +0 -30
  124. data/lib/thinreports/core/shape/page_number/interface.rb +0 -29
  125. data/lib/thinreports/core/shape/page_number/internal.rb +0 -55
  126. data/lib/thinreports/core/shape/stack_view/format.rb +0 -27
  127. data/lib/thinreports/core/shape/stack_view/interface.rb +0 -17
  128. data/lib/thinreports/core/shape/stack_view/internal.rb +0 -22
  129. data/lib/thinreports/core/shape/stack_view/row_format.rb +0 -39
  130. data/lib/thinreports/core/shape/style/base.rb +0 -146
  131. data/lib/thinreports/core/shape/style/basic.rb +0 -22
  132. data/lib/thinreports/core/shape/style/graphic.rb +0 -41
  133. data/lib/thinreports/core/shape/style/text.rb +0 -120
  134. data/lib/thinreports/core/shape/text/format.rb +0 -15
  135. data/lib/thinreports/core/shape/text/interface.rb +0 -18
  136. data/lib/thinreports/core/shape/text/internal.rb +0 -22
  137. data/lib/thinreports/core/shape/text_block/format.rb +0 -41
  138. data/lib/thinreports/core/shape/text_block/formatter/basic.rb +0 -39
  139. data/lib/thinreports/core/shape/text_block/formatter/datetime.rb +0 -23
  140. data/lib/thinreports/core/shape/text_block/formatter/number.rb +0 -67
  141. data/lib/thinreports/core/shape/text_block/formatter/padding.rb +0 -25
  142. data/lib/thinreports/core/shape/text_block/formatter.rb +0 -34
  143. data/lib/thinreports/core/shape/text_block/interface.rb +0 -35
  144. data/lib/thinreports/core/shape/text_block/internal.rb +0 -73
  145. data/lib/thinreports/core/shape.rb +0 -42
  146. data/lib/thinreports/core/utils.rb +0 -45
  147. data/lib/thinreports/generate.rb +0 -11
  148. data/lib/thinreports/generator/pdf/document/draw_shape.rb +0 -106
  149. data/lib/thinreports/generator/pdf/document/draw_template_items.rb +0 -69
  150. data/lib/thinreports/generator/pdf/document/font.rb +0 -88
  151. data/lib/thinreports/generator/pdf/document/graphics/attributes.rb +0 -147
  152. data/lib/thinreports/generator/pdf/document/graphics/basic.rb +0 -135
  153. data/lib/thinreports/generator/pdf/document/graphics/image.rb +0 -98
  154. data/lib/thinreports/generator/pdf/document/graphics/text.rb +0 -178
  155. data/lib/thinreports/generator/pdf/document/graphics.rb +0 -40
  156. data/lib/thinreports/generator/pdf/document/page.rb +0 -94
  157. data/lib/thinreports/generator/pdf/document/parse_color.rb +0 -49
  158. data/lib/thinreports/generator/pdf/document.rb +0 -130
  159. data/lib/thinreports/generator/pdf/drawer/base.rb +0 -48
  160. data/lib/thinreports/generator/pdf/drawer/list.rb +0 -63
  161. data/lib/thinreports/generator/pdf/drawer/list_section.rb +0 -49
  162. data/lib/thinreports/generator/pdf/drawer/page.rb +0 -125
  163. data/lib/thinreports/generator/pdf/prawn_ext/calc_image_dimensions.rb +0 -32
  164. data/lib/thinreports/generator/pdf/prawn_ext/width_of.rb +0 -29
  165. data/lib/thinreports/generator/pdf.rb +0 -63
  166. data/lib/thinreports/layout/base.rb +0 -46
  167. data/lib/thinreports/layout/format.rb +0 -65
  168. data/lib/thinreports/layout/legacy_schema.rb +0 -381
  169. data/lib/thinreports/layout/version.rb +0 -39
  170. data/lib/thinreports/report/base.rb +0 -169
  171. data/lib/thinreports/report/internal.rb +0 -105
  172. data/lib/thinreports/report/page.rb +0 -95
  173. data/lib/thinreports/report.rb +0 -24
  174. /data/lib/thinreports/{core → basic_report/core}/shape/base.rb +0 -0
  175. /data/lib/thinreports/{core → basic_report/core}/shape/manager.rb +0 -0
  176. /data/lib/thinreports/{core → basic_report/core}/shape/style.rb +0 -0
  177. /data/lib/thinreports/{generator → basic_report/generator}/pdf/prawn_ext.rb +0 -0
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Thinreports
4
+ module BasicReport
5
+ module Report
6
+ class Internal
7
+ attr_reader :pages
8
+ attr_reader :page
9
+ attr_reader :page_count
10
+ attr_reader :default_layout
11
+ attr_reader :layout_registry
12
+
13
+ attr_accessor :page_create_handler
14
+
15
+ # @param [Thinreports::BasicReport::Report::Base] report
16
+ # @param options (see Thinreports::BasicReport::Report::Base#initialize)
17
+ def initialize(report, options)
18
+ @report = report
19
+ @default_layout = options[:layout] ? init_layout(options[:layout]) : nil
20
+
21
+ @layout_registry = {}
22
+ @finalized = false
23
+ @pages = []
24
+ @page = nil
25
+ @page_count = 0
26
+
27
+ @page_create_handler = nil
28
+ end
29
+
30
+ # @see Thinreports::BasicReport::Report::Base#use_layout
31
+ def register_layout(layout, options = {})
32
+ if options.empty? || options[:default]
33
+ @default_layout = init_layout(layout)
34
+ else
35
+ id = options[:id].to_sym
36
+
37
+ raise ArgumentError, "Id :#{id} is already in use." if layout_registry.key?(id)
38
+ layout_registry[id] = init_layout(layout, id)
39
+ end
40
+ end
41
+
42
+ def add_page(new_page)
43
+ finalize_current_page
44
+ insert_page(new_page)
45
+ end
46
+
47
+ def copy_page
48
+ finalize_current_page(at: :copy)
49
+ insert_page(page.copy)
50
+ end
51
+
52
+ def finalize
53
+ return if finalized?
54
+
55
+ finalize_current_page
56
+ @finalized = true
57
+ end
58
+
59
+ def finalized?
60
+ @finalized
61
+ end
62
+
63
+ def load_layout(id_or_filename)
64
+ return @default_layout if id_or_filename.nil?
65
+
66
+ layout =
67
+ case id_or_filename
68
+ when Symbol
69
+ layout_registry[id_or_filename]
70
+ when String
71
+ init_layout(id_or_filename)
72
+ else
73
+ raise ArgumentError, 'Invalid argument for layout.'
74
+ end
75
+
76
+ @default_layout ||= layout
77
+ layout
78
+ end
79
+
80
+ private
81
+
82
+ def insert_page(new_page)
83
+ @pages << new_page
84
+
85
+ if new_page.count?
86
+ @page_count += 1
87
+ new_page.no = @page_count
88
+ end
89
+
90
+ @page_create_handler.call(new_page) if !new_page.blank? && @page_create_handler
91
+ @page = new_page
92
+ end
93
+
94
+ # @param (see Thinreports::BasicReport::Report::Page#finalize)
95
+ def finalize_current_page(options = {})
96
+ page.finalize(options) unless page.nil? || page.blank?
97
+ end
98
+
99
+ def init_layout(filename, id = nil)
100
+ filename = filename.to_path if filename.is_a?(Pathname)
101
+
102
+ Thinreports::BasicReport::Layout.new(filename, id: id)
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Thinreports
4
+ module BasicReport
5
+ module Report
6
+ class BlankPage
7
+ # @example
8
+ # 3.times do
9
+ # page = report.start_new_page
10
+ # puts page.no
11
+ # end
12
+ # # => 1, 2, 3
13
+ # @return [Integer]
14
+ attr_accessor :no
15
+
16
+ # @param [Boolean] count (nil)
17
+ def initialize(count = nil)
18
+ @count = count.nil? ? true : count
19
+ end
20
+
21
+ # @example
22
+ # page = report.start_new_page
23
+ # page.count? # => true
24
+ #
25
+ # page = report.start_new_page count: false
26
+ # page.count? # => false
27
+ # @return [Boolean]
28
+ def count?
29
+ @count
30
+ end
31
+
32
+ # @return [Boolean] (true)
33
+ def blank?
34
+ true
35
+ end
36
+ end
37
+
38
+ class Page < BlankPage
39
+ include Core::Shape::Manager::Target
40
+
41
+ # @return [Thinreports::BasicReport::Report::Base]
42
+ attr_reader :report
43
+
44
+ # @return [Thinreports::BasicReport::Layout::Base]
45
+ attr_reader :layout
46
+
47
+ # @param [Thinreports::BasicReport::Report::Base] report
48
+ # @param [Thinreports::BasicReport::Layout::Base] layout
49
+ # @param [Hash] options ({})
50
+ # @option options [Boolean] :count (true)
51
+ def initialize(report, layout, options = {})
52
+ super(options.key?(:count) ? options[:count] : true)
53
+
54
+ @report = report
55
+ @layout = layout
56
+ @finalized = false
57
+
58
+ initialize_manager(layout.format) do |f|
59
+ Core::Shape::Interface(self, f)
60
+ end
61
+ end
62
+
63
+ # @return [Boolean] (false)
64
+ def blank?
65
+ false
66
+ end
67
+
68
+ def copy
69
+ new_page = self.class.new(report, layout, count: count?)
70
+
71
+ manager.shapes.each do |id, shape|
72
+ new_shape = shape.copy(new_page)
73
+ new_page.manager.shapes[id] = new_shape
74
+
75
+ new_page.manager.lists[id] = new_shape if new_shape.internal.type_of?(Core::Shape::List::TYPE_NAME)
76
+ end
77
+ new_page
78
+ end
79
+
80
+ # @param [Hash] options
81
+ # @option options [:create, :copy] :at (:create)
82
+ def finalize(options = {})
83
+ at = options[:at] || :create
84
+
85
+ # For list shapes.
86
+ manager.lists.each_value { |list| list.manager.finalize } if at == :create
87
+
88
+ @finalized = true
89
+ end
90
+
91
+ def finalized?
92
+ @finalized
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Thinreports
4
+ module BasicReport
5
+ module Report
6
+ # @see Thinreports::BasicReport::Report::Base#initialize
7
+ def self.new(*args)
8
+ Base.new(*args)
9
+ end
10
+
11
+ # @see Thinreports::BasicReport::Report::Base#create
12
+ def self.create(*args, &block)
13
+ Base.create(*args, &block)
14
+ end
15
+
16
+ # @see Thinreports::BasicReport::Report::Base#generate
17
+ def self.generate(**args, &block)
18
+ Base.generate(**args, &block)
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ require_relative 'report/base'
25
+ require_relative 'report/internal'
26
+ require_relative 'report/page'
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'basic_report/core/utils'
4
+ require_relative 'basic_report/core/errors'
5
+ require_relative 'basic_report/core/format/base'
6
+ require_relative 'basic_report/core/shape'
7
+ require_relative 'basic_report/core/utils'
8
+ require_relative 'basic_report/report'
9
+ require_relative 'basic_report/layout'
10
+ require_relative 'basic_report/generator/pdf'
11
+
12
+ module Thinreports
13
+ Report = BasicReport::Report
14
+ Layout = BasicReport::Layout
15
+ end
@@ -4,7 +4,7 @@ module Thinreports
4
4
  # @yield [config]
5
5
  # @yieldparam [Thinreports::Configuration] config
6
6
  def self.configure(&block)
7
- Thinreports.call_block_in(config, &block)
7
+ block.call(config)
8
8
  end
9
9
 
10
10
  # @return [Thinreports::Configuration]
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Thinreports
4
+ Core = BasicReport::Core
5
+ Generator = BasicReport::Generator
6
+
7
+ def self.generate(report_params, filename: nil)
8
+ SectionReport::Generate.new.call(report_params, filename: filename)
9
+ end
10
+ end
11
+
12
+ require_relative 'section_report/generate'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Thinreports
4
- VERSION = '0.12.1'
4
+ VERSION = '0.13.1'
5
5
  end
data/lib/thinreports.rb CHANGED
@@ -6,20 +6,9 @@ module Thinreports
6
6
  def self.root
7
7
  @root ||= Pathname.new(__FILE__).join('..', '..')
8
8
  end
9
-
10
- def self.generate(report_params, filename: nil)
11
- Generate.new.call(report_params, filename: filename)
12
- end
13
9
  end
14
10
 
15
11
  require_relative 'thinreports/version'
16
12
  require_relative 'thinreports/config'
17
- require_relative 'thinreports/core/utils'
18
- require_relative 'thinreports/core/errors'
19
- require_relative 'thinreports/core/format/base'
20
- require_relative 'thinreports/core/shape'
21
- require_relative 'thinreports/core/utils'
22
- require_relative 'thinreports/report'
23
- require_relative 'thinreports/layout'
24
- require_relative 'thinreports/generator/pdf'
25
- require_relative 'thinreports/generate'
13
+ require_relative 'thinreports/basic_report'
14
+ require_relative 'thinreports/section_report'
data/thinreports.gemspec CHANGED
@@ -13,19 +13,15 @@ Gem::Specification.new do |s|
13
13
  s.description = 'Thinreports is an open source report generation tool for Ruby.'
14
14
  s.homepage = 'http://www.thinreports.org'
15
15
  s.license = 'MIT'
16
+ s.metadata = { 'rubygems_mfa_required' => 'true' }
16
17
 
17
- s.required_ruby_version = '>= 2.5.0'
18
+ s.required_ruby_version = '>= 2.7.0'
18
19
 
19
20
  s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
20
21
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^test/}) }
21
22
  end
22
23
  s.require_paths = ['lib']
23
24
 
24
- s.add_dependency 'prawn', '~> 2.2'
25
+ s.add_dependency 'prawn', '>= 2.4.0'
25
26
  s.add_dependency 'rexml'
26
-
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
27
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thinreports
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.13.1
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: 2021-12-12 00:00:00.000000000 Z
11
+ date: 2023-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: 2.4.0
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'
26
+ version: 2.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rexml
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,62 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: minitest
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: 5.14.1
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 5.14.1
55
- - !ruby/object:Gem::Dependency
56
- name: mocha
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 1.11.2
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: 1.11.2
69
- - !ruby/object:Gem::Dependency
70
- name: pdf-inspector
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 1.3.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 1.3.0
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: 13.0.1
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 13.0.1
97
41
  description: Thinreports is an open source report generation tool for Ruby.
98
42
  email: thinreports@gmail.com
99
43
  executables: []
@@ -114,97 +58,95 @@ files:
114
58
  - fonts/ipagp.ttf
115
59
  - fonts/ipam.ttf
116
60
  - fonts/ipamp.ttf
117
- - gemfiles/prawn-2.2.gemfile
118
- - gemfiles/prawn-2.3.gemfile
119
- - gemfiles/prawn-2.4.gemfile
120
61
  - lib/thinreports.rb
62
+ - lib/thinreports/basic_report.rb
63
+ - lib/thinreports/basic_report/core/errors.rb
64
+ - lib/thinreports/basic_report/core/format/base.rb
65
+ - lib/thinreports/basic_report/core/shape.rb
66
+ - lib/thinreports/basic_report/core/shape/base.rb
67
+ - lib/thinreports/basic_report/core/shape/base/interface.rb
68
+ - lib/thinreports/basic_report/core/shape/base/internal.rb
69
+ - lib/thinreports/basic_report/core/shape/basic.rb
70
+ - lib/thinreports/basic_report/core/shape/basic/block_format.rb
71
+ - lib/thinreports/basic_report/core/shape/basic/block_interface.rb
72
+ - lib/thinreports/basic_report/core/shape/basic/block_internal.rb
73
+ - lib/thinreports/basic_report/core/shape/basic/format.rb
74
+ - lib/thinreports/basic_report/core/shape/basic/interface.rb
75
+ - lib/thinreports/basic_report/core/shape/basic/internal.rb
76
+ - lib/thinreports/basic_report/core/shape/image_block.rb
77
+ - lib/thinreports/basic_report/core/shape/image_block/format.rb
78
+ - lib/thinreports/basic_report/core/shape/image_block/interface.rb
79
+ - lib/thinreports/basic_report/core/shape/image_block/internal.rb
80
+ - lib/thinreports/basic_report/core/shape/list.rb
81
+ - lib/thinreports/basic_report/core/shape/list/format.rb
82
+ - lib/thinreports/basic_report/core/shape/list/manager.rb
83
+ - lib/thinreports/basic_report/core/shape/list/page.rb
84
+ - lib/thinreports/basic_report/core/shape/list/page_state.rb
85
+ - lib/thinreports/basic_report/core/shape/list/section_format.rb
86
+ - lib/thinreports/basic_report/core/shape/list/section_interface.rb
87
+ - lib/thinreports/basic_report/core/shape/list/section_internal.rb
88
+ - lib/thinreports/basic_report/core/shape/manager.rb
89
+ - lib/thinreports/basic_report/core/shape/manager/format.rb
90
+ - lib/thinreports/basic_report/core/shape/manager/internal.rb
91
+ - lib/thinreports/basic_report/core/shape/manager/target.rb
92
+ - lib/thinreports/basic_report/core/shape/page_number.rb
93
+ - lib/thinreports/basic_report/core/shape/page_number/format.rb
94
+ - lib/thinreports/basic_report/core/shape/page_number/interface.rb
95
+ - lib/thinreports/basic_report/core/shape/page_number/internal.rb
96
+ - lib/thinreports/basic_report/core/shape/stack_view.rb
97
+ - lib/thinreports/basic_report/core/shape/stack_view/format.rb
98
+ - lib/thinreports/basic_report/core/shape/stack_view/interface.rb
99
+ - lib/thinreports/basic_report/core/shape/stack_view/internal.rb
100
+ - lib/thinreports/basic_report/core/shape/stack_view/row_format.rb
101
+ - lib/thinreports/basic_report/core/shape/style.rb
102
+ - lib/thinreports/basic_report/core/shape/style/base.rb
103
+ - lib/thinreports/basic_report/core/shape/style/basic.rb
104
+ - lib/thinreports/basic_report/core/shape/style/graphic.rb
105
+ - lib/thinreports/basic_report/core/shape/style/text.rb
106
+ - lib/thinreports/basic_report/core/shape/text.rb
107
+ - lib/thinreports/basic_report/core/shape/text/format.rb
108
+ - lib/thinreports/basic_report/core/shape/text/interface.rb
109
+ - lib/thinreports/basic_report/core/shape/text/internal.rb
110
+ - lib/thinreports/basic_report/core/shape/text_block.rb
111
+ - lib/thinreports/basic_report/core/shape/text_block/format.rb
112
+ - lib/thinreports/basic_report/core/shape/text_block/formatter.rb
113
+ - lib/thinreports/basic_report/core/shape/text_block/formatter/basic.rb
114
+ - lib/thinreports/basic_report/core/shape/text_block/formatter/datetime.rb
115
+ - lib/thinreports/basic_report/core/shape/text_block/formatter/number.rb
116
+ - lib/thinreports/basic_report/core/shape/text_block/formatter/padding.rb
117
+ - lib/thinreports/basic_report/core/shape/text_block/interface.rb
118
+ - lib/thinreports/basic_report/core/shape/text_block/internal.rb
119
+ - lib/thinreports/basic_report/core/utils.rb
120
+ - lib/thinreports/basic_report/generator/pdf.rb
121
+ - lib/thinreports/basic_report/generator/pdf/document.rb
122
+ - lib/thinreports/basic_report/generator/pdf/document/draw_shape.rb
123
+ - lib/thinreports/basic_report/generator/pdf/document/draw_template_items.rb
124
+ - lib/thinreports/basic_report/generator/pdf/document/font.rb
125
+ - lib/thinreports/basic_report/generator/pdf/document/graphics.rb
126
+ - lib/thinreports/basic_report/generator/pdf/document/graphics/attributes.rb
127
+ - lib/thinreports/basic_report/generator/pdf/document/graphics/basic.rb
128
+ - lib/thinreports/basic_report/generator/pdf/document/graphics/image.rb
129
+ - lib/thinreports/basic_report/generator/pdf/document/graphics/text.rb
130
+ - lib/thinreports/basic_report/generator/pdf/document/page.rb
131
+ - lib/thinreports/basic_report/generator/pdf/document/parse_color.rb
132
+ - lib/thinreports/basic_report/generator/pdf/drawer/base.rb
133
+ - lib/thinreports/basic_report/generator/pdf/drawer/list.rb
134
+ - lib/thinreports/basic_report/generator/pdf/drawer/list_section.rb
135
+ - lib/thinreports/basic_report/generator/pdf/drawer/page.rb
136
+ - lib/thinreports/basic_report/generator/pdf/prawn_ext.rb
137
+ - lib/thinreports/basic_report/generator/pdf/prawn_ext/calc_image_dimensions.rb
138
+ - lib/thinreports/basic_report/generator/pdf/prawn_ext/width_of.rb
139
+ - lib/thinreports/basic_report/layout.rb
140
+ - lib/thinreports/basic_report/layout/base.rb
141
+ - lib/thinreports/basic_report/layout/format.rb
142
+ - lib/thinreports/basic_report/layout/legacy_schema.rb
143
+ - lib/thinreports/basic_report/layout/version.rb
144
+ - lib/thinreports/basic_report/report.rb
145
+ - lib/thinreports/basic_report/report/base.rb
146
+ - lib/thinreports/basic_report/report/internal.rb
147
+ - lib/thinreports/basic_report/report/page.rb
121
148
  - lib/thinreports/config.rb
122
- - lib/thinreports/core/errors.rb
123
- - lib/thinreports/core/format/base.rb
124
- - lib/thinreports/core/shape.rb
125
- - lib/thinreports/core/shape/base.rb
126
- - lib/thinreports/core/shape/base/interface.rb
127
- - lib/thinreports/core/shape/base/internal.rb
128
- - lib/thinreports/core/shape/basic.rb
129
- - lib/thinreports/core/shape/basic/block_format.rb
130
- - lib/thinreports/core/shape/basic/block_interface.rb
131
- - lib/thinreports/core/shape/basic/block_internal.rb
132
- - lib/thinreports/core/shape/basic/format.rb
133
- - lib/thinreports/core/shape/basic/interface.rb
134
- - lib/thinreports/core/shape/basic/internal.rb
135
- - lib/thinreports/core/shape/image_block.rb
136
- - lib/thinreports/core/shape/image_block/format.rb
137
- - lib/thinreports/core/shape/image_block/interface.rb
138
- - lib/thinreports/core/shape/image_block/internal.rb
139
- - lib/thinreports/core/shape/list.rb
140
- - lib/thinreports/core/shape/list/format.rb
141
- - lib/thinreports/core/shape/list/manager.rb
142
- - lib/thinreports/core/shape/list/page.rb
143
- - lib/thinreports/core/shape/list/page_state.rb
144
- - lib/thinreports/core/shape/list/section_format.rb
145
- - lib/thinreports/core/shape/list/section_interface.rb
146
- - lib/thinreports/core/shape/list/section_internal.rb
147
- - lib/thinreports/core/shape/manager.rb
148
- - lib/thinreports/core/shape/manager/format.rb
149
- - lib/thinreports/core/shape/manager/internal.rb
150
- - lib/thinreports/core/shape/manager/target.rb
151
- - lib/thinreports/core/shape/page_number.rb
152
- - lib/thinreports/core/shape/page_number/format.rb
153
- - lib/thinreports/core/shape/page_number/interface.rb
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
160
- - lib/thinreports/core/shape/style.rb
161
- - lib/thinreports/core/shape/style/base.rb
162
- - lib/thinreports/core/shape/style/basic.rb
163
- - lib/thinreports/core/shape/style/graphic.rb
164
- - lib/thinreports/core/shape/style/text.rb
165
- - lib/thinreports/core/shape/text.rb
166
- - lib/thinreports/core/shape/text/format.rb
167
- - lib/thinreports/core/shape/text/interface.rb
168
- - lib/thinreports/core/shape/text/internal.rb
169
- - lib/thinreports/core/shape/text_block.rb
170
- - lib/thinreports/core/shape/text_block/format.rb
171
- - lib/thinreports/core/shape/text_block/formatter.rb
172
- - lib/thinreports/core/shape/text_block/formatter/basic.rb
173
- - lib/thinreports/core/shape/text_block/formatter/datetime.rb
174
- - lib/thinreports/core/shape/text_block/formatter/number.rb
175
- - lib/thinreports/core/shape/text_block/formatter/padding.rb
176
- - lib/thinreports/core/shape/text_block/interface.rb
177
- - lib/thinreports/core/shape/text_block/internal.rb
178
- - lib/thinreports/core/utils.rb
179
- - lib/thinreports/generate.rb
180
- - lib/thinreports/generator/pdf.rb
181
- - lib/thinreports/generator/pdf/document.rb
182
- - lib/thinreports/generator/pdf/document/draw_shape.rb
183
- - lib/thinreports/generator/pdf/document/draw_template_items.rb
184
- - lib/thinreports/generator/pdf/document/font.rb
185
- - lib/thinreports/generator/pdf/document/graphics.rb
186
- - lib/thinreports/generator/pdf/document/graphics/attributes.rb
187
- - lib/thinreports/generator/pdf/document/graphics/basic.rb
188
- - lib/thinreports/generator/pdf/document/graphics/image.rb
189
- - lib/thinreports/generator/pdf/document/graphics/text.rb
190
- - lib/thinreports/generator/pdf/document/page.rb
191
- - lib/thinreports/generator/pdf/document/parse_color.rb
192
- - lib/thinreports/generator/pdf/drawer/base.rb
193
- - lib/thinreports/generator/pdf/drawer/list.rb
194
- - lib/thinreports/generator/pdf/drawer/list_section.rb
195
- - lib/thinreports/generator/pdf/drawer/page.rb
196
- - lib/thinreports/generator/pdf/prawn_ext.rb
197
- - lib/thinreports/generator/pdf/prawn_ext/calc_image_dimensions.rb
198
- - lib/thinreports/generator/pdf/prawn_ext/width_of.rb
199
- - lib/thinreports/layout.rb
200
- - lib/thinreports/layout/base.rb
201
- - lib/thinreports/layout/format.rb
202
- - lib/thinreports/layout/legacy_schema.rb
203
- - lib/thinreports/layout/version.rb
204
- - lib/thinreports/report.rb
205
- - lib/thinreports/report/base.rb
206
- - lib/thinreports/report/internal.rb
207
- - lib/thinreports/report/page.rb
149
+ - lib/thinreports/section_report.rb
208
150
  - lib/thinreports/section_report/build.rb
209
151
  - lib/thinreports/section_report/builder/item_builder.rb
210
152
  - lib/thinreports/section_report/builder/report_builder.rb
@@ -228,7 +170,8 @@ files:
228
170
  homepage: http://www.thinreports.org
229
171
  licenses:
230
172
  - MIT
231
- metadata: {}
173
+ metadata:
174
+ rubygems_mfa_required: 'true'
232
175
  post_install_message:
233
176
  rdoc_options: []
234
177
  require_paths:
@@ -237,14 +180,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
237
180
  requirements:
238
181
  - - ">="
239
182
  - !ruby/object:Gem::Version
240
- version: 2.5.0
183
+ version: 2.7.0
241
184
  required_rubygems_version: !ruby/object:Gem::Requirement
242
185
  requirements:
243
186
  - - ">="
244
187
  - !ruby/object:Gem::Version
245
188
  version: '0'
246
189
  requirements: []
247
- rubygems_version: 3.1.6
190
+ rubygems_version: 3.4.6
248
191
  signing_key:
249
192
  specification_version: 4
250
193
  summary: An open source report generation tool for Ruby.
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'prawn', '~> 2.2.0'
4
-
5
- gemspec path: '../'
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'prawn', '~> 2.3.0'
4
-
5
- gemspec path: '../'
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'prawn', '~> 2.4.0'
4
-
5
- gemspec path: '../'