prawn-dev 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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