prawn-dev 0.3.0 → 0.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.
data/rubocop.yml CHANGED
@@ -1,11 +1,26 @@
1
1
  require:
2
2
  - rubocop-performance
3
3
  - rubocop-rspec
4
+ - rubocop/cop/prawn_cops
4
5
 
5
6
  AllCops:
6
- TargetRubyVersion: 2.6
7
+ TargetRubyVersion: 2.7
7
8
  Exclude:
8
9
  - pkg/**/*
10
+ - "*.rb"
11
+
12
+ Gemspec/DependencyVersion:
13
+ Enabled: true
14
+
15
+ Gemspec/DeprecatedAttributeAssignment:
16
+ Enabled: true
17
+
18
+ Gemspec/DevelopmentDependencies:
19
+ Enabled: true
20
+ EnforcedStyle: gemspec
21
+
22
+ Gemspec/RequireMFA:
23
+ Enabled: true
9
24
 
10
25
  Layout/ArgumentAlignment:
11
26
  EnforcedStyle: with_fixed_indentation
@@ -13,9 +28,18 @@ Layout/ArgumentAlignment:
13
28
  Layout/ExtraSpacing:
14
29
  AllowForAlignment: false
15
30
 
31
+ Layout/FirstArgumentIndentation:
32
+ EnforcedStyle: consistent
33
+
34
+ Layout/FirstArrayElementIndentation:
35
+ EnforcedStyle: consistent
36
+
16
37
  Layout/FirstArrayElementLineBreak:
17
38
  Enabled: true
18
39
 
40
+ Layout/FirstHashElementIndentation:
41
+ EnforcedStyle: consistent
42
+
19
43
  Layout/FirstHashElementLineBreak:
20
44
  Enabled: true
21
45
 
@@ -25,32 +49,43 @@ Layout/FirstMethodArgumentLineBreak:
25
49
  Layout/FirstMethodParameterLineBreak:
26
50
  Enabled: true
27
51
 
28
- Layout/FirstArgumentIndentation:
29
- EnforcedStyle: consistent
52
+ Layout/HeredocArgumentClosingParenthesis:
53
+ Enabled: true
30
54
 
31
- Layout/FirstArrayElementIndentation:
32
- EnforcedStyle: consistent
55
+ Layout/LineContinuationLeadingSpace:
56
+ Enabled: true
33
57
 
34
- Layout/FirstHashElementIndentation:
35
- EnforcedStyle: consistent
58
+ Layout/LineContinuationSpacing:
59
+ Enabled: true
36
60
 
37
- Layout/HeredocArgumentClosingParenthesis:
61
+ Layout/LineEndStringConcatenationIndentation:
38
62
  Enabled: true
63
+ EnforcedStyle: indented
64
+
65
+ Layout/MultilineArrayBraceLayout:
66
+ EnforcedStyle: new_line
39
67
 
40
68
  Layout/MultilineAssignmentLayout:
41
69
  Enabled: true
42
70
 
71
+ Layout/MultilineHashBraceLayout:
72
+ EnforcedStyle: new_line
73
+
43
74
  Layout/MultilineHashKeyLineBreaks:
44
75
  Enabled: true
45
76
 
46
- Layout/MultilineMethodArgumentLineBreaks:
47
- Enabled: true
77
+ Layout/MultilineMethodCallBraceLayout:
78
+ EnforcedStyle: new_line
48
79
 
49
80
  Layout/MultilineMethodCallIndentation:
50
81
  EnforcedStyle: indented
51
82
 
83
+ Layout/MultilineMethodDefinitionBraceLayout:
84
+ EnforcedStyle: new_line
85
+
52
86
  Layout/MultilineOperationIndentation:
53
87
  EnforcedStyle: indented
88
+ IndentationWidth: 2
54
89
 
55
90
  Layout/ParameterAlignment:
56
91
  EnforcedStyle: with_fixed_indentation
@@ -58,55 +93,122 @@ Layout/ParameterAlignment:
58
93
  Layout/SpaceAroundOperators:
59
94
  AllowForAlignment: false
60
95
 
61
- Layout/SpaceBeforeBrackets: # (new in 1.7)
96
+ Layout/SpaceBeforeBrackets:
97
+ Enabled: true
98
+
99
+ Lint/AmbiguousAssignment:
62
100
  Enabled: true
63
101
 
102
+ Lint/AmbiguousOperatorPrecedence:
103
+ Enabled: true
64
104
 
65
- Lint/AmbiguousAssignment: # (new in 1.7)
105
+ Lint/AmbiguousRange:
66
106
  Enabled: true
67
107
 
68
- Lint/DeprecatedConstants: # (new in 1.8)
108
+ Lint/ConstantOverwrittenInRescue:
69
109
  Enabled: true
70
110
 
71
- Lint/DuplicateBranch: # (new in 1.3)
111
+ Lint/DeprecatedConstants:
72
112
  Enabled: true
73
113
 
74
- Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
114
+ Lint/DuplicateBranch:
75
115
  Enabled: true
76
116
 
77
- Lint/EmptyBlock: # (new in 1.1)
117
+ Lint/DuplicateMagicComment:
78
118
  Enabled: true
79
119
 
80
- Lint/EmptyClass: # (new in 1.3)
120
+ Lint/DuplicateMatchPattern:
121
+ Enabled: true
122
+
123
+ Lint/DuplicateRegexpCharacterClassElement:
124
+ Enabled: true
125
+
126
+ Lint/EmptyBlock:
127
+ Enabled: true
128
+
129
+ Lint/EmptyClass:
130
+ Enabled: true
131
+
132
+ Lint/EmptyInPattern:
81
133
  Enabled: true
82
134
 
83
135
  Lint/HeredocMethodCallPosition:
84
136
  Enabled: true
85
137
 
86
- Lint/LambdaWithoutLiteralBlock: # (new in 1.8)
138
+ Lint/IncompatibleIoSelectWithFiberScheduler:
139
+ Enabled: true
140
+
141
+ Lint/ItWithoutArgumentsInBlock:
142
+ Enabled: true
143
+
144
+ Lint/LambdaWithoutLiteralBlock:
145
+ Enabled: true
146
+
147
+ Lint/LiteralAssignmentInCondition:
148
+ Enabled: true
149
+
150
+ Lint/MixedCaseRange:
87
151
  Enabled: true
88
152
 
89
- Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
153
+ Lint/NoReturnInBeginEndBlocks:
90
154
  Enabled: true
91
155
 
92
- Lint/RedundantDirGlobSort: # (new in 1.8)
156
+ Lint/NonAtomicFileOperation:
93
157
  Enabled: true
94
158
 
95
- Lint/ToEnumArguments: # (new in 1.1)
159
+ Lint/NumberConversion:
96
160
  Enabled: true
97
161
 
98
- Lint/UnexpectedBlockArity: # (new in 1.5)
162
+ Lint/NumberedParameterAssignment:
99
163
  Enabled: true
100
164
 
101
- Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
165
+ Lint/OrAssignmentToConstant:
102
166
  Enabled: true
103
167
 
168
+ Lint/RedundantDirGlobSort:
169
+ Enabled: true
170
+
171
+ Lint/RedundantRegexpQuantifiers:
172
+ Enabled: true
173
+
174
+ Lint/RefinementImportMethods:
175
+ Enabled: true
176
+
177
+ Lint/RequireRangeParentheses:
178
+ Enabled: true
179
+
180
+ Lint/RequireRelativeSelfPath:
181
+ Enabled: true
182
+
183
+ Lint/SafeNavigationChain:
184
+ Enabled: true
185
+
186
+ Lint/SymbolConversion:
187
+ Enabled: true
188
+
189
+ Lint/ToEnumArguments:
190
+ Enabled: true
191
+
192
+ Lint/TripleQuotes:
193
+ Enabled: true
194
+
195
+ Lint/UnexpectedBlockArity:
196
+ Enabled: true
197
+
198
+ Lint/UnmodifiedReduceAccumulator:
199
+ Enabled: true
200
+
201
+ Lint/UselessRescue:
202
+ Enabled: true
203
+
204
+ Lint/UselessRuby2Keywords:
205
+ Enabled: true
104
206
 
105
207
  Metrics/AbcSize:
106
208
  Enabled: false
107
209
 
108
210
  Metrics/BlockLength:
109
- IgnoredMethods:
211
+ AllowedMethods:
110
212
  - context
111
213
  - describe
112
214
  - it
@@ -114,40 +216,57 @@ Metrics/BlockLength:
114
216
 
115
217
  Metrics/ClassLength:
116
218
  Enabled: false
219
+
220
+ Metrics/CollectionLiteralLength:
221
+ Enabled: false
222
+
117
223
  Metrics/CyclomaticComplexity:
118
224
  Enabled: false
225
+
119
226
  Metrics/MethodLength:
120
227
  Enabled: false
228
+
121
229
  Metrics/ModuleLength:
122
230
  Enabled: false
231
+
123
232
  Metrics/PerceivedComplexity:
124
233
  Enabled: false
125
234
 
235
+ Naming/BlockForwarding:
236
+ Enabled: true
237
+
126
238
  Naming/MethodParameterName:
127
239
  MinNameLength: 3
128
240
  AllowNamesEndingInNumbers: true
129
241
  AllowedNames:
130
- - id
131
- - io
132
- - to
133
- - at
134
- - x
135
- - x1
136
- - x2
137
- - y
138
- - y1
139
- - y2
140
- - r1
141
- - r2
242
+ - id
243
+ - io
244
+ - to
245
+ - at
246
+ - x
247
+ - x1
248
+ - x2
249
+ - y
250
+ - y1
251
+ - y2
252
+ - r1
253
+ - r2
142
254
 
143
255
  ForbiddenNames: []
144
256
 
257
+ Security/CompoundHash:
258
+ Enabled: true
259
+
260
+ Security/IoMethods:
261
+ Enabled: true
145
262
 
146
- # This one doesn't work well with YARD
147
263
  Style/AccessorGrouping:
148
- Enabled: false
264
+ EnforcedStyle: separated
149
265
 
150
- Style/ArgumentsForwarding: # (new in 1.1)
266
+ Style/ArgumentsForwarding:
267
+ Enabled: true
268
+
269
+ Style/ArrayIntersect:
151
270
  Enabled: true
152
271
 
153
272
  # We need to reference non-ascii characters when testing and explaining
@@ -158,25 +277,76 @@ Style/AsciiComments:
158
277
  Style/AutoResourceCleanup:
159
278
  Enabled: true
160
279
 
161
- Style/CollectionCompact: # (new in 1.2)
280
+ Style/BlockDelimiters:
281
+ EnforcedStyle: semantic
282
+ AllowBracesOnProceduralOneLiners: true
283
+
284
+ Style/CollectionCompact:
162
285
  Enabled: true
163
286
 
164
287
  Style/CollectionMethods:
165
288
  Enabled: true
166
289
 
290
+ Style/ComparableClamp:
291
+ Enabled: true
292
+
293
+ Style/ConcatArrayLiterals:
294
+ Enabled: true
295
+
296
+ Style/DataInheritance:
297
+ Enabled: true
298
+
299
+ Style/DirEmpty:
300
+ Enabled: true
301
+
302
+ Style/DocumentDynamicEvalDefinition:
303
+ Enabled: true
304
+
167
305
  Style/Documentation:
168
- Enabled: false
306
+ Exclude:
307
+ - bench/**/*
308
+ - examples/**/*.rb
309
+ - manual/**/*.rb
310
+
311
+ Style/DocumentationMethod:
312
+ Enabled: true
313
+ Exclude:
314
+ - bench/**/*
315
+ - examples/**/*.rb
316
+ - manual/**/*.rb
317
+ - spec/**/*_spec.rb
318
+
319
+ Style/EmptyHeredoc:
320
+ Enabled: true
321
+
322
+ Style/EndlessMethod:
323
+ Enabled: true
324
+
325
+ Style/EnvHome:
326
+ Enabled: true
327
+
328
+ Style/ExactRegexpMatch:
329
+ Enabled: true
330
+
331
+ Style/FetchEnvVar:
332
+ Enabled: true
333
+
334
+ Style/FileEmpty:
335
+ Enabled: true
169
336
 
170
- Style/DocumentDynamicEvalDefinition: # (new in 1.1)
337
+ Style/FileRead:
171
338
  Enabled: true
172
339
 
173
- Style/EndlessMethod: # (new in 1.8)
340
+ Style/FileWrite:
174
341
  Enabled: true
175
342
 
176
343
  Style/GuardClause:
177
344
  Enabled: false
178
345
 
179
- Style/HashExcept: # (new in 1.7)
346
+ Style/HashConversion:
347
+ Enabled: true
348
+
349
+ Style/HashExcept:
180
350
  Enabled: true
181
351
 
182
352
  # We don't always prefer modifier statements even if they do fit on a line.
@@ -185,13 +355,68 @@ Style/IfUnlessModifier:
185
355
  Style/WhileUntilModifier:
186
356
  Enabled: false
187
357
 
358
+ Style/IfWithBooleanLiteralBranches:
359
+ Enabled: true
360
+
188
361
  Style/ImplicitRuntimeError:
189
362
  Enabled: true
190
363
 
191
- Style/NegatedIfElseCondition: # (new in 1.2)
364
+ Style/InPatternThen:
365
+ Enabled: true
366
+
367
+ Style/InvertibleUnlessCondition:
368
+ Enabled: true
369
+
370
+ Style/MagicCommentFormat:
371
+ Enabled: true
372
+
373
+ Style/MapCompactWithConditionalBlock:
374
+ Enabled: true
375
+
376
+ Style/MapToHash:
377
+ Enabled: true
378
+
379
+ Style/MapToSet:
380
+ Enabled: true
381
+
382
+ Style/MethodCallWithArgsParentheses:
383
+ Enabled: true
384
+ AllowedMethods:
385
+ - raise
386
+ - describe
387
+ - to
388
+ - to_not
389
+ - eq
390
+ - be
391
+
392
+ Style/MinMaxComparison:
393
+ Enabled: true
394
+
395
+ Style/MultilineInPatternThen:
396
+ Enabled: true
397
+
398
+ Style/NegatedIfElseCondition:
399
+ Enabled: true
400
+
401
+ Style/NestedFileDirname:
402
+ Enabled: true
403
+
404
+ Style/NilLambda:
405
+ Enabled: true
406
+
407
+ Style/NumberedParameters:
408
+ Enabled: true
409
+
410
+ Style/NumberedParametersLimit:
411
+ Enabled: true
412
+
413
+ Style/ObjectThen:
192
414
  Enabled: true
193
415
 
194
- Style/NilLambda: # (new in 1.3)
416
+ Style/OpenStructUse:
417
+ Enabled: true
418
+
419
+ Style/OperatorMethodCall:
195
420
  Enabled: true
196
421
 
197
422
  # This one would break our public API
@@ -200,90 +425,268 @@ Style/OptionalBooleanParameter:
200
425
 
201
426
  Style/PercentLiteralDelimiters:
202
427
  PreferredDelimiters:
203
- '%': '()'
204
- '%i': '[]'
205
- '%I': '[]'
206
- '%q': '()'
207
- '%Q': '()'
208
- '%r': '{}'
209
- '%s': '()'
210
- '%w': '[]'
211
- '%W': '[]'
212
- '%x': '()'
213
-
214
- Style/RedundantArgument: # (new in 1.4)
428
+ "%": "()"
429
+ "%i": "[]"
430
+ "%I": "[]"
431
+ "%q": "()"
432
+ "%Q": "()"
433
+ "%r": "{}"
434
+ "%s": "()"
435
+ "%w": "[]"
436
+ "%W": "[]"
437
+ "%x": "()"
438
+
439
+ Style/QuotedSymbols:
440
+ Enabled: true
441
+
442
+ Style/RedundantArgument:
443
+ Enabled: false
444
+
445
+ Style/RedundantArrayConstructor:
446
+ Enabled: true
447
+
448
+ Style/RedundantConstantBase:
215
449
  Enabled: false
216
450
 
451
+ Style/RedundantCurrentDirectoryInPath:
452
+ Enabled: true
453
+
454
+ Style/RedundantDoubleSplatHashBraces:
455
+ Enabled: true
456
+
457
+ Style/RedundantEach:
458
+ Enabled: true
459
+
460
+ Style/RedundantFilterChain:
461
+ Enabled: true
462
+
463
+ Style/RedundantHeredocDelimiterQuotes:
464
+ Enabled: true
465
+
466
+ Style/RedundantInitialize:
467
+ Enabled: true
468
+
469
+ Style/RedundantLineContinuation:
470
+ Enabled: true
471
+
472
+ Style/RedundantRegexpArgument:
473
+ Enabled: true
474
+
475
+ Style/RedundantRegexpConstructor:
476
+ Enabled: true
477
+
478
+ Style/RedundantSelfAssignmentBranch:
479
+ Enabled: true
480
+
481
+ Style/RedundantStringEscape:
482
+ Enabled: true
483
+
217
484
  Style/ReturnNil:
218
485
  Enabled: true
219
486
 
487
+ Style/ReturnNilInPredicateMethodDefinition:
488
+ Enabled: true
489
+
490
+ Style/SelectByRegexp:
491
+ Enabled: true
492
+
220
493
  Style/Send:
221
494
  Enabled: true
222
495
 
223
- Style/SwapValues: # (new in 1.1)
496
+ Style/SingleLineDoEndBlock:
224
497
  Enabled: true
225
498
 
499
+ Style/StringChars:
500
+ Enabled: true
226
501
 
227
- Performance/AncestorsInclude: # (new in 1.7)
502
+ Style/StringMethods:
228
503
  Enabled: true
229
504
 
230
- Performance/BigDecimalWithNumericArgument: # (new in 1.7)
505
+ Style/SuperWithArgsParentheses:
506
+ Enabled: true
507
+
508
+ Style/SwapValues:
509
+ Enabled: true
510
+
511
+ Style/TrailingCommaInArguments:
512
+ EnforcedStyleForMultiline: prawn_comma
513
+
514
+ Style/TrailingCommaInArrayLiteral:
515
+ EnforcedStyleForMultiline: prawn_comma
516
+
517
+ Style/TrailingCommaInHashLiteral:
518
+ EnforcedStyleForMultiline: prawn_comma
519
+
520
+ Style/YAMLFileRead:
231
521
  Enabled: true
232
522
 
233
- Performance/BlockGivenWithExplicitBlock: # (new in 1.9)
523
+ Performance/AncestorsInclude:
234
524
  Enabled: true
235
525
 
526
+ Performance/BigDecimalWithNumericArgument:
527
+ Enabled: true
528
+
529
+ Performance/BlockGivenWithExplicitBlock:
530
+ Enabled: false
531
+
236
532
  Performance/CaseWhenSplat:
237
533
  Enabled: true
238
534
 
239
- Performance/CollectionLiteralInLoop: # (new in 1.8)
535
+ Performance/CollectionLiteralInLoop:
240
536
  Enabled: true
241
537
 
242
- Performance/ConstantRegexp: # (new in 1.9)
538
+ Performance/ConcurrentMonotonicTime:
539
+ Enabled: true
540
+
541
+ Performance/ConstantRegexp:
243
542
  Enabled: true
244
543
 
245
544
  Performance/IoReadlines:
246
545
  Enabled: true
247
546
 
248
- Performance/MethodObjectAsBlock: # (new in 1.9)
547
+ Performance/MapCompact:
249
548
  Enabled: true
250
549
 
251
- Performance/RedundantSortBlock: # (new in 1.7)
550
+ Performance/MapMethodChain:
252
551
  Enabled: true
253
552
 
254
- Performance/RedundantStringChars: # (new in 1.7)
553
+ Performance/MethodObjectAsBlock:
255
554
  Enabled: true
256
555
 
257
- Performance/ReverseFirst: # (new in 1.7)
556
+ Performance/RedundantEqualityComparisonBlock:
258
557
  Enabled: true
259
558
 
260
- Performance/SortReverse: # (new in 1.7)
559
+ Performance/RedundantSortBlock:
261
560
  Enabled: true
262
561
 
263
- Performance/Squeeze: # (new in 1.7)
562
+ Performance/RedundantSplitRegexpArgument:
264
563
  Enabled: true
265
564
 
266
- Performance/StringInclude: # (new in 1.7)
565
+ Performance/RedundantStringChars:
267
566
  Enabled: true
268
567
 
269
- Performance/Sum: # (new in 1.8)
568
+ Performance/ReverseFirst:
270
569
  Enabled: true
271
570
 
571
+ Performance/SortReverse:
572
+ Enabled: true
573
+
574
+ Performance/Squeeze:
575
+ Enabled: true
576
+
577
+ Performance/StringIdentifierArgument:
578
+ Enabled: true
579
+
580
+ Performance/StringInclude:
581
+ Enabled: true
582
+
583
+ Performance/Sum:
584
+ Enabled: true
585
+
586
+ RSpec/Capybara:
587
+ Enabled: false
588
+
589
+ Capybara:
590
+ Enabled: false
591
+
592
+ FactoryBot:
593
+ Enabled: false
594
+
595
+ RSpec/Rails:
596
+ Enabled: false
597
+
598
+ RSpec/BeEmpty:
599
+ Enabled: true
600
+
601
+ RSpec/BeEq:
602
+ Enabled: true
603
+
604
+ RSpec/BeNil:
605
+ Enabled: true
606
+
607
+ RSpec/ChangeByZero:
608
+ Enabled: true
609
+
610
+ RSpec/ClassCheck:
611
+ Enabled: true
612
+
613
+ RSpec/ContainExactly:
614
+ Enabled: true
272
615
 
273
616
  RSpec/DescribedClassModuleWrapping:
274
617
  Enabled: true
275
618
 
619
+ RSpec/DuplicatedMetadata:
620
+ Enabled: true
621
+
622
+ RSpec/EmptyMetadata:
623
+ Enabled: true
624
+
625
+ RSpec/Eq:
626
+ Enabled: true
627
+
276
628
  RSpec/ExampleLength:
277
629
  Enabled: false
278
630
 
631
+ RSpec/ExcessiveDocstringSpacing:
632
+ Enabled: true
633
+
634
+ RSpec/IdenticalEqualityAssertion:
635
+ Enabled: true
636
+
637
+ RSpec/IndexedLet:
638
+ Enabled: true
639
+
640
+ RSpec/MatchArray:
641
+ Enabled: true
642
+
279
643
  RSpec/MessageExpectation:
280
644
  Enabled: true
281
645
 
646
+ RSpec/MetadataStyle:
647
+ Enabled: true
648
+
282
649
  RSpec/MultipleExpectations:
283
650
  Enabled: false
284
651
 
285
652
  RSpec/NestedGroups:
286
653
  Max: 5
287
654
 
655
+ RSpec/NoExpectationExample:
656
+ Enabled: true
657
+
288
658
  RSpec/NotToNot:
289
659
  EnforcedStyle: to_not
660
+
661
+ RSpec/PendingWithoutReason:
662
+ Enabled: true
663
+
664
+ RSpec/ReceiveMessages:
665
+ Enabled: true
666
+
667
+ RSpec/RedundantAround:
668
+ Enabled: true
669
+
670
+ RSpec/RedundantPredicateMatcher:
671
+ Enabled: true
672
+
673
+ RSpec/RemoveConst:
674
+ Enabled: true
675
+
676
+ RSpec/SkipBlockInsideExample:
677
+ Enabled: true
678
+
679
+ RSpec/SortMetadata:
680
+ Enabled: true
681
+
682
+ RSpec/SpecFilePathFormat:
683
+ Enabled: true
684
+
685
+ RSpec/SpecFilePathSuffix:
686
+ Enabled: true
687
+
688
+ RSpec/SubjectDeclaration:
689
+ Enabled: true
690
+
691
+ RSpec/VerifiedDoubleReference:
692
+ Enabled: true