hexapdf-extras 1.2.1 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b78689a3508af4e894495de342708fe4a7227561d367f06bc468ff1b6fbba250
4
- data.tar.gz: 33b1e1155b3f08a9c1dd5481d3d5d51ff852ca01283523e7c81a9185bb1154bd
3
+ metadata.gz: 1b425559332a45c2a40c8de3fb518e26c772db9b99f63ef393df92f2bfceee3b
4
+ data.tar.gz: e33029a0a9aa8aed06f1438f31fdf8b53cb7bc0b15e96f43b72a7b74d014d5d6
5
5
  SHA512:
6
- metadata.gz: 3b795c12393e49ec5846e7a47993fb95f52f36391b75356c47372e8e24cc29708724544675f60404c8547daac5961923c852317c3221805d00a74c17648efc59
7
- data.tar.gz: 7044dec54bad29ad02b60c1bb9385de501b7b663f2c3230808d24b8c2806edab1ff0c33223e1fafd7100f88442ae93aeb90f445dd90e8ef55b1912f5f9ad7899
6
+ metadata.gz: 72e693b278f55b2e8fb8ddb7b7ade7ec544b4ffa2e0977b73f1b5a784be7444de78101af02c25095cdb6e5f00b86ac704bd84c6f947090754c39041a1085f5d3
7
+ data.tar.gz: 4e2caa6555160576d3e008706f7dc58540be3766eab308c318872778feb79a4185289c90cba605c69e406143d674f4e6abaf0bf2f931a5fa6f5410d14bad1ff8
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rake/testtask'
3
3
  require 'rubygems/package_task'
4
4
 
5
5
  Rake::TestTask.new do |t|
6
- t.libs << 'test'
6
+ t.libs << 'test' << '../hexapdf/lib'
7
7
  t.test_files = FileList['test/**/*.rb']
8
8
  t.verbose = false
9
9
  t.warning = true
@@ -42,17 +42,16 @@ module HexaPDF
42
42
  )
43
43
  end
44
44
 
45
+ private
46
+
45
47
  # Fits the QRCode into the given area.
46
- def fit(available_width, available_height, _frame)
47
- super
48
+ def fit_content(available_width, available_height, _frame)
48
49
  @qr_code.size = [content_width, content_height].min
49
50
  @width = @qr_code.size + reserved_width
50
51
  @height = @qr_code.size + reserved_height
51
- @fit_successful = (@width <= available_width && @height <= available_height)
52
+ fit_result.success! if @width <= available_width && @height <= available_height
52
53
  end
53
54
 
54
- private
55
-
56
55
  # Draws the QR code onto the canvas at position [x, y].
57
56
  def draw_content(canvas, x, y)
58
57
  @qr_code.at = [x, y]
@@ -43,8 +43,10 @@ module HexaPDF
43
43
  @barcode = GraphicObject::Zint.configure(**data)
44
44
  end
45
45
 
46
+ private
47
+
46
48
  # Fits the barcode into the given area.
47
- def fit(available_width, available_height, frame)
49
+ def fit_content(available_width, available_height, frame)
48
50
  @image ||= @barcode.form_xobject(frame.document)
49
51
  super
50
52
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module HexaPDF
4
4
  module Extras
5
- VERSION = '1.2.1'
5
+ VERSION = '1.2.3'
6
6
  end
7
7
  end
@@ -74,7 +74,7 @@ describe HexaPDF::Extras::GraphicObject::Zint do
74
74
  [:set_font_and_size, [:F1, 14.0]],
75
75
  [:set_device_gray_non_stroking_color, [0.0]],
76
76
  [:begin_text],
77
- [:set_text_matrix, [1, 0, 0, 1, 67.716, 3.5]],
77
+ [:move_text, [67.716, 3.5]],
78
78
  [:show_text, ["test"]],
79
79
  [:end_text]])
80
80
  end
@@ -108,7 +108,7 @@ describe HexaPDF::Extras::GraphicObject::Zint do
108
108
  [:set_font_and_size, [:F1, 14.0]],
109
109
  [:set_device_gray_non_stroking_color, [0.0]],
110
110
  [:begin_text],
111
- [:set_text_matrix, [1, 0, 0, 1, 0.216, 0.400002]],
111
+ [:move_text, [0.216, 0.400002]],
112
112
  [:show_text, ["1"]],
113
113
  [:set_font_and_size, [:F1, 20.0]],
114
114
  [:move_text, [32.424, 0]],
@@ -29,7 +29,7 @@ describe HexaPDF::Extras::Layout::QRCodeBox do
29
29
  it "uses the smaller value of width/height for the dimensions if smaller than available_width/height" do
30
30
  [{width: 10}, {width: 10, height: 50}, {height: 10}, {width: 50, height: 10}].each do |args|
31
31
  box = create_box(**args)
32
- assert(box.fit(100, 100, @frame))
32
+ assert(box.fit(100, 100, @frame).success?)
33
33
  assert_equal(10, box.width)
34
34
  assert_equal(10, box.height)
35
35
  assert_equal(10, box.qr_code.size)
@@ -38,12 +38,12 @@ describe HexaPDF::Extras::Layout::QRCodeBox do
38
38
 
39
39
  it "uses the smaller value of available_width/height for the dimensions" do
40
40
  box = create_box
41
- assert(box.fit(10, 20, @frame))
41
+ assert(box.fit(10, 20, @frame).success?)
42
42
  assert_equal(10, box.width)
43
43
  assert_equal(10, box.height)
44
44
  assert_equal(10, box.qr_code.size)
45
45
 
46
- assert(box.fit(20, 15, @frame))
46
+ assert(box.fit(20, 15, @frame).success?)
47
47
  assert_equal(15, box.width)
48
48
  assert_equal(15, box.height)
49
49
  assert_equal(15, box.qr_code.size)
@@ -51,19 +51,19 @@ describe HexaPDF::Extras::Layout::QRCodeBox do
51
51
 
52
52
  it "takes the border and padding into account for the QR code size" do
53
53
  box = create_box(style: {padding: [1, 2], border: {width: [3, 4]}})
54
- assert(box.fit(100, 100, @frame))
54
+ assert(box.fit(100, 100, @frame).success?)
55
55
  assert_equal(88, box.qr_code.size)
56
56
  assert_equal(100, box.width)
57
57
  assert_equal(96, box.height)
58
58
 
59
59
  box = create_box(style: {padding: [2, 1], border: {width: [4, 3]}})
60
- assert(box.fit(100, 100, @frame))
60
+ assert(box.fit(100, 100, @frame).success?)
61
61
  assert_equal(88, box.qr_code.size)
62
62
  assert_equal(96, box.width)
63
63
  assert_equal(100, box.height)
64
64
 
65
65
  box = create_box(style: {padding: [5, 5, 5, 0], border: {width: [2, 2, 2, 0]}})
66
- assert(box.fit(50, 100, @frame))
66
+ assert(box.fit(50, 100, @frame).success?)
67
67
  assert_equal(43, box.qr_code.size)
68
68
  assert_equal(50, box.width)
69
69
  assert_equal(57, box.height)
@@ -73,7 +73,7 @@ describe HexaPDF::Extras::Layout::QRCodeBox do
73
73
  describe "draw" do
74
74
  it "draws the qrcode" do
75
75
  box = create_box(width: 10)
76
- box.fit(100, 100, @frame)
76
+ assert(box.fit(100, 100, @frame).success?)
77
77
 
78
78
  canvas = Minitest::Mock.new
79
79
  canvas.expect(:draw, nil, [box.qr_code])
@@ -13,7 +13,7 @@ describe HexaPDF::Extras::Layout::SwissQRBill do
13
13
  def data
14
14
  @data ||= {
15
15
  creditor: {
16
- iban: "CH4431999123000889012",
16
+ iban: +"CH4431999123000889012",
17
17
  name: "Max Muster & Söhne",
18
18
  address_line1: "Musterstrasse",
19
19
  address_line2: "123",
@@ -72,11 +72,11 @@ describe HexaPDF::Extras::Layout::SwissQRBill do
72
72
  it "ensures a correct iban value in the creditor field" do
73
73
  data[:creditor].delete(:iban)
74
74
  assert_invalid_data(/:iban of :creditor is missing/)
75
- data[:creditor][:iban] = 'CH44 319 39912300088901 2'
75
+ data[:creditor][:iban] = +'CH44 319 39912300088901 2'
76
76
  assert_invalid_data(/:iban of :creditor.*21/)
77
- data[:creditor][:iban] = 'CH4431999123000889013'
77
+ data[:creditor][:iban] = +'CH4431999123000889013'
78
78
  assert_invalid_data(/:iban of :creditor.*invalid check digits/)
79
- data[:creditor][:iban] = 'CH4431999123000889012'
79
+ data[:creditor][:iban] = +'CH4431999123000889012'
80
80
  assert(create_box(data))
81
81
  end
82
82
 
@@ -152,32 +152,32 @@ describe HexaPDF::Extras::Layout::SwissQRBill do
152
152
  it "ensures the QRR reference value exists and is valid" do
153
153
  data[:reference_type] = 'QRR'
154
154
  assert_invalid_data(/:reference must be filled.*QRR/)
155
- data[:reference] = 'adsfads'
155
+ data[:reference] = +'adsfads'
156
156
  assert_invalid_data(/:reference for QRR.*27/)
157
- data[:reference] = '210000000003139471430009011'
157
+ data[:reference] = +'210000000003139471430009011'
158
158
  assert_invalid_data(/:reference for QRR.*invalid check digit.*7/)
159
- data[:reference] = '21000000000313947143000901'
159
+ data[:reference] = +'21000000000313947143000901'
160
160
  assert_equal('7', create_box(data).data[:reference][26])
161
- data[:reference] = '210000000 0031394 71430009017'
161
+ data[:reference] = +'210000000 0031394 71430009017'
162
162
  assert(create_box(data))
163
163
  end
164
164
 
165
165
  it "ensures the SCOR reference value exists and is valid" do
166
166
  data[:reference_type] = 'SCOR'
167
167
  assert_invalid_data(/:reference must be filled.*SCOR/)
168
- data[:reference] = 'RF11'
168
+ data[:reference] = +'RF11'
169
169
  assert_invalid_data(/:reference for SCOR.*5 and 25/)
170
- data[:reference] = 'RFa' * 9
170
+ data[:reference] = +'RFa' * 9
171
171
  assert_invalid_data(/:reference for SCOR.*5 and 25/)
172
- data[:reference] = 'RF123323;ö'
172
+ data[:reference] = +'RF123323;ö'
173
173
  assert_invalid_data(/:reference for SCOR.*alpha-numeric/)
174
- data[:reference] = 'a' * 20
174
+ data[:reference] = +'a' * 20
175
175
  assert_invalid_data(/:reference for SCOR must start.*RF/)
176
- data[:reference] = 'RFabcdefgh'
176
+ data[:reference] = +'RFabcdefgh'
177
177
  assert_invalid_data(/:reference for SCOR must start.*RF and check digits/)
178
- data[:reference] = 'RF 48 5000056789012345d'
178
+ data[:reference] = +'RF 48 5000056789012345d'
179
179
  assert_invalid_data(/:reference for SCOR has invalid check digits/)
180
- data[:reference] = 'RF 48 5000056789012345'
180
+ data[:reference] = +'RF 48 5000056789012345'
181
181
  assert(create_box(data))
182
182
  end
183
183
 
@@ -226,7 +226,7 @@ describe HexaPDF::Extras::Layout::SwissQRBill do
226
226
 
227
227
  it "works with all information filled in" do
228
228
  data[:reference_type] = 'QRR'
229
- data[:reference] = '210000000 0031394 71430009017'
229
+ data[:reference] = +'210000000 0031394 71430009017'
230
230
  data[:message] = 'Please just pay the bills, Jim!'
231
231
  data[:billing_information] = '//S/hit/30/50/what/do/I/do/'
232
232
  data[:alternative_schemes] = 'ebill/here/comes/data'
@@ -237,7 +237,7 @@ describe HexaPDF::Extras::Layout::SwissQRBill do
237
237
  data.delete(:debtor)
238
238
  data.delete(:amount)
239
239
  data[:reference_type] = 'SCOR'
240
- data[:reference] = 'RF48 5000056789012345'
240
+ data[:reference] = +'RF48 5000056789012345'
241
241
  assert(@composer.box(:swiss_qr_bill, data: data))
242
242
  end
243
243
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hexapdf-extras
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Leitner
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-06-01 00:00:00.000000000 Z
10
+ date: 2025-01-01 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: hexapdf
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '0.43'
18
+ version: '1.0'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '0.43'
25
+ version: '1.0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: rqrcode_core
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +51,6 @@ dependencies:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
53
  version: '1.3'
55
- description:
56
54
  email: t_leitner@gmx.at
57
55
  executables: []
58
56
  extensions: []
@@ -81,7 +79,6 @@ homepage: https://hexapdf-extras.gettalong.org
81
79
  licenses:
82
80
  - MIT
83
81
  metadata: {}
84
- post_install_message:
85
82
  rdoc_options: []
86
83
  require_paths:
87
84
  - lib
@@ -89,15 +86,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
86
  requirements:
90
87
  - - ">="
91
88
  - !ruby/object:Gem::Version
92
- version: '2.7'
89
+ version: '3.0'
93
90
  required_rubygems_version: !ruby/object:Gem::Requirement
94
91
  requirements:
95
92
  - - ">="
96
93
  - !ruby/object:Gem::Version
97
94
  version: '0'
98
95
  requirements: []
99
- rubygems_version: 3.5.3
100
- signing_key:
96
+ rubygems_version: 3.6.2
101
97
  specification_version: 4
102
98
  summary: Additional functionality for HexaPDF
103
99
  test_files: []