byteboozer2 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9c51052da3e26265fd79fd43f0105eb84e9c05da
4
- data.tar.gz: ec7cd1ecba923b64e64b20be49d4836ad1b12edb
2
+ SHA256:
3
+ metadata.gz: dbf1aef43636f8e97d4f5455ab686b26ec9178015d72691a264e7c347b870f40
4
+ data.tar.gz: 41a54e4535336cb26a059f1f14bb621a42347161031ead60b4f8b10613cd15ed
5
5
  SHA512:
6
- metadata.gz: bc2f4a3f06fa0a7885066c4a88a9f934904c35d5f29699d31cd1bc8f69520d3d4b3474285fbb47978611dbbe4cd82d60ac2ec1e1bd0daeccce374d1908b2b483
7
- data.tar.gz: c72fbf4aab4a1866dd39eec54e89c23fce574a02cf69ca0c5f44a9c60fafc34ebf7eba00ce258d0a3a3f7664bc79ed0d95572cf105a1cc7a271e8a521b5641f3
6
+ metadata.gz: 7b77297af1967a4a85a8ed5e808741ba525010839747f6b18f5826fa8fc7adbe320ce6a30b69e75cefb55d746dc4d966691a25e7a75f3226ed36cf3a1b31009b
7
+ data.tar.gz: 67d94857a6d068e36b2df2f8da539d56f52308ba1e2045b4124d952b201087bed218dd26c6e31286650754f2d40536526ea540ffafc39c6a1b89100640d9b3c8
@@ -1,3 +1,13 @@
1
+ Layout/EmptyLinesAroundAttributeAccessor:
2
+ Enabled: true
3
+ Layout/SpaceAroundMethodCallOperator:
4
+ Enabled: true
5
+ Lint/DeprecatedOpenSSLConstant:
6
+ Enabled: true
7
+ Lint/RaiseException:
8
+ Enabled: true
9
+ Lint/StructNewOverride:
10
+ Enabled: true
1
11
  Metrics/AbcSize:
2
12
  Max: 174.1
3
13
  Metrics/BlockLength:
@@ -14,5 +24,19 @@ Metrics/MethodLength:
14
24
  Max: 116
15
25
  Metrics/PerceivedComplexity:
16
26
  Max: 48
27
+ Naming/MethodParameterName:
28
+ AllowedNames:
29
+ - b
30
+ - o
31
+ Style/ExponentialNotation:
32
+ Enabled: true
33
+ Style/HashEachMethods:
34
+ Enabled: true
35
+ Style/HashTransformKeys:
36
+ Enabled: true
37
+ Style/HashTransformValues:
38
+ Enabled: true
39
+ Style/SlicingWithRange:
40
+ Enabled: true
17
41
  Style/ZeroLengthPredicate:
18
- Enabled: false
42
+ Enabled: true
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
  gemspec
@@ -1,56 +1,61 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- byteboozer2 (0.0.2)
5
- activemodel (~> 5.1.4)
4
+ byteboozer2 (0.0.3)
5
+ activemodel (~> 6.0.3.1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (5.1.4)
11
- activesupport (= 5.1.4)
12
- activesupport (5.1.4)
10
+ activemodel (6.0.3.1)
11
+ activesupport (= 6.0.3.1)
12
+ activesupport (6.0.3.1)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (~> 0.7)
14
+ i18n (>= 0.7, < 2)
15
15
  minitest (~> 5.1)
16
16
  tzinfo (~> 1.1)
17
- ast (2.3.0)
17
+ zeitwerk (~> 2.2, >= 2.2.2)
18
+ ast (2.4.0)
18
19
  awesome_print (1.8.0)
19
- concurrent-ruby (1.0.5)
20
- i18n (0.9.1)
20
+ concurrent-ruby (1.1.6)
21
+ i18n (1.8.2)
21
22
  concurrent-ruby (~> 1.0)
22
- json (2.1.0)
23
- minitest (5.10.3)
24
- parallel (1.12.0)
25
- parser (2.4.0.2)
26
- ast (~> 2.3)
27
- powerpack (0.1.1)
23
+ json (2.3.0)
24
+ minitest (5.14.1)
25
+ parallel (1.19.1)
26
+ parser (2.7.1.3)
27
+ ast (~> 2.4.0)
28
28
  rainbow (3.0.0)
29
- rake (12.3.0)
30
- rubocop (0.52.0)
29
+ rake (13.0.1)
30
+ rexml (3.2.4)
31
+ rubocop (0.84.0)
31
32
  parallel (~> 1.10)
32
- parser (>= 2.4.0.2, < 3.0)
33
- powerpack (~> 0.1)
33
+ parser (>= 2.7.0.1)
34
34
  rainbow (>= 2.2.2, < 4.0)
35
+ rexml
36
+ rubocop-ast (>= 0.0.3)
35
37
  ruby-progressbar (~> 1.7)
36
- unicode-display_width (~> 1.0, >= 1.0.1)
37
- ruby-progressbar (1.9.0)
38
+ unicode-display_width (>= 1.4.0, < 2.0)
39
+ rubocop-ast (0.0.3)
40
+ parser (>= 2.7.0.1)
41
+ ruby-progressbar (1.10.1)
38
42
  thread_safe (0.3.6)
39
- tzinfo (1.2.4)
43
+ tzinfo (1.2.7)
40
44
  thread_safe (~> 0.1)
41
- unicode-display_width (1.3.0)
45
+ unicode-display_width (1.7.0)
46
+ zeitwerk (2.3.0)
42
47
 
43
48
  PLATFORMS
44
49
  ruby
45
50
 
46
51
  DEPENDENCIES
47
52
  awesome_print (~> 1.8.0)
48
- bundler (~> 1.16.0)
53
+ bundler (~> 2.1.4)
49
54
  byteboozer2!
50
- json (~> 2.1.0)
51
- minitest (~> 5.10.3)
52
- rake (~> 12.3.0)
53
- rubocop (~> 0.52.0)
55
+ json (~> 2.3.0)
56
+ minitest (~> 5.14.1)
57
+ rake (~> 13.0.1)
58
+ rubocop (~> 0.84.0)
54
59
 
55
60
  BUNDLED WITH
56
- 1.16.0
61
+ 2.1.4
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (C) 2016, 2017 Pawel Krol
3
+ Copyright (C) 2016-2020 Pawel Krol
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## Version
8
8
 
9
- Version 0.0.2 (2017-12-13)
9
+ Version 0.0.3 (2020-05-27)
10
10
 
11
11
  ## Description
12
12
 
@@ -19,7 +19,7 @@ Compressed data is by default written into a file named with `.b2` suffix. Targe
19
19
  Add this line to your application's Gemfile:
20
20
 
21
21
  ```ruby
22
- gem 'byteboozer2', '~> 0.0.2'
22
+ gem 'byteboozer2', '~> 0.0.3'
23
23
  ```
24
24
 
25
25
  And then execute:
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rake/testtask'
3
5
 
@@ -8,7 +10,7 @@ Rake::TestTask.new(:test) do |t|
8
10
  end
9
11
 
10
12
  require 'rubygems/package_task'
11
- spec = Gem::Specification.load(File.expand_path('../byteboozer2.gemspec', __FILE__))
13
+ spec = Gem::Specification.load(File.expand_path('byteboozer2.gemspec', __dir__))
12
14
  Gem::PackageTask.new(spec).define
13
15
 
14
16
  require 'rubocop/rake_task'
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'byteboozer2'
@@ -1,4 +1,6 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'byteboozer2/version'
4
6
 
@@ -19,11 +21,11 @@ Gem::Specification.new do |spec|
19
21
  spec.require_paths = ['lib']
20
22
 
21
23
  spec.add_development_dependency 'awesome_print', '~> 1.8.0'
22
- spec.add_development_dependency 'bundler', '~> 1.16.0'
23
- spec.add_development_dependency 'json', '~> 2.1.0'
24
- spec.add_development_dependency 'minitest', '~> 5.10.3'
25
- spec.add_development_dependency 'rake', '~> 12.3.0'
26
- spec.add_development_dependency 'rubocop', '~> 0.52.0'
24
+ spec.add_development_dependency 'bundler', '~> 2.1.4'
25
+ spec.add_development_dependency 'json', '~> 2.3.0'
26
+ spec.add_development_dependency 'minitest', '~> 5.14.1'
27
+ spec.add_development_dependency 'rake', '~> 13.0.1'
28
+ spec.add_development_dependency 'rubocop', '~> 0.84.0'
27
29
 
28
- spec.add_runtime_dependency 'activemodel', '~> 5.1.4'
30
+ spec.add_runtime_dependency 'activemodel', '~> 6.0.3.1'
29
31
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'byteboozer2/cruncher'
2
4
  require 'byteboozer2/file'
3
5
  require 'byteboozer2/version'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_model'
2
4
  require 'ostruct'
3
5
 
@@ -260,7 +262,7 @@ module ByteBoozer2
260
262
  end
261
263
 
262
264
  cur = (cur << 8) & 0xffff # Table 65536 lookup
263
- cur |= @ibuf[get - 1] if get > 0
265
+ cur |= @ibuf[get - 1] if get.positive?
264
266
  scn = @first[cur]
265
267
  scn = @link[scn]
266
268
 
@@ -268,7 +270,7 @@ module ByteBoozer2
268
270
 
269
271
  if @rle_info[get].length.zero? # No RLE-match here...
270
272
  # Scan until start of file, or max offset
271
- while get - scn <= MAX_OFFSET && scn > 0 && longest_match < 255
273
+ while get - scn <= MAX_OFFSET && scn.positive? && longest_match < 255
272
274
  # OK, we have a match of length 2 or longer, but max 255 or file start
273
275
  len = 2
274
276
  len += 1 while len < 255 && scn >= len && @ibuf[scn - len] == @ibuf[get - len]
@@ -316,7 +318,7 @@ module ByteBoozer2
316
318
  end
317
319
 
318
320
  # Search for more RLE-matches, scan until start of file, or max offset...
319
- while get - scn <= MAX_OFFSET && scn > 0 && longest_match < 255
321
+ while get - scn <= MAX_OFFSET && scn.positive? && longest_match < 255
320
322
 
321
323
  # Check for longer matches with same value and after...
322
324
  # FIXME: That is not what it does, is it?!
@@ -383,6 +385,7 @@ module ByteBoozer2
383
385
  offset = matches[i].offset
384
386
 
385
387
  next if len.zero?
388
+
386
389
  target_i = get - len + 1
387
390
  target = @context[target_i]
388
391
 
@@ -392,6 +395,7 @@ module ByteBoozer2
392
395
 
393
396
  # If this match is first or cheapest way to get here, then update node
394
397
  next if target.cost != 0 && target.cost <= current_cost
398
+
395
399
  target.cost = current_cost
396
400
  target.next = get + 1
397
401
  target.lit_len = 0
@@ -426,7 +430,7 @@ module ByteBoozer2
426
430
  def setup_help_structures
427
431
  # Setup RLE-info
428
432
  get = @ibuf_size - 1
429
- while get > 0
433
+ while get.positive?
430
434
 
431
435
  cur = @ibuf[get]
432
436
  if cur == @ibuf[get - 1]
@@ -450,7 +454,7 @@ module ByteBoozer2
450
454
  get = @ibuf_size - 1
451
455
  cur = @ibuf[get]
452
456
 
453
- while get > 0
457
+ while get.positive?
454
458
  cur = ((cur << 8) | @ibuf[get - 1]) & 0xffff
455
459
 
456
460
  if @first[cur].zero?
@@ -616,7 +620,7 @@ module ByteBoozer2
616
620
  # Put literal
617
621
  need_copy_bit = false
618
622
 
619
- while lit_len > 0
623
+ while lit_len.positive?
620
624
  len = lit_len < 255 ? lit_len : 255
621
625
 
622
626
  ByteBoozer2.logger.debug format('$%<i>04x: Lit(%<len>i)', i: i, len: len)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ByteBoozer2
2
4
  # This class implements file handling related helper methods.
3
5
  class File
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ByteBoozer2
2
- VERSION = '0.0.2'.freeze
4
+ VERSION = '0.0.3'
3
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: byteboozer2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pawel Krol
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-13 00:00:00.000000000 Z
11
+ date: 2020-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -30,84 +30,84 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.16.0
33
+ version: 2.1.4
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.16.0
40
+ version: 2.1.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: json
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.1.0
47
+ version: 2.3.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.1.0
54
+ version: 2.3.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 5.10.3
61
+ version: 5.14.1
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.10.3
68
+ version: 5.14.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 12.3.0
75
+ version: 13.0.1
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: 12.3.0
82
+ version: 13.0.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.52.0
89
+ version: 0.84.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.52.0
96
+ version: 0.84.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: activemodel
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 5.1.4
103
+ version: 6.0.3.1
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 5.1.4
110
+ version: 6.0.3.1
111
111
  description: This is a native Ruby port of David Malmborg's ByteBoozer 2.0.
112
112
  email:
113
113
  - djgruby@gmail.com
@@ -149,8 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  - !ruby/object:Gem::Version
150
150
  version: '0'
151
151
  requirements: []
152
- rubyforge_project:
153
- rubygems_version: 2.4.8
152
+ rubygems_version: 3.1.2
154
153
  signing_key:
155
154
  specification_version: 4
156
155
  summary: A data cruncher for Commodore files written in pure Ruby