ruby-brs 1.2.1 → 1.3.0

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: f7c98f5678a0545688d9a0bb7537d2eb55507559c2f6d61855796983e4b8a763
4
- data.tar.gz: 19bbed82c75ecf25c17a7848b97890dfad5387a3d9244b16db2447bb21425c1b
3
+ metadata.gz: 519776eef000f690d628b64310be61daf3e8cc144a103fa848586f1165e92de9
4
+ data.tar.gz: 8a0f7b24666a6291b10700a6ddf4dfd8afe90e2286750ca02531126348f0a198
5
5
  SHA512:
6
- metadata.gz: c7a82e47ac99a515794cc5e56153d10993b5b87fdb9f091dd04a685689dadcee2aec961b2cefbd1fd9531c457cd45af5d0d05af87178642b5bb545fa2f9f9246
7
- data.tar.gz: 481e233bfd17fe958a384787b2dd0f469b9017d7005cb9c1b88bdf48cad578767c5003e52b53ce6fcda35635a57339115a6cd21f0768281626df99995ee308ee
6
+ metadata.gz: c1a644ae3619da601177e0985926acffb6a43910c9686dfdb97b33f191814699f0cb6c9e38a5ecedb5f33999ac9cf129d0864bfcb2d065981faf1da61f5ef9c5
7
+ data.tar.gz: f7cf208285d14a9c2ef5b868dee4c1bf2dbe1262479cc250b6ce48d4c462007da431e8c5322097c8bf71cdef009140625ed8439d0c2a878825a4b502599a2086
data/README.md CHANGED
@@ -118,6 +118,8 @@ end
118
118
  | `quality` | 0 - 11 | 11 | compression level |
119
119
  | `lgwin` | 10 - 24 | 22 | compressor window size |
120
120
  | `lgblock` | 16 - 24 | nil (auto) | compressor input block size |
121
+ | `npostfix` | 0 - 3 | nil (auto) | Recommended number of postfix bits |
122
+ | `ndirect` | 0 - 120 | nil (auto) | Recommended number of direct distance codes (step 1 << npostfix, max 15 << npostfix) |
121
123
  | `disable_literal_context_modeling` | true/false | false | disables literal context modeling format |
122
124
  | `disable_ring_buffer_reallocation` | true/false | false | disables ring buffer reallocation |
123
125
  | `size_hint` | 0 - inf | 0 (auto) | size of input (if known) |
@@ -135,12 +137,14 @@ If `gvl` is enabled ruby won't waste time on acquiring/releasing VM lock.
135
137
 
136
138
  You can also read brotli docs for more info about options.
137
139
 
138
- | Option | Related constants |
139
- |-----------|-------------------|
140
- | `mode` | `BRS::Option::MODES` = `%i[text font generic]` |
141
- | `quality` | `BRS::Option::MIN_QUALITY` = 0, `BRS::Option::MAX_QUALITY` = 11 |
142
- | `lgwin` | `BRS::Option::MIN_LGWIN` = 10, `BRS::Option::MAX_LGWIN` = 24 |
143
- | `lgblock` | `BRS::Option::MIN_LGBLOCK` = 16, `BRS::Option::MAX_LGBLOCK` = 24 |
140
+ | Option | Related constants |
141
+ |------------|-------------------|
142
+ | `mode` | `BRS::Option::MODES` = `%i[text font generic]` |
143
+ | `quality` | `BRS::Option::MIN_QUALITY` = 0, `BRS::Option::MAX_QUALITY` = 11 |
144
+ | `lgwin` | `BRS::Option::MIN_LGWIN` = 10, `BRS::Option::MAX_LGWIN` = 24 |
145
+ | `lgblock` | `BRS::Option::MIN_LGBLOCK` = 16, `BRS::Option::MAX_LGBLOCK` = 24 |
146
+ | `npostfix` | `BRS::Option::MIN_NPOSTFIX` = 0, `BRS::Option::MAX_NPOSTFIX` = 3 |
147
+ | `ndirect` | `BRS::Option::MIN_NDIRECT` = 0, `BRS::Option::MAX_NDIRECT` = 120, `BRS::Option::NDIRECT_NPOSTFIX_STEP_BASE` = 1, `BRS::Option::NDIRECT_NPOSTFIX_MAX_BASE` = 15 |
144
148
 
145
149
  Possible compressor options:
146
150
  ```
@@ -151,6 +155,8 @@ Possible compressor options:
151
155
  :quality
152
156
  :lgwin
153
157
  :lgblock
158
+ :npostfix
159
+ :ndirect
154
160
  :disable_literal_context_modeling
155
161
  :size_hint
156
162
  :large_window
data/ext/brs_ext/buffer.c CHANGED
@@ -3,8 +3,6 @@
3
3
 
4
4
  #include "brs_ext/buffer.h"
5
5
 
6
- #include "ruby.h"
7
-
8
6
  VALUE brs_ext_create_string_buffer(VALUE length)
9
7
  {
10
8
  return rb_str_new(NULL, NUM2SIZET(length));
data/ext/brs_ext/error.c CHANGED
@@ -3,10 +3,6 @@
3
3
 
4
4
  #include "brs_ext/error.h"
5
5
 
6
- #include <brotli/decode.h>
7
-
8
- #include "ruby.h"
9
-
10
6
  brs_ext_result_t brs_ext_get_decompressor_error(BrotliDecoderErrorCode error_code)
11
7
  {
12
8
  switch (error_code) {
data/ext/brs_ext/io.c CHANGED
@@ -15,7 +15,6 @@
15
15
  #include "brs_ext/gvl.h"
16
16
  #include "brs_ext/macro.h"
17
17
  #include "brs_ext/option.h"
18
- #include "ruby.h"
19
18
  #include "ruby/io.h"
20
19
 
21
20
  // Additional possible results:
data/ext/brs_ext/main.c CHANGED
@@ -7,7 +7,6 @@
7
7
  #include "brs_ext/stream/compressor.h"
8
8
  #include "brs_ext/stream/decompressor.h"
9
9
  #include "brs_ext/string.h"
10
- #include "ruby.h"
11
10
 
12
11
  void Init_brs_ext()
13
12
  {
@@ -19,4 +18,8 @@ void Init_brs_ext()
19
18
  brs_ext_compressor_exports(root_module);
20
19
  brs_ext_decompressor_exports(root_module);
21
20
  brs_ext_string_exports(root_module);
21
+
22
+ VALUE version_arguments[] = {INT2FIX(16)};
23
+ VALUE version = rb_block_call(UINT2NUM(BrotliEncoderVersion()), rb_intern("to_s"), 1, version_arguments, 0, 0);
24
+ rb_define_const(root_module, "LIBRARY_VERSION", rb_obj_freeze(version));
22
25
  }
data/ext/brs_ext/option.c CHANGED
@@ -3,11 +3,7 @@
3
3
 
4
4
  #include "brs_ext/option.h"
5
5
 
6
- #include <brotli/decode.h>
7
- #include <brotli/encode.h>
8
-
9
6
  #include "brs_ext/error.h"
10
- #include "ruby.h"
11
7
 
12
8
  // -- values --
13
9
 
@@ -114,6 +110,8 @@ brs_ext_result_t brs_ext_set_compressor_options(BrotliEncoderState* state_ptr, b
114
110
  SET_ENCODER_PARAM(state_ptr, BROTLI_PARAM_QUALITY, options->quality);
115
111
  SET_ENCODER_PARAM(state_ptr, BROTLI_PARAM_LGWIN, options->lgwin);
116
112
  SET_ENCODER_PARAM(state_ptr, BROTLI_PARAM_LGBLOCK, options->lgblock);
113
+ SET_ENCODER_PARAM(state_ptr, BROTLI_PARAM_NPOSTFIX, options->npostfix);
114
+ SET_ENCODER_PARAM(state_ptr, BROTLI_PARAM_NDIRECT, options->ndirect);
117
115
  SET_ENCODER_PARAM(
118
116
  state_ptr, BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING, options->disable_literal_context_modeling);
119
117
  SET_ENCODER_PARAM(state_ptr, BROTLI_PARAM_SIZE_HINT, options->size_hint);
@@ -138,6 +136,14 @@ brs_ext_result_t brs_ext_set_decompressor_options(
138
136
 
139
137
  // -- exports --
140
138
 
139
+ #define BROTLI_MIN_NPOSTFIX 0
140
+ #define BROTLI_MAX_NPOSTFIX 3
141
+
142
+ #define BROTLI_MIN_NDIRECT 0
143
+ #define BROTLI_NDIRECT_NPOSTFIX_STEP_BASE 1
144
+ #define BROTLI_NDIRECT_NPOSTFIX_MAX_BASE 0xf
145
+ #define BROTLI_MAX_NDIRECT (BROTLI_NDIRECT_NPOSTFIX_MAX_BASE << BROTLI_MAX_NPOSTFIX)
146
+
141
147
  #define EXPORT_PARAM_BOUNDS(module, param, name) \
142
148
  rb_define_const(module, "MIN_" name, UINT2NUM(BROTLI_MIN_##param)); \
143
149
  rb_define_const(module, "MAX_" name, UINT2NUM(BROTLI_MAX_##param));
@@ -151,7 +157,12 @@ void brs_ext_option_exports(VALUE root_module)
151
157
  rb_define_const(module, "MODES", modes);
152
158
  RB_GC_GUARD(modes);
153
159
 
154
- EXPORT_PARAM_BOUNDS(module, QUALITY, "QUALITY");
155
- EXPORT_PARAM_BOUNDS(module, WINDOW_BITS, "LGWIN");
156
160
  EXPORT_PARAM_BOUNDS(module, INPUT_BLOCK_BITS, "LGBLOCK");
161
+ EXPORT_PARAM_BOUNDS(module, WINDOW_BITS, "LGWIN");
162
+ EXPORT_PARAM_BOUNDS(module, QUALITY, "QUALITY");
163
+ EXPORT_PARAM_BOUNDS(module, NPOSTFIX, "NPOSTFIX");
164
+ EXPORT_PARAM_BOUNDS(module, NDIRECT, "NDIRECT");
165
+
166
+ rb_define_const(module, "NDIRECT_NPOSTFIX_STEP_BASE", UINT2NUM(BROTLI_NDIRECT_NPOSTFIX_STEP_BASE));
167
+ rb_define_const(module, "NDIRECT_NPOSTFIX_MAX_BASE", UINT2NUM(BROTLI_NDIRECT_NPOSTFIX_MAX_BASE));
157
168
  }
data/ext/brs_ext/option.h CHANGED
@@ -37,6 +37,8 @@ typedef struct
37
37
  brs_ext_option_t quality;
38
38
  brs_ext_option_t lgwin;
39
39
  brs_ext_option_t lgblock;
40
+ brs_ext_option_t npostfix;
41
+ brs_ext_option_t ndirect;
40
42
  brs_ext_option_t disable_literal_context_modeling;
41
43
  brs_ext_option_t size_hint;
42
44
  brs_ext_option_t large_window;
@@ -60,6 +62,8 @@ void brs_ext_resolve_option(VALUE options, brs_ext_option_t* option, brs_ext_opt
60
62
  BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_UINT, quality); \
61
63
  BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_UINT, lgwin); \
62
64
  BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_UINT, lgblock); \
65
+ BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_UINT, npostfix); \
66
+ BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_UINT, ndirect); \
63
67
  BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_BOOL, disable_literal_context_modeling); \
64
68
  BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_UINT, size_hint); \
65
69
  BRS_EXT_RESOLVE_OPTION(options, compressor_options, BRS_EXT_OPTION_TYPE_BOOL, large_window);
@@ -3,14 +3,12 @@
3
3
 
4
4
  #include "brs_ext/stream/compressor.h"
5
5
 
6
- #include <brotli/encode.h>
7
6
  #include <brotli/types.h>
8
7
 
9
8
  #include "brs_ext/buffer.h"
10
9
  #include "brs_ext/error.h"
11
10
  #include "brs_ext/gvl.h"
12
11
  #include "brs_ext/option.h"
13
- #include "ruby.h"
14
12
 
15
13
  // -- initialization --
16
14
 
@@ -3,13 +3,10 @@
3
3
 
4
4
  #include "brs_ext/stream/decompressor.h"
5
5
 
6
- #include <brotli/decode.h>
7
-
8
6
  #include "brs_ext/buffer.h"
9
7
  #include "brs_ext/error.h"
10
8
  #include "brs_ext/gvl.h"
11
9
  #include "brs_ext/option.h"
12
- #include "ruby.h"
13
10
 
14
11
  // -- initialization --
15
12
 
data/ext/brs_ext/string.c CHANGED
@@ -13,7 +13,6 @@
13
13
  #include "brs_ext/gvl.h"
14
14
  #include "brs_ext/macro.h"
15
15
  #include "brs_ext/option.h"
16
- #include "ruby.h"
17
16
 
18
17
  // -- buffer --
19
18
 
data/ext/extconf.rb CHANGED
@@ -5,17 +5,93 @@ require "mkmf"
5
5
 
6
6
  have_func "rb_thread_call_without_gvl", "ruby/thread.h"
7
7
 
8
- def require_header(name, types = [])
8
+ def require_header(name, constants: [], macroses: [], types: [])
9
9
  abort "Can't find #{name} header" unless find_header name
10
10
 
11
+ constants.each do |constant|
12
+ abort "Can't find #{constant} constant in #{name} header" unless have_const constant, name
13
+ end
14
+
15
+ macroses.each do |macro|
16
+ abort "Can't find #{macro} macro in #{name} header" unless have_macro macro, name
17
+ end
18
+
11
19
  types.each do |type|
12
20
  abort "Can't find #{type} type in #{name} header" unless find_type type, nil, name
13
21
  end
14
22
  end
15
23
 
16
- require_header "brotli/types.h", %w[BROTLI_BOOL]
17
- require_header "brotli/encode.h", ["BrotliEncoderState *", "BrotliEncoderMode"]
18
- require_header "brotli/decode.h", ["BrotliDecoderState *", "BrotliDecoderResult", "BrotliDecoderErrorCode"]
24
+ require_header(
25
+ "brotli/decode.h",
26
+ :constants => %w[
27
+ BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES
28
+ BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP
29
+ BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES
30
+ BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1
31
+ BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2
32
+ BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS
33
+ BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1
34
+ BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2
35
+ BROTLI_DECODER_ERROR_FORMAT_CL_SPACE
36
+ BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT
37
+ BROTLI_DECODER_ERROR_FORMAT_DICTIONARY
38
+ BROTLI_DECODER_ERROR_FORMAT_DISTANCE
39
+ BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE
40
+ BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE
41
+ BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE
42
+ BROTLI_DECODER_ERROR_FORMAT_PADDING_1
43
+ BROTLI_DECODER_ERROR_FORMAT_PADDING_2
44
+ BROTLI_DECODER_ERROR_FORMAT_RESERVED
45
+ BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET
46
+ BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME
47
+ BROTLI_DECODER_ERROR_FORMAT_TRANSFORM
48
+ BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS
49
+ BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION
50
+ BROTLI_DECODER_PARAM_LARGE_WINDOW
51
+ BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT
52
+ BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT
53
+ BROTLI_DECODER_RESULT_SUCCESS
54
+ ],
55
+ :types => [
56
+ "BrotliDecoderErrorCode",
57
+ "BrotliDecoderResult",
58
+ "BrotliDecoderState *"
59
+ ]
60
+ )
61
+ require_header(
62
+ "brotli/encode.h",
63
+ :constants => %w[
64
+ BROTLI_MAX_INPUT_BLOCK_BITS
65
+ BROTLI_MAX_QUALITY
66
+ BROTLI_MAX_WINDOW_BITS
67
+ BROTLI_MIN_INPUT_BLOCK_BITS
68
+ BROTLI_MIN_QUALITY
69
+ BROTLI_MIN_WINDOW_BITS
70
+ BROTLI_MODE_FONT
71
+ BROTLI_MODE_GENERIC
72
+ BROTLI_MODE_TEXT
73
+ BROTLI_OPERATION_FINISH
74
+ BROTLI_OPERATION_FLUSH
75
+ BROTLI_OPERATION_PROCESS
76
+ BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING
77
+ BROTLI_PARAM_LARGE_WINDOW
78
+ BROTLI_PARAM_LGBLOCK
79
+ BROTLI_PARAM_LGWIN
80
+ BROTLI_PARAM_NDIRECT
81
+ BROTLI_PARAM_NPOSTFIX
82
+ BROTLI_PARAM_MODE
83
+ BROTLI_PARAM_QUALITY
84
+ BROTLI_PARAM_SIZE_HINT
85
+ ],
86
+ :types => [
87
+ "BrotliEncoderMode",
88
+ "BrotliEncoderState *"
89
+ ]
90
+ )
91
+ require_header(
92
+ "brotli/types.h",
93
+ :macroses => %w[BROTLI_BOOL]
94
+ )
19
95
 
20
96
  def require_library(name, functions)
21
97
  functions.each do |function|
@@ -26,12 +102,13 @@ end
26
102
  require_library(
27
103
  "brotlienc",
28
104
  %w[
29
- BrotliEncoderCreateInstance
30
- BrotliEncoderSetParameter
31
105
  BrotliEncoderCompressStream
106
+ BrotliEncoderCreateInstance
107
+ BrotliEncoderDestroyInstance
32
108
  BrotliEncoderHasMoreOutput
33
109
  BrotliEncoderIsFinished
34
- BrotliEncoderDestroyInstance
110
+ BrotliEncoderSetParameter
111
+ BrotliEncoderVersion
35
112
  ]
36
113
  )
37
114
 
@@ -39,10 +116,11 @@ require_library(
39
116
  "brotlidec",
40
117
  %w[
41
118
  BrotliDecoderCreateInstance
42
- BrotliDecoderSetParameter
43
119
  BrotliDecoderDecompressStream
44
- BrotliDecoderGetErrorCode
45
120
  BrotliDecoderDestroyInstance
121
+ BrotliDecoderGetErrorCode
122
+ BrotliDecoderSetParameter
123
+ BrotliDecoderVersion
46
124
  ]
47
125
  )
48
126
 
data/lib/brs/option.rb CHANGED
@@ -16,6 +16,8 @@ module BRS
16
16
  :quality => nil,
17
17
  :lgwin => nil,
18
18
  :lgblock => nil,
19
+ :npostfix => nil,
20
+ :ndirect => nil,
19
21
  :disable_literal_context_modeling => nil,
20
22
  :large_window => nil
21
23
  }
@@ -65,6 +67,24 @@ module BRS
65
67
  raise ValidateError, "invalid lgblock" if lgblock < MIN_LGBLOCK || lgblock > MAX_LGBLOCK
66
68
  end
67
69
 
70
+ npostfix = options[:npostfix]
71
+ unless npostfix.nil?
72
+ Validation.validate_not_negative_integer npostfix
73
+ raise ValidateError, "invalid npostfix" if npostfix < MIN_NPOSTFIX || npostfix > MAX_NPOSTFIX
74
+ end
75
+
76
+ ndirect = options[:ndirect]
77
+ unless ndirect.nil?
78
+ Validation.validate_not_negative_integer ndirect
79
+ raise ValidateError, "invalid ndirect" if ndirect < MIN_NDIRECT || ndirect > MAX_NDIRECT
80
+
81
+ raise ValidateError, "invalid ndirect" if
82
+ !npostfix.nil? && (
83
+ (ndirect - MIN_NDIRECT) % (NDIRECT_NPOSTFIX_STEP_BASE << npostfix) != 0 ||
84
+ (ndirect - MIN_NDIRECT) > (NDIRECT_NPOSTFIX_MAX_BASE << npostfix)
85
+ )
86
+ end
87
+
68
88
  disable_literal_context_modeling = options[:disable_literal_context_modeling]
69
89
  Validation.validate_bool disable_literal_context_modeling unless disable_literal_context_modeling.nil?
70
90
 
data/lib/brs/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # Copyright (c) 2019 AUTHORS, MIT License.
3
3
 
4
4
  module BRS
5
- VERSION = "1.2.1".freeze
5
+ VERSION = "1.3.0".freeze
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-brs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Aladjev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-04 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: codecov
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.3'
75
+ version: '1.4'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.3'
82
+ version: '1.4'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: parallel
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -128,28 +128,28 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '1.16'
131
+ version: '1.22'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '1.16'
138
+ version: '1.22'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rubocop-minitest
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.12'
145
+ version: '0.15'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.12'
152
+ version: '0.15'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rubocop-performance
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0.5'
173
+ version: '0.6'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0.5'
180
+ version: '0.6'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: simplecov
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -257,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
257
  - !ruby/object:Gem::Version
258
258
  version: '0'
259
259
  requirements: []
260
- rubygems_version: 3.2.15
260
+ rubygems_version: 3.2.22
261
261
  signing_key:
262
262
  specification_version: 4
263
263
  summary: Ruby bindings for brotli library.