prawn 2.0.1 → 2.0.2

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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +7 -5
  3. data/lib/prawn.rb +4 -4
  4. data/lib/prawn/document.rb +47 -46
  5. data/lib/prawn/document/bounding_box.rb +13 -19
  6. data/lib/prawn/document/column_box.rb +3 -5
  7. data/lib/prawn/document/internals.rb +0 -1
  8. data/lib/prawn/document/span.rb +12 -12
  9. data/lib/prawn/errors.rb +32 -33
  10. data/lib/prawn/font.rb +29 -36
  11. data/lib/prawn/font/afm.rb +20 -20
  12. data/lib/prawn/font/dfont.rb +0 -1
  13. data/lib/prawn/font/ttf.rb +30 -27
  14. data/lib/prawn/font_metric_cache.rb +4 -8
  15. data/lib/prawn/graphics.rb +37 -42
  16. data/lib/prawn/graphics/cap_style.rb +1 -1
  17. data/lib/prawn/graphics/color.rb +21 -23
  18. data/lib/prawn/graphics/dash.rb +5 -6
  19. data/lib/prawn/graphics/join_style.rb +1 -2
  20. data/lib/prawn/graphics/patterns.rb +25 -21
  21. data/lib/prawn/graphics/transformation.rb +4 -5
  22. data/lib/prawn/graphics/transparency.rb +6 -8
  23. data/lib/prawn/grid.rb +21 -14
  24. data/lib/prawn/image_handler.rb +2 -2
  25. data/lib/prawn/images.rb +29 -31
  26. data/lib/prawn/images/image.rb +1 -1
  27. data/lib/prawn/images/jpg.rb +10 -12
  28. data/lib/prawn/images/png.rb +13 -13
  29. data/lib/prawn/measurements.rb +7 -14
  30. data/lib/prawn/outline.rb +6 -6
  31. data/lib/prawn/repeater.rb +1 -5
  32. data/lib/prawn/security.rb +17 -25
  33. data/lib/prawn/security/arcfour.rb +1 -1
  34. data/lib/prawn/soft_mask.rb +11 -12
  35. data/lib/prawn/stamp.rb +16 -8
  36. data/lib/prawn/text.rb +23 -20
  37. data/lib/prawn/text/box.rb +3 -6
  38. data/lib/prawn/text/formatted/arranger.rb +9 -12
  39. data/lib/prawn/text/formatted/box.rb +23 -22
  40. data/lib/prawn/text/formatted/fragment.rb +0 -4
  41. data/lib/prawn/text/formatted/line_wrap.rb +13 -24
  42. data/lib/prawn/text/formatted/parser.rb +16 -20
  43. data/lib/prawn/text/formatted/wrap.rb +2 -7
  44. data/lib/prawn/utilities.rb +6 -3
  45. data/lib/prawn/version.rb +1 -1
  46. data/manual/basic_concepts/basic_concepts.rb +0 -2
  47. data/manual/basic_concepts/view.rb +1 -1
  48. data/manual/bounding_box/bounding_box.rb +0 -3
  49. data/manual/bounding_box/russian_boxes.rb +7 -8
  50. data/manual/bounding_box/stretchy.rb +0 -1
  51. data/manual/contents.rb +2 -2
  52. data/manual/cover.rb +11 -12
  53. data/manual/document_and_page_options/document_and_page_options.rb +2 -5
  54. data/manual/document_and_page_options/metadata.rb +10 -10
  55. data/manual/document_and_page_options/page_size.rb +0 -1
  56. data/manual/graphics/fill_rules.rb +5 -4
  57. data/manual/graphics/graphics.rb +0 -3
  58. data/manual/graphics/lines_and_curves.rb +1 -1
  59. data/manual/graphics/rotate.rb +0 -2
  60. data/manual/graphics/scale.rb +4 -2
  61. data/manual/graphics/soft_masks.rb +0 -1
  62. data/manual/graphics/stroke_cap.rb +1 -1
  63. data/manual/graphics/stroke_join.rb +1 -1
  64. data/manual/graphics/translate.rb +3 -3
  65. data/manual/graphics/transparency.rb +0 -1
  66. data/manual/how_to_read_this_manual.rb +0 -1
  67. data/manual/images/images.rb +0 -3
  68. data/manual/layout/boxes.rb +5 -5
  69. data/manual/layout/content.rb +2 -2
  70. data/manual/layout/layout.rb +0 -3
  71. data/manual/outline/outline.rb +0 -3
  72. data/manual/repeatable_content/page_numbering.rb +1 -1
  73. data/manual/repeatable_content/repeatable_content.rb +0 -3
  74. data/manual/repeatable_content/repeater.rb +6 -6
  75. data/manual/security/encryption.rb +0 -2
  76. data/manual/security/permissions.rb +0 -2
  77. data/manual/security/security.rb +0 -3
  78. data/manual/text/alignment.rb +3 -3
  79. data/manual/text/color.rb +0 -1
  80. data/manual/text/column_box.rb +0 -1
  81. data/manual/text/fallback_fonts.rb +2 -2
  82. data/manual/text/formatted_callbacks.rb +3 -2
  83. data/manual/text/paragraph_indentation.rb +2 -3
  84. data/manual/text/registering_families.rb +13 -9
  85. data/manual/text/rotation.rb +0 -1
  86. data/manual/text/text.rb +0 -3
  87. data/manual/text/text_box_overflow.rb +7 -5
  88. data/manual/text/utf8.rb +1 -1
  89. data/manual/text/win_ansi_charset.rb +2 -2
  90. data/prawn.gemspec +4 -4
  91. data/spec/acceptance/png.rb +6 -7
  92. data/spec/annotations_spec.rb +21 -28
  93. data/spec/bounding_box_spec.rb +100 -109
  94. data/spec/column_box_spec.rb +26 -32
  95. data/spec/destinations_spec.rb +2 -4
  96. data/spec/document_spec.rb +145 -151
  97. data/spec/extensions/mocha.rb +0 -1
  98. data/spec/font_metric_cache_spec.rb +7 -7
  99. data/spec/font_spec.rb +103 -102
  100. data/spec/formatted_text_arranger_spec.rb +76 -74
  101. data/spec/formatted_text_box_spec.rb +170 -159
  102. data/spec/formatted_text_fragment_spec.rb +57 -56
  103. data/spec/graphics_spec.rb +158 -175
  104. data/spec/grid_spec.rb +28 -29
  105. data/spec/image_handler_spec.rb +4 -5
  106. data/spec/images_spec.rb +50 -36
  107. data/spec/inline_formatted_text_parser_spec.rb +397 -393
  108. data/spec/jpg_spec.rb +4 -6
  109. data/spec/line_wrap_spec.rb +54 -55
  110. data/spec/measurement_units_spec.rb +12 -15
  111. data/spec/outline_spec.rb +77 -98
  112. data/spec/png_spec.rb +55 -65
  113. data/spec/reference_spec.rb +3 -3
  114. data/spec/repeater_spec.rb +20 -26
  115. data/spec/security_spec.rb +42 -49
  116. data/spec/soft_mask_spec.rb +4 -5
  117. data/spec/span_spec.rb +5 -6
  118. data/spec/spec_helper.rb +2 -4
  119. data/spec/stamp_spec.rb +41 -22
  120. data/spec/stroke_styles_spec.rb +36 -39
  121. data/spec/text_at_spec.rb +28 -29
  122. data/spec/text_box_spec.rb +160 -165
  123. data/spec/text_rendering_mode_spec.rb +9 -9
  124. data/spec/text_spacing_spec.rb +13 -13
  125. data/spec/text_spec.rb +116 -124
  126. data/spec/text_with_inline_formatting_spec.rb +5 -5
  127. data/spec/transparency_spec.rb +20 -20
  128. data/spec/view_spec.rb +0 -1
  129. metadata +7 -7
@@ -10,26 +10,26 @@ describe "#formatted_text" do
10
10
  @pdf.formatted_text(format_array)
11
11
  # grab the text from the rendered PDF and ensure it matches
12
12
  text = PDF::Inspector::Text.analyze(@pdf.render)
13
- text.strings.first.should == string
13
+ expect(text.strings.first).to eq(string)
14
14
  end
15
15
  end
16
16
 
17
17
  describe "#text with inline styling" do
18
18
  before(:each) { create_pdf }
19
19
 
20
- it "should automatically move to a new page if the tallest fragment" +
20
+ it "should automatically move to a new page if the tallest fragment" \
21
21
  " on the next line won't fit in the available space" do
22
22
  create_pdf
23
23
  @pdf.move_cursor_to(@pdf.font.height)
24
24
  formatted = "this contains <font size='24'>sized</font> text"
25
25
  @pdf.text(formatted, :inline_format => true)
26
26
  pages = PDF::Inspector::Page.analyze(@pdf.render).pages
27
- pages.size.should == 2
27
+ expect(pages.size).to eq(2)
28
28
  end
29
29
 
30
30
  it "should embed links as literal strings" do
31
31
  @pdf.text "<link href='http://wiki.github.com/sandal/prawn/'>wiki</link>",
32
- :inline_format => true
33
- @pdf.render.should =~ %r{/URI\s+\(http://wiki\.github\.com}
32
+ :inline_format => true
33
+ expect(@pdf.render).to match(%r{/URI\s+\(http://wiki\.github\.com})
34
34
  end
35
35
  end
@@ -3,7 +3,7 @@
3
3
  require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
4
4
 
5
5
  module TransparencyHelper
6
- def make_transparent(opacity, stroke_opacity=opacity)
6
+ def make_transparent(opacity, stroke_opacity = opacity)
7
7
  @pdf.transparent(opacity, stroke_opacity) do
8
8
  yield if block_given?
9
9
  end
@@ -17,60 +17,60 @@ describe "Document with transparency" do
17
17
  create_pdf
18
18
  make_transparent(0.5)
19
19
  str = @pdf.render
20
- str[0,8].should == "%PDF-1.4"
20
+ expect(str[0, 8]).to eq("%PDF-1.4")
21
21
  end
22
22
 
23
- it "a new extended graphics state should be created for "+
23
+ it "a new extended graphics state should be created for " \
24
24
  "each unique transparency setting" do
25
25
  create_pdf
26
26
  make_transparent(0.5, 0.2) do
27
27
  make_transparent(0.5, 0.75)
28
28
  end
29
29
  extgstates = PDF::Inspector::ExtGState.analyze(@pdf.render).extgstates
30
- extgstates.length.should == 2
30
+ expect(extgstates.length).to eq(2)
31
31
  end
32
32
 
33
- it "a new extended graphics state should not be created for "+
33
+ it "a new extended graphics state should not be created for " \
34
34
  "each duplicate transparency setting" do
35
35
  create_pdf
36
36
  make_transparent(0.5, 0.75) do
37
37
  make_transparent(0.5, 0.75)
38
38
  end
39
39
  extgstates = PDF::Inspector::ExtGState.analyze(@pdf.render).extgstates
40
- extgstates.length.should == 1
40
+ expect(extgstates.length).to eq(1)
41
41
  end
42
42
 
43
- it "setting the transparency with only one parameter sets the transparency"+
43
+ it "setting the transparency with only one parameter sets the transparency" \
44
44
  " for both the fill and the stroke" do
45
45
  create_pdf
46
46
  make_transparent(0.5)
47
47
  extgstate = PDF::Inspector::ExtGState.analyze(@pdf.render).extgstates[0]
48
- extgstate[:opacity].should == 0.5
49
- extgstate[:stroke_opacity].should == 0.5
48
+ expect(extgstate[:opacity]).to eq(0.5)
49
+ expect(extgstate[:stroke_opacity]).to eq(0.5)
50
50
  end
51
51
 
52
- it "setting the transparency with a numerical parameter and "+
53
- "a :stroke should set the fill transparency to the numerical parameter "+
52
+ it "setting the transparency with a numerical parameter and " \
53
+ "a :stroke should set the fill transparency to the numerical parameter " \
54
54
  "and the stroke transparency to the option" do
55
55
  create_pdf
56
56
  make_transparent(0.5, 0.2)
57
57
  extgstate = PDF::Inspector::ExtGState.analyze(@pdf.render).extgstates[0]
58
- extgstate[:opacity].should == 0.5
59
- extgstate[:stroke_opacity].should == 0.2
58
+ expect(extgstate[:opacity]).to eq(0.5)
59
+ expect(extgstate[:stroke_opacity]).to eq(0.2)
60
60
  end
61
61
 
62
62
  it "should enforce the valid range of 0.0 to 1.0" do
63
63
  create_pdf
64
64
  make_transparent(-0.5, -0.2)
65
65
  extgstate = PDF::Inspector::ExtGState.analyze(@pdf.render).extgstates[0]
66
- extgstate[:opacity].should == 0.0
67
- extgstate[:stroke_opacity].should == 0.0
66
+ expect(extgstate[:opacity]).to eq(0.0)
67
+ expect(extgstate[:stroke_opacity]).to eq(0.0)
68
68
 
69
69
  create_pdf
70
70
  make_transparent(2.0, 3.0)
71
71
  extgstate = PDF::Inspector::ExtGState.analyze(@pdf.render).extgstates[0]
72
- extgstate[:opacity].should == 1.0
73
- extgstate[:stroke_opacity].should == 1.0
72
+ expect(extgstate[:opacity]).to eq(1.0)
73
+ expect(extgstate[:stroke_opacity]).to eq(1.0)
74
74
  end
75
75
 
76
76
  describe "with more than one page" do
@@ -83,9 +83,9 @@ describe "Document with transparency" do
83
83
  make_transparent(0.5, 0.2)
84
84
  extgstates = PDF::Inspector::ExtGState.analyze(@pdf.render).extgstates
85
85
  extgstate = extgstates[0]
86
- extgstates.length.should == 2
87
- extgstate[:opacity].should == 0.5
88
- extgstate[:stroke_opacity].should == 0.2
86
+ expect(extgstates.length).to eq(2)
87
+ expect(extgstate[:opacity]).to eq(0.5)
88
+ expect(extgstate[:stroke_opacity]).to eq(0.2)
89
89
  end
90
90
  end
91
91
  end
@@ -40,4 +40,3 @@ describe "Prawn::View" do
40
40
  view_object.save_as("foo.pdf")
41
41
  end
42
42
  end
43
-
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.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Brown
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2015-03-23 00:00:00.000000000 Z
15
+ date: 2015-07-16 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: ttfunk
@@ -34,14 +34,14 @@ dependencies:
34
34
  requirements:
35
35
  - - "~>"
36
36
  - !ruby/object:Gem::Version
37
- version: 0.5.1
37
+ version: 0.6.0
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
42
  - - "~>"
43
43
  - !ruby/object:Gem::Version
44
- version: 0.5.1
44
+ version: 0.6.0
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: pdf-inspector
47
47
  requirement: !ruby/object:Gem::Requirement
@@ -160,14 +160,14 @@ dependencies:
160
160
  requirements:
161
161
  - - '='
162
162
  - !ruby/object:Gem::Version
163
- version: 0.28.0
163
+ version: 0.30.1
164
164
  type: :development
165
165
  prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - '='
169
169
  - !ruby/object:Gem::Version
170
- version: 0.28.0
170
+ version: 0.30.1
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: code_statistics
173
173
  requirement: !ruby/object:Gem::Requirement
@@ -466,7 +466,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
466
466
  version: 1.3.6
467
467
  requirements: []
468
468
  rubyforge_project: prawn
469
- rubygems_version: 2.2.2
469
+ rubygems_version: 2.4.5
470
470
  signing_key:
471
471
  specification_version: 4
472
472
  summary: A fast and nimble PDF generator for Ruby