ruby-lzws 1.3.1 → 1.4.2

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: 72fd9e1b55088bd5ba7a6d57edc857322ede1d9764b6b2eb3aeafe85193605ad
4
- data.tar.gz: 2f08eb4371bef83f138233ab62a5a54b5fa01f5a2904d6d1f64ee00fb9aebd1c
3
+ metadata.gz: 0e48df46a2a929a961d72881cf20a4c087769576f3208cc2dee02a31b3d1f00a
4
+ data.tar.gz: f5fe984d47acaa03d91ca5f7d19a5e87c49b029aea37323fbd2e2c72a5f57491
5
5
  SHA512:
6
- metadata.gz: beff1dd2f2016bb9660f26bd62f3eaf1fdab8af9e70c24a65bfda4090190c4c02ef66ff943346b9483f5b588ceff6b5964f33d32dfc15e017b3e7964877ce7f9
7
- data.tar.gz: a5c0074902b21193725bb0f215cef8ebaad55b3a029e20d0d0b54c0382e527a86c3460feca7a36ed7754b96254497eacb4a08900a425c7bfda70fa44153e60b6
6
+ metadata.gz: 3ea80697e381e1a350bb49c0c267791b41783e09ccfca10348ae1c02afa090de7930d06f1a2ca8fd6ff81929f86f34ff6bf46d9b51ac83fe4dc09c558227385c
7
+ data.tar.gz: 7c6843ea9729056bea5bd149b31d25409e9f5d225b43e12f6305353bf5a4b820eb94104e192d02dda454cccc0adf684e17dc953719184a7b5a846570f9575225
data/README.md CHANGED
@@ -8,7 +8,9 @@ See [lzws library](https://github.com/andrew-aladev/lzws).
8
8
 
9
9
  ## Installation
10
10
 
11
- Please install lzws library first, use latest 1.4.0+ version.
11
+ Operating systems: GNU/Linux, FreeBSD, OSX, Windows (MinGW).
12
+
13
+ Dependencies: [lzws](https://github.com/andrew-aladev/lzws) 1.4.0+ version.
12
14
 
13
15
  ```sh
14
16
  gem install ruby-lzws
@@ -354,10 +356,6 @@ You should lock all shared data between threads.
354
356
  For example: you should not use same compressor/decompressor inside multiple threads.
355
357
  Please verify that you are using each processor inside single thread at the same time.
356
358
 
357
- ## Operating systems
358
-
359
- GNU/Linux, FreeBSD, OSX, Windows (MinGW).
360
-
361
359
  ## CI
362
360
 
363
361
  Please visit [scripts/test-images](scripts/test-images).
data/ext/extconf.rb CHANGED
@@ -5,23 +5,94 @@ 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: [], variables: [])
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
22
+
23
+ variables.each do |variable|
24
+ abort "Can't find #{variable} variable in #{name} header" unless have_var variable, name
25
+ end
14
26
  end
15
27
 
16
- require_header "lzws/buffer.h"
17
- require_header "lzws/common.h", %w[lzws_result_t]
18
- require_header "lzws/compressor/common.h", %w[lzws_compressor_options_t]
28
+ require_header(
29
+ "lzws/buffer.h",
30
+ :macroses => %w[
31
+ LZWS_DEFAULT_DESTINATION_BUFFER_LENGTH_FOR_COMPRESSOR
32
+ LZWS_DEFAULT_DESTINATION_BUFFER_LENGTH_FOR_DECOMPRESSOR
33
+ LZWS_DEFAULT_SOURCE_BUFFER_LENGTH_FOR_COMPRESSOR
34
+ LZWS_DEFAULT_SOURCE_BUFFER_LENGTH_FOR_DECOMPRESSOR
35
+ ]
36
+ )
37
+ require_header(
38
+ "lzws/common.h",
39
+ :constants => %w[
40
+ LZWS_BIGGEST_MAX_CODE_BIT_LENGTH
41
+ LZWS_LOWEST_MAX_CODE_BIT_LENGTH
42
+ ],
43
+ :types => %w[
44
+ lzws_byte_fast_t
45
+ lzws_result_t
46
+ ]
47
+ )
48
+ require_header(
49
+ "lzws/compressor/common.h",
50
+ :constants => %w[
51
+ LZWS_COMPRESSOR_ALLOCATE_FAILED
52
+ LZWS_COMPRESSOR_INVALID_MAX_CODE_BIT_LENGTH
53
+ LZWS_COMPRESSOR_NEEDS_MORE_DESTINATION
54
+ ],
55
+ :types => %w[lzws_compressor_options_t],
56
+ :variables => %w[LZWS_COMPRESSOR_DEFAULT_OPTIONS]
57
+ )
19
58
  require_header "lzws/compressor/main.h"
20
- require_header "lzws/compressor/state.h", %w[lzws_compressor_state_t]
21
- require_header "lzws/decompressor/common.h", %w[lzws_decompressor_options_t]
59
+ require_header(
60
+ "lzws/compressor/state.h",
61
+ :types => %w[lzws_compressor_state_t]
62
+ )
63
+ require_header(
64
+ "lzws/config.h",
65
+ :macroses => %w[LZWS_VERSION]
66
+ )
67
+ require_header(
68
+ "lzws/decompressor/common.h",
69
+ :constants => %w[
70
+ LZWS_DECOMPRESSOR_ALLOCATE_FAILED
71
+ LZWS_DECOMPRESSOR_CORRUPTED_SOURCE
72
+ LZWS_DECOMPRESSOR_INVALID_MAGIC_HEADER
73
+ LZWS_DECOMPRESSOR_INVALID_MAX_CODE_BIT_LENGTH
74
+ LZWS_DECOMPRESSOR_NEEDS_MORE_DESTINATION
75
+ ],
76
+ :types => %w[lzws_decompressor_options_t],
77
+ :variables => %w[LZWS_DECOMPRESSOR_DEFAULT_OPTIONS]
78
+ )
22
79
  require_header "lzws/decompressor/main.h"
23
- require_header "lzws/decompressor/state.h", %w[lzws_decompressor_state_t]
24
- require_header "lzws/file.h"
80
+ require_header(
81
+ "lzws/decompressor/state.h",
82
+ :types => %w[lzws_decompressor_state_t]
83
+ )
84
+ require_header(
85
+ "lzws/file.h",
86
+ :constants => %w[
87
+ LZWS_FILE_ALLOCATE_FAILED
88
+ LZWS_FILE_DECOMPRESSOR_CORRUPTED_SOURCE
89
+ LZWS_FILE_NOT_ENOUGH_DESTINATION_BUFFER
90
+ LZWS_FILE_NOT_ENOUGH_SOURCE_BUFFER
91
+ LZWS_FILE_READ_FAILED
92
+ LZWS_FILE_VALIDATE_FAILED
93
+ LZWS_FILE_WRITE_FAILED
94
+ ]
95
+ )
25
96
 
26
97
  def require_library(name, functions)
27
98
  functions.each do |function|
@@ -32,22 +103,19 @@ end
32
103
  require_library(
33
104
  "lzws",
34
105
  %w[
106
+ lzws_compress
107
+ lzws_compress_file
108
+ lzws_compressor_finish
109
+ lzws_compressor_free_state
110
+ lzws_compressor_get_initial_state
35
111
  lzws_create_source_buffer_for_compressor
36
- lzws_create_destination_buffer_for_compressor
37
112
  lzws_create_source_buffer_for_decompressor
113
+ lzws_create_destination_buffer_for_compressor
38
114
  lzws_create_destination_buffer_for_decompressor
39
-
40
- lzws_compressor_get_initial_state
41
- lzws_compressor_free_state
42
- lzws_compress
43
- lzws_compressor_finish
44
-
45
- lzws_decompressor_get_initial_state
46
- lzws_decompressor_free_state
47
115
  lzws_decompress
48
-
49
- lzws_compress_file
50
116
  lzws_decompress_file
117
+ lzws_decompressor_free_state
118
+ lzws_decompressor_get_initial_state
51
119
  ]
52
120
  )
53
121
 
@@ -5,8 +5,6 @@
5
5
 
6
6
  #include <lzws/buffer.h>
7
7
 
8
- #include "ruby.h"
9
-
10
8
  VALUE lzws_ext_create_string_buffer(VALUE length)
11
9
  {
12
10
  return rb_str_new(NULL, NUM2SIZET(length));
data/ext/lzws_ext/error.c CHANGED
@@ -3,8 +3,6 @@
3
3
 
4
4
  #include "lzws_ext/error.h"
5
5
 
6
- #include "ruby.h"
7
-
8
6
  static inline NORETURN(void raise_error(const char* name, const char* description))
9
7
  {
10
8
  VALUE module = rb_define_module(LZWS_EXT_MODULE_NAME);
data/ext/lzws_ext/gvl.h CHANGED
@@ -4,7 +4,7 @@
4
4
  #if !defined(LZWS_EXT_GVL_H)
5
5
  #define LZWS_EXT_GVL_H
6
6
 
7
- #ifdef HAVE_RB_THREAD_CALL_WITHOUT_GVL
7
+ #if defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL)
8
8
 
9
9
  #include "ruby/thread.h"
10
10
 
@@ -19,6 +19,6 @@
19
19
 
20
20
  #define LZWS_EXT_GVL_WRAP(_gvl, function, data) function((void*) data);
21
21
 
22
- #endif
22
+ #endif // HAVE_RB_THREAD_CALL_WITHOUT_GVL
23
23
 
24
24
  #endif // LZWS_EXT_GVL_H
data/ext/lzws_ext/io.c CHANGED
@@ -9,7 +9,6 @@
9
9
  #include "lzws_ext/gvl.h"
10
10
  #include "lzws_ext/macro.h"
11
11
  #include "lzws_ext/option.h"
12
- #include "ruby.h"
13
12
  #include "ruby/io.h"
14
13
 
15
14
  // -- utils --
data/ext/lzws_ext/macro.h CHANGED
@@ -8,6 +8,6 @@
8
8
  #define LZWS_EXT_UNUSED(x) x __attribute__((__unused__))
9
9
  #else
10
10
  #define LZWS_EXT_UNUSED(x) x
11
- #endif
11
+ #endif // __GNUC__
12
12
 
13
13
  #endif // LZWS_EXT_MACRO_H
data/ext/lzws_ext/main.c CHANGED
@@ -1,13 +1,14 @@
1
1
  // Ruby bindings for lzws library.
2
2
  // Copyright (c) 2019 AUTHORS, MIT License.
3
3
 
4
+ #include <lzws/config.h>
5
+
4
6
  #include "lzws_ext/buffer.h"
5
7
  #include "lzws_ext/io.h"
6
8
  #include "lzws_ext/option.h"
7
9
  #include "lzws_ext/stream/compressor.h"
8
10
  #include "lzws_ext/stream/decompressor.h"
9
11
  #include "lzws_ext/string.h"
10
- #include "ruby.h"
11
12
 
12
13
  void Init_lzws_ext()
13
14
  {
@@ -19,4 +20,7 @@ void Init_lzws_ext()
19
20
  lzws_ext_compressor_exports(root_module);
20
21
  lzws_ext_decompressor_exports(root_module);
21
22
  lzws_ext_string_exports(root_module);
23
+
24
+ VALUE version = rb_str_new2(LZWS_VERSION);
25
+ rb_define_const(root_module, "LIBRARY_VERSION", rb_obj_freeze(version));
22
26
  }
@@ -4,7 +4,6 @@
4
4
  #include "lzws_ext/option.h"
5
5
 
6
6
  #include "lzws_ext/error.h"
7
- #include "ruby.h"
8
7
 
9
8
  // -- values --
10
9
 
@@ -5,12 +5,10 @@
5
5
 
6
6
  #include <lzws/buffer.h>
7
7
  #include <lzws/compressor/main.h>
8
- #include <lzws/compressor/state.h>
9
8
 
10
9
  #include "lzws_ext/error.h"
11
10
  #include "lzws_ext/gvl.h"
12
11
  #include "lzws_ext/option.h"
13
- #include "ruby.h"
14
12
 
15
13
  // -- initialization --
16
14
 
@@ -5,12 +5,10 @@
5
5
 
6
6
  #include <lzws/buffer.h>
7
7
  #include <lzws/decompressor/main.h>
8
- #include <lzws/decompressor/state.h>
9
8
 
10
9
  #include "lzws_ext/error.h"
11
10
  #include "lzws_ext/gvl.h"
12
11
  #include "lzws_ext/option.h"
13
- #include "ruby.h"
14
12
 
15
13
  // -- initialization --
16
14
 
@@ -15,7 +15,6 @@
15
15
  #include "lzws_ext/gvl.h"
16
16
  #include "lzws_ext/macro.h"
17
17
  #include "lzws_ext/option.h"
18
- #include "ruby.h"
19
18
 
20
19
  // -- buffer --
21
20
 
@@ -24,9 +24,7 @@ module LZWS
24
24
 
25
25
  def initialize(io, options = {})
26
26
  @raw_stream = create_raw_stream
27
-
28
- Validation.validate_io io
29
- @io = io
27
+ @io = io
30
28
 
31
29
  @stat = Stat.new @io.stat if @io.respond_to? :stat
32
30
 
@@ -135,13 +133,19 @@ module LZWS
135
133
  end
136
134
 
137
135
  def close
138
- @io.close
136
+ @io.close if @io.respond_to? :close
139
137
 
140
138
  nil
141
139
  end
142
140
 
143
141
  def closed?
144
- @raw_stream.closed? && @io.closed?
142
+ return false unless @raw_stream.closed?
143
+
144
+ if @io.respond_to? :closed
145
+ @io.closed?
146
+ else
147
+ true
148
+ end
145
149
  end
146
150
 
147
151
  def to_io
@@ -54,6 +54,9 @@ module LZWS
54
54
  Validation.validate_not_negative_integer bytes_to_read unless bytes_to_read.nil?
55
55
  Validation.validate_string out_buffer unless out_buffer.nil?
56
56
 
57
+ raise ValidateError, "io should be responsible to read and eof" unless
58
+ @io.respond_to?(:read) && @io.respond_to?(:eof?)
59
+
57
60
  unless bytes_to_read.nil?
58
61
  return ::String.new :encoding => ::Encoding::BINARY if bytes_to_read.zero?
59
62
  return nil if eof?
@@ -86,16 +89,22 @@ module LZWS
86
89
  end
87
90
 
88
91
  def eof?
92
+ raise ValidateError, "io should be responsible to eof" unless @io.respond_to? :eof?
93
+
89
94
  empty? && @io.eof?
90
95
  end
91
96
 
92
97
  # -- asynchronous --
93
98
 
94
99
  def readpartial(bytes_to_read, out_buffer = nil)
100
+ raise ValidateError, "io should be responsible to readpartial" unless @io.respond_to? :readpartial
101
+
95
102
  read_more_nonblock(bytes_to_read, out_buffer) { @io.readpartial @source_buffer_length }
96
103
  end
97
104
 
98
105
  def read_nonblock(bytes_to_read, out_buffer = nil, *options)
106
+ raise ValidateError, "io should be responsible to read nonblock" unless @io.respond_to? :read_nonblock
107
+
99
108
  read_more_nonblock(bytes_to_read, out_buffer) { @io.read_nonblock(@source_buffer_length, *options) }
100
109
  end
101
110
 
@@ -23,6 +23,8 @@ module LZWS
23
23
  # -- synchronous --
24
24
 
25
25
  def write(*objects)
26
+ validate_write
27
+
26
28
  write_remaining_buffer
27
29
 
28
30
  bytes_written = 0
@@ -38,20 +40,26 @@ module LZWS
38
40
  end
39
41
 
40
42
  def flush
43
+ validate_write
44
+
41
45
  finish :flush
42
46
 
43
- @io.flush
47
+ @io.flush if @io.respond_to? :flush
44
48
 
45
49
  self
46
50
  end
47
51
 
48
52
  def rewind
53
+ validate_write
54
+
49
55
  finish :close
50
56
 
51
57
  super
52
58
  end
53
59
 
54
60
  def close
61
+ validate_write
62
+
55
63
  finish :close
56
64
 
57
65
  super
@@ -75,6 +83,10 @@ module LZWS
75
83
  @raw_stream.send(method_name, *args) { |portion| @io.write portion }
76
84
  end
77
85
 
86
+ def validate_write
87
+ raise ValidateError, "io should be responsible to write" unless @io.respond_to? :write
88
+ end
89
+
78
90
  # -- asynchronous --
79
91
 
80
92
  # IO write nonblock can raise wait writable error.
@@ -83,6 +95,8 @@ module LZWS
83
95
  # So we have to accept content after processing IO write nonblock.
84
96
  # It means that first write nonblock won't call IO write nonblock.
85
97
  def write_nonblock(object, *options)
98
+ validate_write_nonblock
99
+
86
100
  return 0 unless write_remaining_buffer_nonblock(*options)
87
101
 
88
102
  source = transcode object.to_s
@@ -93,14 +107,18 @@ module LZWS
93
107
  end
94
108
 
95
109
  def flush_nonblock(*options)
110
+ validate_write_nonblock
111
+
96
112
  return false unless finish_nonblock :flush, *options
97
113
 
98
- @io.flush
114
+ @io.flush if @io.respond_to? :flush
99
115
 
100
116
  true
101
117
  end
102
118
 
103
119
  def rewind_nonblock(*options)
120
+ validate_write_nonblock
121
+
104
122
  return false unless finish_nonblock :close, *options
105
123
 
106
124
  method(:rewind).super_method.call
@@ -109,6 +127,8 @@ module LZWS
109
127
  end
110
128
 
111
129
  def close_nonblock(*options)
130
+ validate_write_nonblock
131
+
112
132
  return false unless finish_nonblock :close, *options
113
133
 
114
134
  method(:close).super_method.call
@@ -139,6 +159,10 @@ module LZWS
139
159
  @raw_stream.send(method_name, *args) { |portion| @buffer << portion }
140
160
  end
141
161
 
162
+ def validate_write_nonblock
163
+ raise ValidateError, "io should be responsible to write nonblock" unless @io.respond_to? :write_nonblock
164
+ end
165
+
142
166
  # -- common --
143
167
 
144
168
  protected def transcode(data)
@@ -5,41 +5,20 @@ require_relative "error"
5
5
 
6
6
  module LZWS
7
7
  module Validation
8
- IO_METHODS = %i[
9
- read
10
- write
11
- readpartial
12
- read_nonblock
13
- write_nonblock
14
- eof?
15
- flush
16
- close
17
- closed?
18
- ]
19
- .freeze
20
-
21
8
  def self.validate_bool(value)
22
9
  raise ValidateError, "invalid bool" unless value.is_a?(::TrueClass) || value.is_a?(::FalseClass)
23
10
  end
24
11
 
25
- def self.validate_positive_integer(value)
26
- raise ValidateError, "invalid positive integer" unless value.is_a?(::Integer) && value.positive?
12
+ def self.validate_hash(value)
13
+ raise ValidateError, "invalid hash" unless value.is_a? ::Hash
27
14
  end
28
15
 
29
16
  def self.validate_not_negative_integer(value)
30
17
  raise ValidateError, "invalid not negative integer" unless value.is_a?(::Integer) && value >= 0
31
18
  end
32
19
 
33
- def self.validate_string(value)
34
- raise ValidateError, "invalid string" unless value.is_a? ::String
35
- end
36
-
37
- def self.validate_io(value)
38
- raise ValidateError, "invalid io" unless IO_METHODS.all? { |method| value.respond_to? method }
39
- end
40
-
41
- def self.validate_hash(value)
42
- raise ValidateError, "invalid hash" unless value.is_a? ::Hash
20
+ def self.validate_positive_integer(value)
21
+ raise ValidateError, "invalid positive integer" unless value.is_a?(::Integer) && value.positive?
43
22
  end
44
23
 
45
24
  def self.validate_proc(value)
@@ -47,5 +26,9 @@ module LZWS
47
26
  raise ValidateError, "invalid proc"
48
27
  end
49
28
  end
29
+
30
+ def self.validate_string(value)
31
+ raise ValidateError, "invalid string" unless value.is_a? ::String
32
+ end
50
33
  end
51
34
  end
data/lib/lzws/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # Copyright (c) 2019 AUTHORS, MIT License.
3
3
 
4
4
  module LZWS
5
- VERSION = "1.3.1".freeze
5
+ VERSION = "1.4.2".freeze
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lzws
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.2
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: 2022-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: codecov
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '5.14'
61
+ version: '5.15'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '5.14'
68
+ version: '5.15'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ocg
71
71
  requirement: !ruby/object:Gem::Requirement
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,56 +128,56 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '1.16'
131
+ version: '1.26'
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.26'
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.17'
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.17'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rubocop-performance
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '1.11'
159
+ version: '1.13'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '1.11'
166
+ version: '1.13'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rubocop-rake
169
169
  requirement: !ruby/object:Gem::Requirement
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
@@ -241,7 +241,8 @@ files:
241
241
  homepage: https://github.com/andrew-aladev/ruby-lzws
242
242
  licenses:
243
243
  - MIT
244
- metadata: {}
244
+ metadata:
245
+ rubygems_mfa_required: 'true'
245
246
  post_install_message:
246
247
  rdoc_options: []
247
248
  require_paths:
@@ -257,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
258
  - !ruby/object:Gem::Version
258
259
  version: '0'
259
260
  requirements: []
260
- rubygems_version: 3.2.15
261
+ rubygems_version: 3.3.7
261
262
  signing_key:
262
263
  specification_version: 4
263
264
  summary: Ruby bindings for lzws library (compatible with UNIX compress).