byteboozer2 0.0.1 → 0.0.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
  SHA1:
3
- metadata.gz: ff05a3ba454e03b5bb263f96bae094a8f1dbeb11
4
- data.tar.gz: ed570a340f698b625493d14dbdf90c452352565d
3
+ metadata.gz: 9c51052da3e26265fd79fd43f0105eb84e9c05da
4
+ data.tar.gz: ec7cd1ecba923b64e64b20be49d4836ad1b12edb
5
5
  SHA512:
6
- metadata.gz: 5a026071154ecd1351fe99a05fe100baa9e27e96d2680b03d20f73dea17c2569a87135911d20d75edcff8b7f3ab06d8bf3e331066078fa6409de6f258773ca6a
7
- data.tar.gz: c6345de354bf6e928e91cfad8b76a1a5ac51a3b1a4a0359af370c49182b13a167fb8f6ee5cea9ce7fae09ca5bf9fcfa635605aa5d4e0032705ad2c7601c71f15
6
+ metadata.gz: bc2f4a3f06fa0a7885066c4a88a9f934904c35d5f29699d31cd1bc8f69520d3d4b3474285fbb47978611dbbe4cd82d60ac2ec1e1bd0daeccce374d1908b2b483
7
+ data.tar.gz: c72fbf4aab4a1866dd39eec54e89c23fce574a02cf69ca0c5f44a9c60fafc34ebf7eba00ce258d0a3a3f7664bc79ed0d95572cf105a1cc7a271e8a521b5641f3
data/.rubocop.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  Metrics/AbcSize:
2
2
  Max: 174.1
3
+ Metrics/BlockLength:
4
+ Max: 98
3
5
  Metrics/BlockNesting:
4
6
  Max: 8
5
7
  Metrics/ClassLength:
data/Gemfile.lock CHANGED
@@ -1,55 +1,56 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- byteboozer2 (0.0.1)
5
- activemodel (~> 4.2.6)
4
+ byteboozer2 (0.0.2)
5
+ activemodel (~> 5.1.4)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (4.2.6)
11
- activesupport (= 4.2.6)
12
- builder (~> 3.1)
13
- activesupport (4.2.6)
10
+ activemodel (5.1.4)
11
+ activesupport (= 5.1.4)
12
+ activesupport (5.1.4)
13
+ concurrent-ruby (~> 1.0, >= 1.0.2)
14
14
  i18n (~> 0.7)
15
- json (~> 1.7, >= 1.7.7)
16
15
  minitest (~> 5.1)
17
- thread_safe (~> 0.3, >= 0.3.4)
18
16
  tzinfo (~> 1.1)
19
- ast (2.2.0)
20
- awesome_print (1.6.1)
21
- builder (3.2.2)
22
- i18n (0.7.0)
23
- json (1.8.3)
24
- minitest (5.8.4)
25
- parser (2.3.0.7)
26
- ast (~> 2.2)
17
+ ast (2.3.0)
18
+ awesome_print (1.8.0)
19
+ concurrent-ruby (1.0.5)
20
+ i18n (0.9.1)
21
+ 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
27
  powerpack (0.1.1)
28
- rainbow (2.1.0)
29
- rake (11.1.1)
30
- rubocop (0.38.0)
31
- parser (>= 2.3.0.6, < 3.0)
28
+ rainbow (3.0.0)
29
+ rake (12.3.0)
30
+ rubocop (0.52.0)
31
+ parallel (~> 1.10)
32
+ parser (>= 2.4.0.2, < 3.0)
32
33
  powerpack (~> 0.1)
33
- rainbow (>= 1.99.1, < 3.0)
34
+ rainbow (>= 2.2.2, < 4.0)
34
35
  ruby-progressbar (~> 1.7)
35
36
  unicode-display_width (~> 1.0, >= 1.0.1)
36
- ruby-progressbar (1.7.5)
37
- thread_safe (0.3.5)
38
- tzinfo (1.2.2)
37
+ ruby-progressbar (1.9.0)
38
+ thread_safe (0.3.6)
39
+ tzinfo (1.2.4)
39
40
  thread_safe (~> 0.1)
40
- unicode-display_width (1.0.2)
41
+ unicode-display_width (1.3.0)
41
42
 
42
43
  PLATFORMS
43
44
  ruby
44
45
 
45
46
  DEPENDENCIES
46
- awesome_print (~> 1.6.1)
47
- bundler (~> 1.11.2)
47
+ awesome_print (~> 1.8.0)
48
+ bundler (~> 1.16.0)
48
49
  byteboozer2!
49
- json (~> 1.8.3)
50
- minitest (~> 5.8.4)
51
- rake (~> 11.1.1)
52
- rubocop (~> 0.38.0)
50
+ json (~> 2.1.0)
51
+ minitest (~> 5.10.3)
52
+ rake (~> 12.3.0)
53
+ rubocop (~> 0.52.0)
53
54
 
54
55
  BUNDLED WITH
55
- 1.11.2
56
+ 1.16.0
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (C) 2016 Pawel Krol
3
+ Copyright (C) 2016, 2017 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
@@ -1,10 +1,12 @@
1
1
  # ByteBoozer2
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/byteboozer2.svg)](https://rubygems.org/gems/byteboozer2)
4
+
3
5
  `ByteBoozer2` package provides a native Ruby port of David Malmborg's [ByteBoozer 2.0](http://csdb.dk/release/?id=145031), a data cruncher for Commodore files written in C.
4
6
 
5
7
  ## Version
6
8
 
7
- Version 0.01 (2016-03-28)
9
+ Version 0.0.2 (2017-12-13)
8
10
 
9
11
  ## Description
10
12
 
@@ -17,7 +19,7 @@ Compressed data is by default written into a file named with `.b2` suffix. Targe
17
19
  Add this line to your application's Gemfile:
18
20
 
19
21
  ```ruby
20
- gem 'byteboozer2', '~> 0.0.1'
22
+ gem 'byteboozer2', '~> 0.0.2'
21
23
  ```
22
24
 
23
25
  And then execute:
data/Rakefile CHANGED
@@ -14,4 +14,4 @@ Gem::PackageTask.new(spec).define
14
14
  require 'rubocop/rake_task'
15
15
  RuboCop::RakeTask.new
16
16
 
17
- task default: [:rubocop, :test]
17
+ task default: %i[rubocop test]
data/byteboozer2.gemspec CHANGED
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'byteboozer2/version'
@@ -19,12 +18,12 @@ Gem::Specification.new do |spec|
19
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
19
  spec.require_paths = ['lib']
21
20
 
22
- spec.add_development_dependency 'awesome_print', '~> 1.6.1'
23
- spec.add_development_dependency 'bundler', '~> 1.11.2'
24
- spec.add_development_dependency 'json', '~> 1.8.3'
25
- spec.add_development_dependency 'minitest', '~> 5.8.4'
26
- spec.add_development_dependency 'rake', '~> 11.1.1'
27
- spec.add_development_dependency 'rubocop', '~> 0.38.0'
21
+ 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'
28
27
 
29
- spec.add_runtime_dependency 'activemodel', '~> 4.2.6'
28
+ spec.add_runtime_dependency 'activemodel', '~> 5.1.4'
30
29
  end
data/lib/byteboozer2.rb CHANGED
@@ -15,7 +15,7 @@ module ByteBoozer2
15
15
 
16
16
  def self.logger
17
17
  @logger ||= Logger.new('byteboozer2.log').tap do |log|
18
- log.level = Logger::DEBUG
18
+ log.level = Logger::WARN
19
19
  log.progname = 'ByteBoozer2'
20
20
  end
21
21
  end
@@ -155,7 +155,7 @@ module ByteBoozer2
155
155
  elsif len >= 128 && len <= 255
156
156
  14
157
157
  else
158
- ByteBoozer2.logger.warn 'cost_of_length got wrong value: #{len}'
158
+ ByteBoozer2.logger.warn "cost_of_length got wrong value: #{len}"
159
159
  10_000
160
160
  end
161
161
  end
@@ -204,7 +204,7 @@ module ByteBoozer2
204
204
  return NUM_BITS_LONG_3 if cond_long_3(offset)
205
205
  end
206
206
 
207
- ByteBoozer2.logger.warn 'cost_of_offset got wrong offset: #{offset}'
207
+ ByteBoozer2.logger.warn "cost_of_offset got wrong offset: #{offset}"
208
208
  10_000
209
209
  end
210
210
 
@@ -266,14 +266,12 @@ module ByteBoozer2
266
266
 
267
267
  longest_match = 0
268
268
 
269
- if @rle_info[get].length == 0 # No RLE-match here...
269
+ if @rle_info[get].length.zero? # No RLE-match here...
270
270
  # Scan until start of file, or max offset
271
271
  while get - scn <= MAX_OFFSET && scn > 0 && longest_match < 255
272
272
  # OK, we have a match of length 2 or longer, but max 255 or file start
273
273
  len = 2
274
- while len < 255 && scn >= len && @ibuf[scn - len] == @ibuf[get - len]
275
- len += 1
276
- end
274
+ len += 1 while len < 255 && scn >= len && @ibuf[scn - len] == @ibuf[get - len]
277
275
 
278
276
  # Calc offset
279
277
  offset = get - scn
@@ -283,7 +281,7 @@ module ByteBoozer2
283
281
  longest_match = len
284
282
 
285
283
  # Store the match only if first (= best) of this length
286
- while len >= 2 && matches[len].length == 0
284
+ while len >= 2 && matches[len].length.zero?
287
285
  # If len == 2, check against short offset!
288
286
  if len > 2 || (len == 2 && offset <= MAX_OFFSET_SHORT)
289
287
  matches[len].length = len
@@ -345,15 +343,13 @@ module ByteBoozer2
345
343
  offset = get - scn + @rle_info[scn].length - rle_len
346
344
 
347
345
  if offset <= MAX_OFFSET
348
- while len < 255 && get >= offset + len && @ibuf[get - offset - len] == @ibuf[get - len]
349
- len += 1
350
- end
346
+ len += 1 while len < 255 && get >= offset + len && @ibuf[get - offset - len] == @ibuf[get - len]
351
347
 
352
348
  if len > longest_match
353
349
  longest_match = len
354
350
 
355
351
  # Store the match only if first (= best) of this length
356
- while len >= 2 && matches[len].length == 0
352
+ while len >= 2 && matches[len].length.zero?
357
353
  # If len == 2, check against short offset!
358
354
  if len > 2 || (len == 2 && offset <= MAX_OFFSET_SHORT)
359
355
  matches[len].length = len
@@ -386,7 +382,7 @@ module ByteBoozer2
386
382
  len = matches[i].length
387
383
  offset = matches[i].offset
388
384
 
389
- next if len == 0
385
+ next if len.zero?
390
386
  target_i = get - len + 1
391
387
  target = @context[target_i]
392
388
 
@@ -408,7 +404,7 @@ module ByteBoozer2
408
404
 
409
405
  # If literal run is first or cheapest way to get here, then update node
410
406
  this = @context[get]
411
- if this.cost == 0 || this.cost >= lit_cost
407
+ if this.cost.zero? || this.cost >= lit_cost
412
408
  this.cost = lit_cost
413
409
  this.next = get + 1
414
410
  this.lit_len = lit_len
@@ -457,19 +453,19 @@ module ByteBoozer2
457
453
  while get > 0
458
454
  cur = ((cur << 8) | @ibuf[get - 1]) & 0xffff
459
455
 
460
- if @first[cur] == 0
456
+ if @first[cur].zero?
461
457
  @first[cur] = @last[cur] = get
462
458
  else
463
459
  @link[@last[cur]] = get
464
460
  @last[cur] = get
465
461
  end
466
462
 
467
- get -= @rle_info[get].length == 0 ? 1 : @rle_info[get].length - 1 # if RLE-match...
463
+ get -= @rle_info[get].length.zero? ? 1 : @rle_info[get].length - 1 # if RLE-match...
468
464
  end
469
465
  end
470
466
 
471
467
  def wbit(bit)
472
- if @cur_cnt == 0
468
+ if @cur_cnt.zero?
473
469
  @obuf[@cur_index] = @cur_byte
474
470
  @cur_index = @put
475
471
  @cur_cnt = 8
@@ -503,15 +499,15 @@ module ByteBoozer2
503
499
  end
504
500
 
505
501
  def wlength(len)
506
- # return if len == 0 # Should never happen
502
+ # return if len.zero? # Should never happen
507
503
 
508
504
  bit = 0x80
509
- bit >>= 1 while len & bit == 0
505
+ bit >>= 1 while (len & bit).zero?
510
506
 
511
507
  while bit > 1
512
508
  wbit(1)
513
509
  bit >>= 1
514
- wbit(len & bit == 0 ? 0 : 1)
510
+ wbit((len & bit).zero? ? 0 : 1)
515
511
  end
516
512
 
517
513
  wbit(0) if len < 0x80
@@ -558,29 +554,28 @@ module ByteBoozer2
558
554
  end
559
555
 
560
556
  # First write number of bits
561
- wbit(i & 2 == 0 ? 0 : 1)
562
- wbit(i & 1 == 0 ? 0 : 1)
557
+ wbit((i & 2).zero? ? 0 : 1)
558
+ wbit((i & 1).zero? ? 0 : 1)
563
559
 
560
+ b = 1 << n
564
561
  if n >= 8 # Offset is 2 bytes
565
562
 
566
563
  # Then write the bits less than 8
567
- b = 1 << n
568
564
  while b > 0x100
569
565
  b >>= 1
570
- wbit(b & offset == 0 ? 0 : 1)
566
+ wbit((b & offset).zero? ? 0 : 1)
571
567
  end
572
568
 
573
569
  # Finally write a whole byte, if necessary
574
570
  wbyte(offset & 255 ^ 255) # Inverted (!)
575
- offset >>= 8
571
+ # offset >>= 8
576
572
 
577
573
  else # Offset is 1 byte
578
574
 
579
575
  # Then write the bits less than 8
580
- b = 1 << n
581
576
  while b > 1
582
577
  b >>= 1
583
- wbit(b & offset == 0 ? 1 : 0) # Inverted (!)
578
+ wbit((b & offset).zero? ? 1 : 0) # Inverted (!)
584
579
  end
585
580
  end
586
581
  end
@@ -604,11 +599,11 @@ module ByteBoozer2
604
599
  lit_len = @context[i].lit_len
605
600
  offset = @context[i].offset
606
601
 
607
- if lit_len == 0
602
+ if lit_len.zero?
608
603
  # Put match
609
604
  len = link - i
610
605
 
611
- ByteBoozer2.logger.debug format('$%04x: Mat(%i, %i)', i, len, offset)
606
+ ByteBoozer2.logger.debug format('$%<i>04x: Mat(%<len>i, %<offset>i)', i: i, len: len, offset: offset)
612
607
 
613
608
  wbit(1) if need_copy_bit
614
609
  wlength(len - 1)
@@ -624,7 +619,7 @@ module ByteBoozer2
624
619
  while lit_len > 0
625
620
  len = lit_len < 255 ? lit_len : 255
626
621
 
627
- ByteBoozer2.logger.debug format('$%04x: Lit(%i)', i, len)
622
+ ByteBoozer2.logger.debug format('$%<i>04x: Lit(%<len>i)', i: i, len: len)
628
623
 
629
624
  wbit(0)
630
625
  wlength(len)
@@ -1,3 +1,3 @@
1
1
  module ByteBoozer2
2
- VERSION = '0.0.1'.freeze
2
+ VERSION = '0.0.2'.freeze
3
3
  end
data/src/decruncher.inc CHANGED
@@ -1,160 +1,160 @@
1
- ; ByteBoozer 2.0 Decruncher (C) 2014 David Malmborg
2
-
3
- ; call: Y = AddrLo
4
- ; X = AddrHi
5
-
6
- ;Variables.. #Bytes
7
- zp_base = $02 ; -
8
- bits = zp_base ;1
9
- put = zp_base+2 ;2
10
-
11
- #macro GetNextBit() {.(
12
- asl bits
13
- bne DgEnd
14
- jsr GetNewBits
15
- DgEnd
16
- .)}
17
-
18
- #macro GetLen() {.(
19
- lda #1
20
- GlLoop
21
- .GetNextBit()
22
- bcc GlEnd
23
- .GetNextBit()
24
- rol
25
- bpl GlLoop
26
- GlEnd
27
- .)}
28
-
29
- Decrunch
30
- sty Get1+1
31
- sty Get2+1
32
- sty Get3+1
33
- stx Get1+2
34
- stx Get2+2
35
- stx Get3+2
36
-
37
- ldx #0
38
- jsr GetNewBits
39
- sty put-1,x
40
- cpx #2
41
- bcc *-7
42
- lda #$80
43
- sta bits
44
- DLoop
45
- .GetNextBit()
46
- bcs Match
47
- Literal
48
- ; Literal run.. get length.
49
- .GetLen()
50
- sta LLen+1
51
-
52
- ldy #0
53
- LLoop
54
- Get3 lda $feed,x
55
- inx
56
- bne *+5
57
- jsr GnbInc
58
- L1 sta (put),y
59
- iny
60
- LLen cpy #0
61
- bne LLoop
62
-
63
- clc
64
- tya
65
- adc put
66
- sta put
67
- bcc *+4
68
- inc put+1
69
-
70
- iny
71
- beq DLoop
72
-
73
- ; Has to continue with a match..
74
-
75
- Match
76
- ; Match.. get length.
77
- .GetLen()
78
- sta MLen+1
79
-
80
- ; Length 255 -> EOF
81
- cmp #$ff
82
- beq End
83
-
84
- ; Get num bits
85
- cmp #2
86
- lda #0
87
- rol
88
- .GetNextBit()
89
- rol
90
- .GetNextBit()
91
- rol
92
- tay
93
- lda Tab,y
94
- beq M8
95
-
96
- ; Get bits < 8
97
- M_1 .GetNextBit()
98
- rol
99
- bcs M_1
100
- bmi MShort
101
- M8
102
- ; Get byte
103
- eor #$ff
104
- tay
105
- Get2 lda $feed,x
106
- inx
107
- bne *+5
108
- jsr GnbInc
109
- jmp Mdone
110
- MShort
111
- ldy #$ff
112
- Mdone
113
- ;clc
114
- adc put
115
- sta MLda+1
116
- tya
117
- adc put+1
118
- sta MLda+2
119
-
120
- ldy #$ff
121
- MLoop iny
122
- MLda lda $beef,y
123
- sta (put),y
124
- MLen cpy #0
125
- bne MLoop
126
-
127
- ;sec
128
- tya
129
- adc put
130
- sta put
131
- bcc *+4
132
- inc put+1
133
-
134
- jmp DLoop
135
-
136
- End rts
137
-
138
- GetNewBits
139
- Get1 ldy $feed,x
140
- sty bits
141
- rol bits
142
- inx
143
- bne GnbEnd
144
- GnbInc inc Get1+2
145
- inc Get2+2
146
- inc Get3+2
147
- GnbEnd
148
- rts
149
-
150
- Tab
151
- ; Short offsets
152
- .byte %11011111 ; 3
153
- .byte %11111011 ; 6
154
- .byte %00000000 ; 8
155
- .byte %10000000 ; 10
156
- ; Long offsets
157
- .byte %11101111 ; 4
158
- .byte %11111101 ; 7
159
- .byte %10000000 ; 10
160
- .byte %11110000 ; 13
1
+ ; ByteBoozer 2.0 Decruncher (C) 2014 David Malmborg
2
+
3
+ ; call: Y = AddrLo
4
+ ; X = AddrHi
5
+
6
+ ;Variables.. #Bytes
7
+ zp_base = $02 ; -
8
+ bits = zp_base ;1
9
+ put = zp_base+2 ;2
10
+
11
+ #macro GetNextBit() {.(
12
+ asl bits
13
+ bne DgEnd
14
+ jsr GetNewBits
15
+ DgEnd
16
+ .)}
17
+
18
+ #macro GetLen() {.(
19
+ lda #1
20
+ GlLoop
21
+ .GetNextBit()
22
+ bcc GlEnd
23
+ .GetNextBit()
24
+ rol
25
+ bpl GlLoop
26
+ GlEnd
27
+ .)}
28
+
29
+ Decrunch
30
+ sty Get1+1
31
+ sty Get2+1
32
+ sty Get3+1
33
+ stx Get1+2
34
+ stx Get2+2
35
+ stx Get3+2
36
+
37
+ ldx #0
38
+ jsr GetNewBits
39
+ sty put-1,x
40
+ cpx #2
41
+ bcc *-7
42
+ lda #$80
43
+ sta bits
44
+ DLoop
45
+ .GetNextBit()
46
+ bcs Match
47
+ Literal
48
+ ; Literal run.. get length.
49
+ .GetLen()
50
+ sta LLen+1
51
+
52
+ ldy #0
53
+ LLoop
54
+ Get3 lda $feed,x
55
+ inx
56
+ bne *+5
57
+ jsr GnbInc
58
+ L1 sta (put),y
59
+ iny
60
+ LLen cpy #0
61
+ bne LLoop
62
+
63
+ clc
64
+ tya
65
+ adc put
66
+ sta put
67
+ bcc *+4
68
+ inc put+1
69
+
70
+ iny
71
+ beq DLoop
72
+
73
+ ; Has to continue with a match..
74
+
75
+ Match
76
+ ; Match.. get length.
77
+ .GetLen()
78
+ sta MLen+1
79
+
80
+ ; Length 255 -> EOF
81
+ cmp #$ff
82
+ beq End
83
+
84
+ ; Get num bits
85
+ cmp #2
86
+ lda #0
87
+ rol
88
+ .GetNextBit()
89
+ rol
90
+ .GetNextBit()
91
+ rol
92
+ tay
93
+ lda Tab,y
94
+ beq M8
95
+
96
+ ; Get bits < 8
97
+ M_1 .GetNextBit()
98
+ rol
99
+ bcs M_1
100
+ bmi MShort
101
+ M8
102
+ ; Get byte
103
+ eor #$ff
104
+ tay
105
+ Get2 lda $feed,x
106
+ inx
107
+ bne *+5
108
+ jsr GnbInc
109
+ jmp Mdone
110
+ MShort
111
+ ldy #$ff
112
+ Mdone
113
+ ;clc
114
+ adc put
115
+ sta MLda+1
116
+ tya
117
+ adc put+1
118
+ sta MLda+2
119
+
120
+ ldy #$ff
121
+ MLoop iny
122
+ MLda lda $beef,y
123
+ sta (put),y
124
+ MLen cpy #0
125
+ bne MLoop
126
+
127
+ ;sec
128
+ tya
129
+ adc put
130
+ sta put
131
+ bcc *+4
132
+ inc put+1
133
+
134
+ jmp DLoop
135
+
136
+ End rts
137
+
138
+ GetNewBits
139
+ Get1 ldy $feed,x
140
+ sty bits
141
+ rol bits
142
+ inx
143
+ bne GnbEnd
144
+ GnbInc inc Get1+2
145
+ inc Get2+2
146
+ inc Get3+2
147
+ GnbEnd
148
+ rts
149
+
150
+ Tab
151
+ ; Short offsets
152
+ .byte %11011111 ; 3
153
+ .byte %11111011 ; 6
154
+ .byte %00000000 ; 8
155
+ .byte %10000000 ; 10
156
+ ; Long offsets
157
+ .byte %11101111 ; 4
158
+ .byte %11111101 ; 7
159
+ .byte %10000000 ; 10
160
+ .byte %11110000 ; 13
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.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pawel Krol
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-29 00:00:00.000000000 Z
11
+ date: 2017-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -16,98 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.1
19
+ version: 1.8.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.6.1
26
+ version: 1.8.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.11.2
33
+ version: 1.16.0
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.11.2
40
+ version: 1.16.0
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: 1.8.3
47
+ version: 2.1.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: 1.8.3
54
+ version: 2.1.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.8.4
61
+ version: 5.10.3
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.8.4
68
+ version: 5.10.3
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: 11.1.1
75
+ version: 12.3.0
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: 11.1.1
82
+ version: 12.3.0
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.38.0
89
+ version: 0.52.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.38.0
96
+ version: 0.52.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: 4.2.6
103
+ version: 5.1.4
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: 4.2.6
110
+ version: 5.1.4
111
111
  description: This is a native Ruby port of David Malmborg's ByteBoozer 2.0.
112
112
  email:
113
113
  - djgruby@gmail.com