prawn 2.3.0 → 2.4.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 (91) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/Rakefile +2 -31
  5. data/lib/prawn.rb +1 -0
  6. data/lib/prawn/document.rb +20 -15
  7. data/lib/prawn/document/bounding_box.rb +10 -2
  8. data/lib/prawn/document/span.rb +2 -1
  9. data/lib/prawn/font.rb +6 -4
  10. data/lib/prawn/font_metric_cache.rb +7 -6
  11. data/lib/prawn/fonts/afm.rb +18 -16
  12. data/lib/prawn/fonts/ttf.rb +55 -29
  13. data/lib/prawn/graphics.rb +11 -11
  14. data/lib/prawn/graphics/color.rb +18 -16
  15. data/lib/prawn/graphics/join_style.rb +1 -1
  16. data/lib/prawn/graphics/patterns.rb +57 -49
  17. data/lib/prawn/graphics/transformation.rb +3 -3
  18. data/lib/prawn/grid.rb +36 -1
  19. data/lib/prawn/images.rb +29 -27
  20. data/lib/prawn/images/jpg.rb +4 -1
  21. data/lib/prawn/images/png.rb +2 -1
  22. data/lib/prawn/outline.rb +6 -5
  23. data/lib/prawn/repeater.rb +1 -1
  24. data/lib/prawn/security.rb +39 -36
  25. data/lib/prawn/text.rb +18 -18
  26. data/lib/prawn/text/box.rb +10 -9
  27. data/lib/prawn/text/formatted/arranger.rb +38 -19
  28. data/lib/prawn/text/formatted/box.rb +20 -15
  29. data/lib/prawn/text/formatted/line_wrap.rb +18 -16
  30. data/lib/prawn/text/formatted/parser.rb +28 -26
  31. data/lib/prawn/text/formatted/wrap.rb +15 -11
  32. data/lib/prawn/version.rb +1 -1
  33. data/lib/prawn/view.rb +2 -2
  34. data/manual/basic_concepts/measurement.rb +1 -1
  35. data/manual/bounding_box/canvas.rb +3 -3
  36. data/manual/bounding_box/nesting.rb +1 -1
  37. data/manual/document_and_page_options/background.rb +6 -2
  38. data/manual/document_and_page_options/document_and_page_options.rb +3 -3
  39. data/manual/document_and_page_options/print_scaling.rb +2 -1
  40. data/manual/graphics/common_lines.rb +1 -1
  41. data/manual/graphics/fill_and_stroke.rb +1 -1
  42. data/manual/graphics/fill_rules.rb +4 -3
  43. data/manual/graphics/helper.rb +11 -4
  44. data/manual/graphics/lines_and_curves.rb +1 -1
  45. data/manual/graphics/stroke_dash.rb +5 -5
  46. data/manual/graphics/translate.rb +2 -1
  47. data/manual/images/horizontal.rb +2 -2
  48. data/manual/images/scale.rb +3 -3
  49. data/manual/images/vertical.rb +6 -3
  50. data/manual/images/width_and_height.rb +3 -3
  51. data/manual/layout/content.rb +2 -2
  52. data/manual/outline/outline.rb +1 -1
  53. data/manual/security/permissions.rb +4 -2
  54. data/manual/security/security.rb +1 -1
  55. data/manual/text/alignment.rb +2 -2
  56. data/manual/text/column_box.rb +2 -2
  57. data/manual/text/font_style.rb +5 -2
  58. data/manual/text/formatted_callbacks.rb +17 -12
  59. data/manual/text/formatted_text.rb +7 -4
  60. data/manual/text/free_flowing_text.rb +3 -3
  61. data/manual/text/kerning_and_character_spacing.rb +4 -4
  62. data/manual/text/paragraph_indentation.rb +4 -5
  63. data/manual/text/rendering_and_color.rb +1 -1
  64. data/manual/text/right_to_left_text.rb +6 -6
  65. data/manual/text/rotation.rb +8 -3
  66. data/manual/text/text_box_extensions.rb +1 -1
  67. data/manual/text/text_box_overflow.rb +11 -9
  68. data/manual/text/win_ansi_charset.rb +9 -9
  69. data/prawn.gemspec +4 -10
  70. data/spec/prawn/document/bounding_box_spec.rb +82 -78
  71. data/spec/prawn/document/security_spec.rb +1 -1
  72. data/spec/prawn/document_span_spec.rb +14 -6
  73. data/spec/prawn/document_spec.rb +29 -26
  74. data/spec/prawn/font_spec.rb +16 -14
  75. data/spec/prawn/graphics_spec.rb +79 -44
  76. data/spec/prawn/images_spec.rb +13 -8
  77. data/spec/prawn/outline_spec.rb +127 -27
  78. data/spec/prawn/repeater_spec.rb +9 -8
  79. data/spec/prawn/soft_mask_spec.rb +1 -1
  80. data/spec/prawn/stamp_spec.rb +3 -2
  81. data/spec/prawn/text/box_spec.rb +57 -59
  82. data/spec/prawn/text/formatted/arranger_spec.rb +10 -10
  83. data/spec/prawn/text/formatted/box_spec.rb +8 -5
  84. data/spec/prawn/text/formatted/line_wrap_spec.rb +2 -1
  85. data/spec/prawn/text_draw_text_spec.rb +9 -8
  86. data/spec/prawn/text_spacing_spec.rb +2 -2
  87. data/spec/prawn/text_spec.rb +9 -9
  88. data/spec/prawn/text_with_inline_formatting_spec.rb +1 -1
  89. data/spec/prawn_manual_spec.rb +4 -4
  90. metadata +14 -98
  91. metadata.gz.sig +0 -0
@@ -76,9 +76,9 @@ describe Prawn::Text::Formatted::Arranger do
76
76
  arranger.format_array = array
77
77
  end
78
78
 
79
- it 'raises RuntimeError if called after a line was finalized' do
79
+ it 'raises an error if called after a line was finalized' do
80
80
  arranger.finalize_line
81
- expect { arranger.next_string }.to raise_error(RuntimeError)
81
+ expect { arranger.next_string }.to raise_error(Prawn::Text::Formatted::Arranger::NotFinalized)
82
82
  end
83
83
 
84
84
  it 'populates the conumed array' do
@@ -172,8 +172,8 @@ describe Prawn::Text::Formatted::Arranger do
172
172
  end
173
173
  end
174
174
 
175
- it 'raises RuntimeError an error if not finalized' do
176
- expect { arranger.retrieve_fragment }.to raise_error(RuntimeError)
175
+ it 'raises an error if not finalized' do
176
+ expect { arranger.retrieve_fragment }.to raise_error(Prawn::Text::Formatted::Arranger::NotFinalized)
177
177
  end
178
178
 
179
179
  describe 'and finalized' do
@@ -263,10 +263,10 @@ describe Prawn::Text::Formatted::Arranger do
263
263
  end
264
264
  end
265
265
 
266
- it 'raise_errors an error if called before finalize_line was called' do
266
+ it 'raises an error if called before finalize_line was called' do
267
267
  expect do
268
268
  arranger.space_count
269
- end.to raise_error(RuntimeError)
269
+ end.to raise_error(Prawn::Text::Formatted::Arranger::NotFinalized)
270
270
  end
271
271
 
272
272
  it 'returns the total number of spaces in all fragments' do
@@ -311,10 +311,10 @@ describe Prawn::Text::Formatted::Arranger do
311
311
  end
312
312
  end
313
313
 
314
- it 'raise_errors an error if called before finalize_line was called' do
314
+ it 'raises an error if called before finalize_line was called' do
315
315
  expect do
316
316
  arranger.line_width
317
- end.to raise_error(RuntimeError)
317
+ end.to raise_error(Prawn::Text::Formatted::Arranger::NotFinalized)
318
318
  end
319
319
 
320
320
  it 'returns the width of the complete line' do
@@ -359,10 +359,10 @@ describe Prawn::Text::Formatted::Arranger do
359
359
  end
360
360
  end
361
361
 
362
- it 'raise_errors an error if called before finalize_line was called' do
362
+ it 'raises an error if called before finalize_line was called' do
363
363
  expect do
364
364
  arranger.line
365
- end.to raise_error(RuntimeError)
365
+ end.to raise_error(Prawn::Text::Formatted::Arranger::NotFinalized)
366
366
  end
367
367
 
368
368
  it 'returns the complete line' do
@@ -105,7 +105,8 @@ describe Prawn::Text::Formatted::Box do
105
105
  texts = [{
106
106
  text: 'Noua Delineatio Geographica generalis | Apostolicarum ' \
107
107
  'peregrinationum | S FRANCISCI XAUERII | Indiarum & Iaponiæ Apostoli',
108
- font: 'Courier', size: 10
108
+ font: 'Courier',
109
+ size: 10
109
110
  }]
110
111
  text_box = described_class.new(
111
112
  texts,
@@ -382,9 +383,9 @@ describe Prawn::Text::Formatted::Box do
382
383
  expect(text_box.text).to eq("hello\n\nworld")
383
384
 
384
385
  array = [
385
- { text: 'hello' + ' ' * 500 },
386
+ { text: "hello#{' ' * 500}" },
386
387
  { text: ' ' * 500 },
387
- { text: ' ' * 500 + "\n" },
388
+ { text: "#{' ' * 500}\n" },
388
389
  { text: 'world' }
389
390
  ]
390
391
  options = { document: pdf }
@@ -471,7 +472,8 @@ describe Prawn::Text::Formatted::Box do
471
472
  def render_behind(fragment); end
472
473
  end
473
474
  ).new(
474
- 'something', 7,
475
+ 'something',
476
+ 7,
475
477
  document: pdf
476
478
  )
477
479
  in_front = (
@@ -481,7 +483,8 @@ describe Prawn::Text::Formatted::Box do
481
483
  def render_in_front(fragment); end
482
484
  end
483
485
  ).new(
484
- 'something', 7,
486
+ 'something',
487
+ 7,
485
488
  document: pdf
486
489
  )
487
490
  array = [
@@ -263,7 +263,8 @@ describe Prawn::Text::Formatted::LineWrap do
263
263
  end
264
264
 
265
265
  it 'does not display soft hyphens except at the end of a line ' \
266
- 'for more than one element in format_array', issue: 347 do
266
+ 'for more than one element in format_array',
267
+ issue: 347 do
267
268
  pdf.font("#{Prawn::DATADIR}/fonts/DejaVuSans.ttf")
268
269
  line_wrap = described_class.new
269
270
 
@@ -45,17 +45,18 @@ describe Prawn::Text do
45
45
  end
46
46
 
47
47
  # rubocop: disable Naming/AccessorMethodName
48
- rotated_text_inspector = Class.new(PDF::Inspector) do
49
- attr_reader :tm_operator_used
48
+ rotated_text_inspector =
49
+ Class.new(PDF::Inspector) do
50
+ attr_reader :tm_operator_used
50
51
 
51
- def initialize
52
- @tm_operator_used = false
53
- end
52
+ def initialize
53
+ @tm_operator_used = false
54
+ end
54
55
 
55
- def set_text_matrix_and_text_line_matrix(*_arguments)
56
- @tm_operator_used = true
56
+ def set_text_matrix_and_text_line_matrix(*_arguments)
57
+ @tm_operator_used = true
58
+ end
57
59
  end
58
- end
59
60
  # rubocop: enable Naming/AccessorMethodName
60
61
 
61
62
  it 'allows rotation' do
@@ -11,7 +11,7 @@ describe Prawn::Text do
11
11
  pdf.text('hello world')
12
12
  end
13
13
  contents = PDF::Inspector::Text.analyze(pdf.render)
14
- expect(contents.character_spacing.first).to eq(10.5556)
14
+ expect(contents.character_spacing.first).to eq(10.55556)
15
15
  end
16
16
 
17
17
  it 'does not draw the character spacing to the document' \
@@ -64,7 +64,7 @@ describe Prawn::Text do
64
64
  pdf.text('hello world')
65
65
  end
66
66
  contents = PDF::Inspector::Text.analyze(pdf.render)
67
- expect(contents.word_spacing.first).to eq(10.5556)
67
+ expect(contents.word_spacing.first).to eq(10.55556)
68
68
  end
69
69
 
70
70
  it 'draws the word spacing to the document' \
@@ -305,7 +305,7 @@ describe Prawn::Text do
305
305
  'break when using a built-in font' do
306
306
  str = '©'
307
307
  pdf.move_cursor_to(pdf.font.height)
308
- pdf.text(str + "\n" + str)
308
+ pdf.text("#{str}\n#{str}")
309
309
 
310
310
  pages = PDF::Inspector::Page.analyze(pdf.render).pages
311
311
  expect(pages.size).to eq(2)
@@ -317,7 +317,7 @@ describe Prawn::Text do
317
317
  'a page break when using a built-in font and :indent_paragraphs option' do
318
318
  str = '©'
319
319
  pdf.move_cursor_to(pdf.font.height)
320
- pdf.text(str + "\n" + str, indent_paragraphs: 20)
320
+ pdf.text("#{str}\n#{str}", indent_paragraphs: 20)
321
321
 
322
322
  pages = PDF::Inspector::Page.analyze(pdf.render).pages
323
323
  expect(pages.size).to eq(2)
@@ -356,7 +356,7 @@ describe Prawn::Text do
356
356
  it 'indents the paragraphs' do
357
357
  hello = 'hello ' * 50
358
358
  hello2 = 'hello ' * 50
359
- pdf.text(hello + "\n" + hello2, indent_paragraphs: 60)
359
+ pdf.text("#{hello}\n#{hello2}", indent_paragraphs: 60)
360
360
  text = PDF::Inspector::Text.analyze(pdf.render)
361
361
  expect(text.strings[0]).to eq(('hello ' * 19).strip)
362
362
  expect(text.strings[1]).to eq(('hello ' * 21).strip)
@@ -368,7 +368,7 @@ describe Prawn::Text do
368
368
  para1 = 'The rain in spain falls mainly on the plains ' * 3
369
369
  para2 = 'The rain in spain falls mainly on the plains ' * 3
370
370
 
371
- pdf.text(para1 + "\n" + para2, indent_paragraphs: 60, direction: :rtl)
371
+ pdf.text("#{para1}\n#{para2}", indent_paragraphs: 60, direction: :rtl)
372
372
 
373
373
  text = PDF::Inspector::Text.analyze(pdf.render)
374
374
 
@@ -405,7 +405,7 @@ describe Prawn::Text do
405
405
  para2 = 'The rain in spain falls mainly on the plains ' * 3
406
406
 
407
407
  pdf.text_direction = :rtl
408
- pdf.text(para1 + "\n" + para2, indent_paragraphs: 60)
408
+ pdf.text("#{para1}\n#{para2}", indent_paragraphs: 60)
409
409
 
410
410
  text = PDF::Inspector::Text.analyze(pdf.render)
411
411
 
@@ -441,7 +441,7 @@ describe Prawn::Text do
441
441
  para1 = 'The rain in spain falls mainly on the plains ' * 3
442
442
  para2 = 'The rain in spain falls mainly on the plains ' * 3
443
443
 
444
- pdf.text(para1 + "\n" + para2, indent_paragraphs: 60, direction: :ltr)
444
+ pdf.text("#{para1}\n#{para2}", indent_paragraphs: 60, direction: :ltr)
445
445
 
446
446
  text = PDF::Inspector::Text.analyze(pdf.render)
447
447
 
@@ -459,7 +459,7 @@ describe Prawn::Text do
459
459
  para2 = 'The rain in spain falls mainly on the plains ' * 3
460
460
 
461
461
  pdf.text_direction = :ltr
462
- pdf.text(para1 + "\n" + para2, indent_paragraphs: 60)
462
+ pdf.text("#{para1}\n#{para2}", indent_paragraphs: 60)
463
463
 
464
464
  text = PDF::Inspector::Text.analyze(pdf.render)
465
465
 
@@ -490,7 +490,7 @@ describe Prawn::Text do
490
490
  hello = 'hello ' * 50
491
491
  hello2 = 'hello ' * 50
492
492
  pdf.move_cursor_to(pdf.font.height)
493
- pdf.text(hello + "\n" + hello2, indent_paragraphs: 60)
493
+ pdf.text("#{hello}\n#{hello2}", indent_paragraphs: 60)
494
494
  text = PDF::Inspector::Text.analyze(pdf.render)
495
495
  expect(text.strings[0]).to eq(('hello ' * 19).strip)
496
496
  expect(text.strings[1]).to eq(('hello ' * 21).strip)
@@ -506,7 +506,7 @@ describe Prawn::Text do
506
506
  hello = 'hello ' * 50
507
507
  hello2 = 'hello ' * 50
508
508
  pdf.move_cursor_to(pdf.font.height * 3)
509
- pdf.text(hello + "\n" + hello2, indent_paragraphs: 60)
509
+ pdf.text("#{hello}\n#{hello2}", indent_paragraphs: 60)
510
510
  text = PDF::Inspector::Text.analyze(pdf.render)
511
511
  expect(text.strings[0]).to eq(('hello ' * 19).strip)
512
512
  expect(text.strings[1]).to eq(('hello ' * 21).strip)
@@ -8,7 +8,7 @@ describe Prawn::Text do
8
8
  describe '#formatted_text' do
9
9
  it 'draws text' do
10
10
  string = 'hello world'
11
- format_array = [text: string]
11
+ format_array = [{ text: string }]
12
12
  pdf.formatted_text(format_array)
13
13
  # grab the text from the rendered PDF and ensure it matches
14
14
  text = PDF::Inspector::Text.analyze(pdf.render)
@@ -6,11 +6,11 @@ require 'digest/sha2'
6
6
  MANUAL_HASH =
7
7
  case RUBY_ENGINE
8
8
  when 'ruby'
9
- 'b38bd8aaa7b419a2f594ee8837cd62f813141000393995b0c0456644b823a62a'\
10
- '2f8031b2db0fc9e7c544b3946a9b0e60570d510564e6fed3931e0717dd49188a'
9
+ '79248d58f9d89e44081da875fa15ad9a70cc07e9eaa4e8b706001044a3570e3f'\
10
+ 'bc4b5ba3e1150868d88add3a43972265219d4d11c60cbbc1bebf50e7d26cdb60'
11
11
  when 'jruby'
12
- 'b38bd8aaa7b419a2f594ee8837cd62f813141000393995b0c0456644b823a62a'\
13
- '2f8031b2db0fc9e7c544b3946a9b0e60570d510564e6fed3931e0717dd49188a'
12
+ '22cf478cc5563cf0283d239ca5e87df44151fb422b5fd426c3aec47ca1df44fa'\
13
+ '7b3826131d65cadad5430a05ee812000ae9f9419d6bc5ba4024fdf6a799fc184'
14
14
  end
15
15
 
16
16
  RSpec.describe Prawn do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prawn
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Brown
@@ -33,7 +33,7 @@ cert_chain:
33
33
  Un1TJEahAlgENVml6CyDXSwk0H8N1V3gm1mb9Fe1T2Z/kAzvjo0qTDEtMVLU7Bxh
34
34
  uqMUrdETjTnRYCVq
35
35
  -----END CERTIFICATE-----
36
- date: 2020-08-01 00:00:00.000000000 Z
36
+ date: 2020-12-29 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: pdf-core
@@ -41,28 +41,28 @@ dependencies:
41
41
  requirements:
42
42
  - - "~>"
43
43
  - !ruby/object:Gem::Version
44
- version: 0.8.1
44
+ version: 0.9.0
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
48
48
  requirements:
49
49
  - - "~>"
50
50
  - !ruby/object:Gem::Version
51
- version: 0.8.1
51
+ version: 0.9.0
52
52
  - !ruby/object:Gem::Dependency
53
53
  name: ttfunk
54
54
  requirement: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - "~>"
57
57
  - !ruby/object:Gem::Version
58
- version: '1.6'
58
+ version: '1.7'
59
59
  type: :runtime
60
60
  prerelease: false
61
61
  version_requirements: !ruby/object:Gem::Requirement
62
62
  requirements:
63
63
  - - "~>"
64
64
  - !ruby/object:Gem::Version
65
- version: '1.6'
65
+ version: '1.7'
66
66
  - !ruby/object:Gem::Dependency
67
67
  name: pdf-inspector
68
68
  requirement: !ruby/object:Gem::Requirement
@@ -104,117 +104,33 @@ dependencies:
104
104
  - !ruby/object:Gem::Version
105
105
  version: 1.4.1
106
106
  - !ruby/object:Gem::Dependency
107
- name: prawn-manual_builder
108
- requirement: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 0.3.0
113
- type: :development
114
- prerelease: false
115
- version_requirements: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- version: 0.3.0
120
- - !ruby/object:Gem::Dependency
121
- name: rake
107
+ name: prawn-dev
122
108
  requirement: !ruby/object:Gem::Requirement
123
109
  requirements:
124
110
  - - "~>"
125
111
  - !ruby/object:Gem::Version
126
- version: '12.0'
112
+ version: 0.1.0
127
113
  type: :development
128
114
  prerelease: false
129
115
  version_requirements: !ruby/object:Gem::Requirement
130
116
  requirements:
131
117
  - - "~>"
132
118
  - !ruby/object:Gem::Version
133
- version: '12.0'
119
+ version: 0.1.0
134
120
  - !ruby/object:Gem::Dependency
135
- name: rspec
136
- requirement: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: '3.0'
141
- type: :development
142
- prerelease: false
143
- version_requirements: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '3.0'
148
- - !ruby/object:Gem::Dependency
149
- name: rubocop
150
- requirement: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - "~>"
153
- - !ruby/object:Gem::Version
154
- version: 0.84.0
155
- type: :development
156
- prerelease: false
157
- version_requirements: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: 0.84.0
162
- - !ruby/object:Gem::Dependency
163
- name: rubocop-performance
164
- requirement: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '1.1'
169
- type: :development
170
- prerelease: false
171
- version_requirements: !ruby/object:Gem::Requirement
172
- requirements:
173
- - - "~>"
174
- - !ruby/object:Gem::Version
175
- version: '1.1'
176
- - !ruby/object:Gem::Dependency
177
- name: rubocop-rspec
178
- requirement: !ruby/object:Gem::Requirement
179
- requirements:
180
- - - "~>"
181
- - !ruby/object:Gem::Version
182
- version: '1.32'
183
- type: :development
184
- prerelease: false
185
- version_requirements: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - "~>"
188
- - !ruby/object:Gem::Version
189
- version: '1.32'
190
- - !ruby/object:Gem::Dependency
191
- name: simplecov
192
- requirement: !ruby/object:Gem::Requirement
193
- requirements:
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- version: '0'
197
- type: :development
198
- prerelease: false
199
- version_requirements: !ruby/object:Gem::Requirement
200
- requirements:
201
- - - ">="
202
- - !ruby/object:Gem::Version
203
- version: '0'
204
- - !ruby/object:Gem::Dependency
205
- name: yard
121
+ name: prawn-manual_builder
206
122
  requirement: !ruby/object:Gem::Requirement
207
123
  requirements:
208
124
  - - ">="
209
125
  - !ruby/object:Gem::Version
210
- version: '0'
126
+ version: 0.3.0
211
127
  type: :development
212
128
  prerelease: false
213
129
  version_requirements: !ruby/object:Gem::Requirement
214
130
  requirements:
215
131
  - - ">="
216
132
  - !ruby/object:Gem::Version
217
- version: '0'
133
+ version: 0.3.0
218
134
  description: " Prawn is a fast, tiny, and nimble PDF generator for Ruby\n"
219
135
  email:
220
136
  - gregory.t.brown@gmail.com
@@ -453,7 +369,7 @@ require_paths:
453
369
  - lib
454
370
  required_ruby_version: !ruby/object:Gem::Requirement
455
371
  requirements:
456
- - - "~>"
372
+ - - ">="
457
373
  - !ruby/object:Gem::Version
458
374
  version: '2.5'
459
375
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -462,7 +378,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
462
378
  - !ruby/object:Gem::Version
463
379
  version: 1.3.6
464
380
  requirements: []
465
- rubygems_version: 3.1.2
381
+ rubygems_version: 3.1.4
466
382
  signing_key:
467
383
  specification_version: 4
468
384
  summary: A fast and nimble PDF generator for Ruby