summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGeremia Taglialatela <[email protected]>2023-06-09 10:25:48 +0200
committerGeremia Taglialatela <[email protected]>2023-06-09 10:25:48 +0200
commit956d0b5e06580b6465a67159a9c0d1dd719f6442 (patch)
treeafcdf2020763faeb08aa302e2210c9702a80f45c
parent2965ebd4c719ad34a75e70cb1640e94093c8c763 (diff)
downloadcaxlsx-956d0b5e06580b6465a67159a9c0d1dd719f6442.tar.gz
caxlsx-956d0b5e06580b6465a67159a9c0d1dd719f6442.zip
Refactor random char generation
Fix the following safe offenses: - Style/OperatorMethodCall - Style/RandomWithOffset And use Array.new to avoid an extra allocation: ``` Comparison (IPS): Array.new(8) { rand(65..89).chr }.join: 492433.7 i/s (0...8).map { 65.+(rand(25)).chr }.join: 432155.8 i/s - 1.14x (± 0.00) slower Comparison (Memory): Array.new(8) { rand(65..89).chr }.join: 440 allocated (0...8).map { 65.+(rand(25)).chr }.join: 560 allocated - 1.27x more ```
-rw-r--r--.rubocop_todo.yml10
-rw-r--r--lib/axlsx/drawing/vml_shape.rb2
2 files changed, 1 insertions, 11 deletions
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index b68f9b61..1af7d16e 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -248,11 +248,6 @@ Style/NumericPredicate:
- 'lib/axlsx/util/validators.rb'
- 'lib/axlsx/workbook/worksheet/worksheet.rb'
-# This cop supports safe autocorrection (--autocorrect).
-Style/OperatorMethodCall:
- Exclude:
- - 'lib/axlsx/drawing/vml_shape.rb'
-
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
@@ -319,11 +314,6 @@ Style/QuotedSymbols:
- 'lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb'
# This cop supports safe autocorrection (--autocorrect).
-Style/RandomWithOffset:
- Exclude:
- - 'lib/axlsx/drawing/vml_shape.rb'
-
-# This cop supports safe autocorrection (--autocorrect).
Style/RedundantRegexpEscape:
Exclude:
- 'lib/axlsx/workbook/worksheet/pivot_table.rb'
diff --git a/lib/axlsx/drawing/vml_shape.rb b/lib/axlsx/drawing/vml_shape.rb
index f1cd8951..4b21528f 100644
--- a/lib/axlsx/drawing/vml_shape.rb
+++ b/lib/axlsx/drawing/vml_shape.rb
@@ -24,7 +24,7 @@ module Axlsx
@right_offset = 50
@bottom_offset = 5
@visible = true
- @id = (0...8).map { 65.+(rand(25)).chr }.join
+ @id = Array.new(8) { rand(65..89).chr }.join
parse_options options
yield self if block_given?
end