prawn 2.3.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Rakefile +2 -31
- data/lib/prawn.rb +1 -0
- data/lib/prawn/document.rb +20 -15
- data/lib/prawn/document/bounding_box.rb +10 -2
- data/lib/prawn/document/span.rb +2 -1
- data/lib/prawn/font.rb +6 -4
- data/lib/prawn/font_metric_cache.rb +7 -6
- data/lib/prawn/fonts/afm.rb +18 -16
- data/lib/prawn/fonts/ttf.rb +55 -29
- data/lib/prawn/graphics.rb +11 -11
- data/lib/prawn/graphics/color.rb +18 -16
- data/lib/prawn/graphics/join_style.rb +1 -1
- data/lib/prawn/graphics/patterns.rb +57 -49
- data/lib/prawn/graphics/transformation.rb +3 -3
- data/lib/prawn/grid.rb +36 -1
- data/lib/prawn/images.rb +29 -27
- data/lib/prawn/images/jpg.rb +4 -1
- data/lib/prawn/images/png.rb +2 -1
- data/lib/prawn/outline.rb +6 -5
- data/lib/prawn/repeater.rb +1 -1
- data/lib/prawn/security.rb +39 -36
- data/lib/prawn/text.rb +18 -18
- data/lib/prawn/text/box.rb +10 -9
- data/lib/prawn/text/formatted/arranger.rb +38 -19
- data/lib/prawn/text/formatted/box.rb +20 -15
- data/lib/prawn/text/formatted/line_wrap.rb +18 -16
- data/lib/prawn/text/formatted/parser.rb +28 -26
- data/lib/prawn/text/formatted/wrap.rb +15 -11
- data/lib/prawn/version.rb +1 -1
- data/lib/prawn/view.rb +2 -2
- data/manual/basic_concepts/measurement.rb +1 -1
- data/manual/bounding_box/canvas.rb +3 -3
- data/manual/bounding_box/nesting.rb +1 -1
- data/manual/document_and_page_options/background.rb +6 -2
- data/manual/document_and_page_options/document_and_page_options.rb +3 -3
- data/manual/document_and_page_options/print_scaling.rb +2 -1
- data/manual/graphics/common_lines.rb +1 -1
- data/manual/graphics/fill_and_stroke.rb +1 -1
- data/manual/graphics/fill_rules.rb +4 -3
- data/manual/graphics/helper.rb +11 -4
- data/manual/graphics/lines_and_curves.rb +1 -1
- data/manual/graphics/stroke_dash.rb +5 -5
- data/manual/graphics/translate.rb +2 -1
- data/manual/images/horizontal.rb +2 -2
- data/manual/images/scale.rb +3 -3
- data/manual/images/vertical.rb +6 -3
- data/manual/images/width_and_height.rb +3 -3
- data/manual/layout/content.rb +2 -2
- data/manual/outline/outline.rb +1 -1
- data/manual/security/permissions.rb +4 -2
- data/manual/security/security.rb +1 -1
- data/manual/text/alignment.rb +2 -2
- data/manual/text/column_box.rb +2 -2
- data/manual/text/font_style.rb +5 -2
- data/manual/text/formatted_callbacks.rb +17 -12
- data/manual/text/formatted_text.rb +7 -4
- data/manual/text/free_flowing_text.rb +3 -3
- data/manual/text/kerning_and_character_spacing.rb +4 -4
- data/manual/text/paragraph_indentation.rb +4 -5
- data/manual/text/rendering_and_color.rb +1 -1
- data/manual/text/right_to_left_text.rb +6 -6
- data/manual/text/rotation.rb +8 -3
- data/manual/text/text_box_extensions.rb +1 -1
- data/manual/text/text_box_overflow.rb +11 -9
- data/manual/text/win_ansi_charset.rb +9 -9
- data/prawn.gemspec +4 -10
- data/spec/prawn/document/bounding_box_spec.rb +82 -78
- data/spec/prawn/document/security_spec.rb +1 -1
- data/spec/prawn/document_span_spec.rb +14 -6
- data/spec/prawn/document_spec.rb +29 -26
- data/spec/prawn/font_spec.rb +16 -14
- data/spec/prawn/graphics_spec.rb +79 -44
- data/spec/prawn/images_spec.rb +13 -8
- data/spec/prawn/outline_spec.rb +127 -27
- data/spec/prawn/repeater_spec.rb +9 -8
- data/spec/prawn/soft_mask_spec.rb +1 -1
- data/spec/prawn/stamp_spec.rb +3 -2
- data/spec/prawn/text/box_spec.rb +57 -59
- data/spec/prawn/text/formatted/arranger_spec.rb +10 -10
- data/spec/prawn/text/formatted/box_spec.rb +8 -5
- data/spec/prawn/text/formatted/line_wrap_spec.rb +2 -1
- data/spec/prawn/text_draw_text_spec.rb +9 -8
- data/spec/prawn/text_spacing_spec.rb +2 -2
- data/spec/prawn/text_spec.rb +9 -9
- data/spec/prawn/text_with_inline_formatting_spec.rb +1 -1
- data/spec/prawn_manual_spec.rb +4 -4
- metadata +14 -98
- 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
|
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(
|
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
|
176
|
-
expect { arranger.retrieve_fragment }.to raise_error(
|
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 '
|
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(
|
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 '
|
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(
|
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 '
|
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(
|
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',
|
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:
|
386
|
+
{ text: "hello#{' ' * 500}" },
|
386
387
|
{ text: ' ' * 500 },
|
387
|
-
{ text: ' ' * 500
|
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',
|
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',
|
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',
|
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 =
|
49
|
-
|
48
|
+
rotated_text_inspector =
|
49
|
+
Class.new(PDF::Inspector) do
|
50
|
+
attr_reader :tm_operator_used
|
50
51
|
|
51
|
-
|
52
|
-
|
53
|
-
|
52
|
+
def initialize
|
53
|
+
@tm_operator_used = false
|
54
|
+
end
|
54
55
|
|
55
|
-
|
56
|
-
|
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.
|
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.
|
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' \
|
data/spec/prawn/text_spec.rb
CHANGED
@@ -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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)
|
data/spec/prawn_manual_spec.rb
CHANGED
@@ -6,11 +6,11 @@ require 'digest/sha2'
|
|
6
6
|
MANUAL_HASH =
|
7
7
|
case RUBY_ENGINE
|
8
8
|
when 'ruby'
|
9
|
-
'
|
10
|
-
'
|
9
|
+
'79248d58f9d89e44081da875fa15ad9a70cc07e9eaa4e8b706001044a3570e3f'\
|
10
|
+
'bc4b5ba3e1150868d88add3a43972265219d4d11c60cbbc1bebf50e7d26cdb60'
|
11
11
|
when 'jruby'
|
12
|
-
'
|
13
|
-
'
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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-
|
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:
|
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:
|
119
|
+
version: 0.1.0
|
134
120
|
- !ruby/object:Gem::Dependency
|
135
|
-
name:
|
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:
|
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:
|
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.
|
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
|