id_pack 1.0.0 → 1.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 +5 -5
- data/.editorconfig +15 -0
- data/.gitattributes +1 -0
- data/.github/workflows/tests.yml +34 -0
- data/.gitignore +319 -7
- data/.rubocop.yml +56 -0
- data/Gemfile +6 -1
- data/README.adoc +2 -2
- data/app/assets/javascripts/lib/id-packer.js +300 -5
- data/app/assets/javascripts/lib/uuid-packer.js +1 -1
- data/id_pack.gemspec +7 -5
- data/lib/id_pack/id_packer.rb +90 -63
- data/lib/id_pack/lz_string.rb +83 -83
- data/lib/id_pack/uuid_packer.rb +5 -5
- data/lib/id_pack/version.rb +1 -1
- data/{app/assets/javascripts/lib → vendor/assets/javascripts}/lz-string.js +0 -0
- metadata +18 -17
- data/.travis.yml +0 -5
- data/Gemfile.lock +0 -48
data/lib/id_pack/lz_string.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module IdPack
|
2
2
|
module LZString
|
3
|
-
KEY_STR_BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
4
|
-
KEY_STR_URI_SAFE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$"
|
3
|
+
KEY_STR_BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".freeze
|
4
|
+
KEY_STR_URI_SAFE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$".freeze
|
5
5
|
|
6
6
|
class << self
|
7
7
|
|
8
|
-
def get_base_value
|
8
|
+
def get_base_value(alphabet, character)
|
9
9
|
@base_reverse_dic ||= {}
|
10
10
|
|
11
11
|
if !@base_reverse_dic[alphabet]
|
@@ -19,7 +19,7 @@ module IdPack
|
|
19
19
|
@base_reverse_dic[alphabet][character]
|
20
20
|
end
|
21
21
|
|
22
|
-
def compress_to_base64
|
22
|
+
def compress_to_base64(input)
|
23
23
|
return "" if input.nil?
|
24
24
|
|
25
25
|
res = _compress(input, 6) do |a|
|
@@ -28,13 +28,13 @@ module IdPack
|
|
28
28
|
|
29
29
|
case res.length % 4
|
30
30
|
when 0 then res
|
31
|
-
when 1 then res
|
32
|
-
when 2 then res
|
33
|
-
when 3 then res
|
31
|
+
when 1 then "#{res}==="
|
32
|
+
when 2 then "#{res}=="
|
33
|
+
when 3 then "#{res}="
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
def decompress_from_base64
|
37
|
+
def decompress_from_base64(input)
|
38
38
|
return "" if input.nil?
|
39
39
|
return nil if input == ""
|
40
40
|
|
@@ -43,7 +43,7 @@ module IdPack
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
def compress_to_utf16
|
46
|
+
def compress_to_utf16(input)
|
47
47
|
return "" if input.nil?
|
48
48
|
|
49
49
|
_compress(input, 15) do |a|
|
@@ -51,7 +51,7 @@ module IdPack
|
|
51
51
|
end + " "
|
52
52
|
end
|
53
53
|
|
54
|
-
def decompress_from_utf16
|
54
|
+
def decompress_from_utf16(compressed)
|
55
55
|
return "" if compressed.nil?
|
56
56
|
return nil if compressed == ""
|
57
57
|
|
@@ -60,7 +60,7 @@ module IdPack
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
-
def compress_to_uint8_array
|
63
|
+
def compress_to_uint8_array(uncompressed)
|
64
64
|
compressed = compress(uncompressed)
|
65
65
|
buf = []
|
66
66
|
|
@@ -73,7 +73,7 @@ module IdPack
|
|
73
73
|
buf
|
74
74
|
end
|
75
75
|
|
76
|
-
def decompress_from_uint8_array
|
76
|
+
def decompress_from_uint8_array(compressed)
|
77
77
|
return decompress(compressed) if compressed.nil?
|
78
78
|
|
79
79
|
buf = []
|
@@ -84,16 +84,16 @@ module IdPack
|
|
84
84
|
|
85
85
|
result = []
|
86
86
|
|
87
|
-
buf.each do |
|
87
|
+
buf.each do |_c|
|
88
88
|
result.push(
|
89
|
-
[a + 32].pack
|
89
|
+
[a + 32].pack('U'),
|
90
90
|
)
|
91
91
|
end
|
92
92
|
|
93
93
|
decompress(result.join(''))
|
94
94
|
end
|
95
95
|
|
96
|
-
def compress_to_encoded_uri_component
|
96
|
+
def compress_to_encoded_uri_component(input)
|
97
97
|
return "" if input.nil?
|
98
98
|
|
99
99
|
_compress(input, 6) do |a|
|
@@ -101,7 +101,7 @@ module IdPack
|
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
|
-
def decompress_from_encoded_uri_component
|
104
|
+
def decompress_from_encoded_uri_component(input)
|
105
105
|
return "" if input.nil?
|
106
106
|
return nil if input == ""
|
107
107
|
|
@@ -112,13 +112,13 @@ module IdPack
|
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
|
-
def compress
|
115
|
+
def compress(uncompressed)
|
116
116
|
_compress(uncompressed, 16) do |a|
|
117
117
|
[a].pack 'U'
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
def _compress
|
121
|
+
def _compress(uncompressed, bits_per_char)
|
122
122
|
return "" if uncompressed.nil?
|
123
123
|
|
124
124
|
context_dictionary = {}
|
@@ -149,12 +149,12 @@ module IdPack
|
|
149
149
|
else
|
150
150
|
if context_dictionary_to_create[context_w]
|
151
151
|
if context_w[0].ord < 256
|
152
|
-
context_num_bits.times do |
|
152
|
+
context_num_bits.times do |_i|
|
153
153
|
context_data_val = (context_data_val << 1)
|
154
154
|
|
155
155
|
if context_data_position == bits_per_char - 1
|
156
156
|
context_data_position = 0
|
157
|
-
context_data.push(
|
157
|
+
context_data.push(yield(context_data_val))
|
158
158
|
context_data_val = 0
|
159
159
|
else
|
160
160
|
context_data_position += 1
|
@@ -163,12 +163,12 @@ module IdPack
|
|
163
163
|
|
164
164
|
value = context_w[0].ord
|
165
165
|
|
166
|
-
8.times do |
|
166
|
+
8.times do |_i|
|
167
167
|
context_data_val = (context_data_val << 1) | (value & 1)
|
168
168
|
|
169
169
|
if context_data_position == bits_per_char - 1
|
170
170
|
context_data_position = 0
|
171
|
-
context_data.push(
|
171
|
+
context_data.push(yield(context_data_val))
|
172
172
|
context_data_val = 0
|
173
173
|
else
|
174
174
|
context_data_position += 1
|
@@ -179,12 +179,12 @@ module IdPack
|
|
179
179
|
else
|
180
180
|
value = 1
|
181
181
|
|
182
|
-
context_num_bits.times do |
|
182
|
+
context_num_bits.times do |_i|
|
183
183
|
context_data_val = (context_data_val << 1) | value
|
184
184
|
|
185
185
|
if context_data_position == bits_per_char - 1
|
186
186
|
context_data_position = 0
|
187
|
-
context_data.push(
|
187
|
+
context_data.push(yield(context_data_val))
|
188
188
|
context_data_val = 0
|
189
189
|
else
|
190
190
|
context_data_position += 1
|
@@ -195,12 +195,12 @@ module IdPack
|
|
195
195
|
|
196
196
|
value = context_w[0].ord
|
197
197
|
|
198
|
-
16.times do |
|
198
|
+
16.times do |_i|
|
199
199
|
context_data_val = (context_data_val << 1) | (value & 1)
|
200
200
|
|
201
201
|
if context_data_position == bits_per_char - 1
|
202
202
|
context_data_position = 0
|
203
|
-
context_data.push(
|
203
|
+
context_data.push(yield(context_data_val))
|
204
204
|
context_data_val = 0
|
205
205
|
else
|
206
206
|
context_data_position += 1
|
@@ -212,8 +212,8 @@ module IdPack
|
|
212
212
|
|
213
213
|
context_enlarge_in -= 1
|
214
214
|
|
215
|
-
if context_enlarge_in
|
216
|
-
context_enlarge_in = 2
|
215
|
+
if context_enlarge_in.zero?
|
216
|
+
context_enlarge_in = 2**context_num_bits
|
217
217
|
context_num_bits += 1
|
218
218
|
end
|
219
219
|
|
@@ -221,12 +221,12 @@ module IdPack
|
|
221
221
|
else
|
222
222
|
value = context_dictionary[context_w]
|
223
223
|
|
224
|
-
context_num_bits.times do |
|
224
|
+
context_num_bits.times do |_i|
|
225
225
|
context_data_val = (context_data_val << 1) | (value & 1)
|
226
226
|
|
227
227
|
if context_data_position == bits_per_char - 1
|
228
228
|
context_data_position = 0
|
229
|
-
context_data.push(
|
229
|
+
context_data.push(yield(context_data_val))
|
230
230
|
context_data_val = 0
|
231
231
|
else
|
232
232
|
context_data_position += 1
|
@@ -238,8 +238,8 @@ module IdPack
|
|
238
238
|
|
239
239
|
context_enlarge_in -= 1
|
240
240
|
|
241
|
-
if context_enlarge_in
|
242
|
-
context_enlarge_in = 2
|
241
|
+
if context_enlarge_in.zero?
|
242
|
+
context_enlarge_in = 2**context_num_bits
|
243
243
|
context_num_bits += 1
|
244
244
|
end
|
245
245
|
|
@@ -252,12 +252,12 @@ module IdPack
|
|
252
252
|
if context_w != ""
|
253
253
|
if context_dictionary_to_create[context_w]
|
254
254
|
if context_w[0].ord < 256
|
255
|
-
context_num_bits.times do |
|
255
|
+
context_num_bits.times do |_i|
|
256
256
|
context_data_val = context_data_val << 1
|
257
257
|
|
258
258
|
if context_data_position == bits_per_char - 1
|
259
259
|
context_data_position = 0
|
260
|
-
context_data.push(
|
260
|
+
context_data.push(yield(context_data_val))
|
261
261
|
context_data_val = 0
|
262
262
|
else
|
263
263
|
context_data_position += 1
|
@@ -266,12 +266,12 @@ module IdPack
|
|
266
266
|
|
267
267
|
value = context_w[0].ord
|
268
268
|
|
269
|
-
8.times do |
|
269
|
+
8.times do |_i|
|
270
270
|
context_data_val = (context_data_val << 1) | (value & 1)
|
271
271
|
|
272
272
|
if context_data_position == bits_per_char - 1
|
273
273
|
context_data_position = 0
|
274
|
-
context_data.push(
|
274
|
+
context_data.push(yield(context_data_val))
|
275
275
|
context_data_val = 0
|
276
276
|
else
|
277
277
|
context_data_position += 1
|
@@ -282,12 +282,12 @@ module IdPack
|
|
282
282
|
else
|
283
283
|
value = 1
|
284
284
|
|
285
|
-
context_num_bits.times do |
|
285
|
+
context_num_bits.times do |_i|
|
286
286
|
context_data_val = (context_data_val << 1) | value
|
287
287
|
|
288
288
|
if context_data_position == bits_per_char - 1
|
289
289
|
context_data_position = 0
|
290
|
-
context_data.push(
|
290
|
+
context_data.push(yield(context_data_val))
|
291
291
|
context_data_val = 0
|
292
292
|
else
|
293
293
|
context_data_position += 1
|
@@ -298,12 +298,12 @@ module IdPack
|
|
298
298
|
|
299
299
|
value = context_w[0].ord
|
300
300
|
|
301
|
-
16.times do |
|
301
|
+
16.times do |_i|
|
302
302
|
context_data_val = (context_data_val << 1) | (value & 1)
|
303
303
|
|
304
304
|
if context_data_position == bits_per_char - 1
|
305
305
|
context_data_position = 0
|
306
|
-
context_data.push(
|
306
|
+
context_data.push(yield(context_data_val))
|
307
307
|
context_data_val = 0
|
308
308
|
else
|
309
309
|
context_data_position += 1
|
@@ -315,8 +315,8 @@ module IdPack
|
|
315
315
|
|
316
316
|
context_enlarge_in -= 1
|
317
317
|
|
318
|
-
if context_enlarge_in
|
319
|
-
context_enlarge_in = 2
|
318
|
+
if context_enlarge_in.zero?
|
319
|
+
context_enlarge_in = 2**context_num_bits
|
320
320
|
context_num_bits += 1
|
321
321
|
end
|
322
322
|
|
@@ -324,12 +324,12 @@ module IdPack
|
|
324
324
|
else
|
325
325
|
value = context_dictionary[context_w]
|
326
326
|
|
327
|
-
context_num_bits.times do |
|
327
|
+
context_num_bits.times do |_i|
|
328
328
|
context_data_val = (context_data_val << 1) | (value & 1)
|
329
329
|
|
330
330
|
if context_data_position == bits_per_char - 1
|
331
331
|
context_data_position = 0
|
332
|
-
context_data.push(
|
332
|
+
context_data.push(yield(context_data_val))
|
333
333
|
context_data_val = 0
|
334
334
|
else
|
335
335
|
context_data_position += 1
|
@@ -341,20 +341,20 @@ module IdPack
|
|
341
341
|
|
342
342
|
context_enlarge_in -= 1
|
343
343
|
|
344
|
-
if context_enlarge_in
|
345
|
-
context_enlarge_in = 2
|
344
|
+
if context_enlarge_in.zero?
|
345
|
+
context_enlarge_in = 2**context_num_bits
|
346
346
|
context_num_bits += 1
|
347
347
|
end
|
348
348
|
end
|
349
349
|
|
350
350
|
value = 2
|
351
351
|
|
352
|
-
context_num_bits.times do |
|
352
|
+
context_num_bits.times do |_i|
|
353
353
|
context_data_val = (context_data_val << 1) | (value & 1)
|
354
354
|
|
355
355
|
if context_data_position == bits_per_char - 1
|
356
356
|
context_data_position = 0
|
357
|
-
context_data.push(
|
357
|
+
context_data.push(yield(context_data_val))
|
358
358
|
context_data_val = 0
|
359
359
|
else
|
360
360
|
context_data_position += 1
|
@@ -363,11 +363,11 @@ module IdPack
|
|
363
363
|
value = value >> 1
|
364
364
|
end
|
365
365
|
|
366
|
-
|
366
|
+
loop do
|
367
367
|
context_data_val = (context_data_val << 1)
|
368
368
|
|
369
369
|
if context_data_position == bits_per_char - 1
|
370
|
-
context_data.push(
|
370
|
+
context_data.push(yield(context_data_val))
|
371
371
|
break
|
372
372
|
else
|
373
373
|
context_data_position += 1
|
@@ -377,7 +377,7 @@ module IdPack
|
|
377
377
|
context_data.join('')
|
378
378
|
end
|
379
379
|
|
380
|
-
def decompress
|
380
|
+
def decompress(compressed)
|
381
381
|
return "" if compressed.nil?
|
382
382
|
return null if compressed == ""
|
383
383
|
|
@@ -386,7 +386,7 @@ module IdPack
|
|
386
386
|
end
|
387
387
|
end
|
388
388
|
|
389
|
-
def _decompress
|
389
|
+
def _decompress(length, reset_value)
|
390
390
|
dictionary = []
|
391
391
|
enlarge_in = 4
|
392
392
|
dict_size = 4
|
@@ -394,9 +394,9 @@ module IdPack
|
|
394
394
|
entry = ""
|
395
395
|
result = []
|
396
396
|
data = {
|
397
|
-
val:
|
397
|
+
val: yield(0),
|
398
398
|
position: reset_value,
|
399
|
-
index: 1
|
399
|
+
index: 1,
|
400
400
|
}
|
401
401
|
|
402
402
|
3.times do |i|
|
@@ -404,60 +404,60 @@ module IdPack
|
|
404
404
|
end
|
405
405
|
|
406
406
|
bits = 0
|
407
|
-
maxpower = 2
|
407
|
+
maxpower = 2**2
|
408
408
|
power = 1
|
409
409
|
|
410
410
|
while power != maxpower
|
411
411
|
resb = data[:val] & data[:position]
|
412
412
|
data[:position] = data[:position] >> 1
|
413
413
|
|
414
|
-
if data[:position]
|
414
|
+
if (data[:position]).zero?
|
415
415
|
data[:position] = reset_value
|
416
|
-
data[:val] =
|
416
|
+
data[:val] = yield(data[:index])
|
417
417
|
data[:index] += 1
|
418
418
|
end
|
419
419
|
|
420
|
-
bits |= (resb
|
420
|
+
bits |= (resb.positive? ? 1 : 0) * power
|
421
421
|
power = power << 1
|
422
422
|
end
|
423
423
|
|
424
424
|
case bits
|
425
425
|
when 0
|
426
426
|
bits = 0
|
427
|
-
maxpower = 2
|
427
|
+
maxpower = 2**8
|
428
428
|
power = 1
|
429
429
|
|
430
430
|
while power != maxpower
|
431
431
|
resb = data[:val] & data[:position]
|
432
432
|
data[:position] = data[:position] >> 1
|
433
433
|
|
434
|
-
if data[:position]
|
434
|
+
if (data[:position]).zero?
|
435
435
|
data[:position] = reset_value
|
436
|
-
data[:val] =
|
436
|
+
data[:val] = yield(data[:index])
|
437
437
|
data[:index] += 1
|
438
438
|
end
|
439
439
|
|
440
|
-
bits |= (resb
|
440
|
+
bits |= (resb.positive? ? 1 : 0) * power
|
441
441
|
power <<= 1
|
442
442
|
end
|
443
443
|
|
444
444
|
c = [bits].pack 'U'
|
445
445
|
when 1
|
446
446
|
bits = 0
|
447
|
-
maxpower = 2
|
447
|
+
maxpower = 2**16
|
448
448
|
power = 1
|
449
449
|
|
450
450
|
while power != maxpower
|
451
451
|
resb = data[:val] & data[:position]
|
452
452
|
data[:position] = data[:position] >> 1
|
453
453
|
|
454
|
-
if data[:position]
|
454
|
+
if (data[:position]).zero?
|
455
455
|
data[:position] = reset_value
|
456
|
-
data[:val] =
|
456
|
+
data[:val] = yield(data[:index])
|
457
457
|
data[:index] += 1
|
458
458
|
end
|
459
459
|
|
460
|
-
bits |= (resb
|
460
|
+
bits |= (resb.positive? ? 1 : 0) * power
|
461
461
|
power <<= 1
|
462
462
|
end
|
463
463
|
|
@@ -470,24 +470,24 @@ module IdPack
|
|
470
470
|
w = c
|
471
471
|
result.push(c)
|
472
472
|
|
473
|
-
|
473
|
+
loop do
|
474
474
|
return "" if data[:index] > length
|
475
475
|
|
476
476
|
bits = 0
|
477
|
-
maxpower = 2
|
477
|
+
maxpower = 2**num_bits
|
478
478
|
power = 1
|
479
479
|
|
480
480
|
while power != maxpower
|
481
481
|
resb = data[:val] & data[:position]
|
482
482
|
data[:position] = data[:position] >> 1
|
483
483
|
|
484
|
-
if data[:position]
|
484
|
+
if (data[:position]).zero?
|
485
485
|
data[:position] = reset_value
|
486
|
-
data[:val] =
|
486
|
+
data[:val] = yield(data[:index])
|
487
487
|
data[:index] += 1
|
488
488
|
end
|
489
489
|
|
490
|
-
bits |= (resb
|
490
|
+
bits |= (resb.positive? ? 1 : 0) * power
|
491
491
|
power <<= 1
|
492
492
|
end
|
493
493
|
|
@@ -496,20 +496,20 @@ module IdPack
|
|
496
496
|
case bits
|
497
497
|
when 0
|
498
498
|
bits = 0
|
499
|
-
maxpower = 2
|
499
|
+
maxpower = 2**8
|
500
500
|
power = 1
|
501
501
|
|
502
502
|
while power != maxpower
|
503
503
|
resb = data[:val] & data[:position]
|
504
504
|
data[:position] >>= 1
|
505
505
|
|
506
|
-
if data[:position]
|
506
|
+
if (data[:position]).zero?
|
507
507
|
data[:position] = reset_value
|
508
|
-
data[:val] =
|
508
|
+
data[:val] = yield(data[:index])
|
509
509
|
data[:index] += 1
|
510
510
|
end
|
511
511
|
|
512
|
-
bits |= (resb
|
512
|
+
bits |= (resb.positive? ? 1 : 0) * power
|
513
513
|
power <<= 1
|
514
514
|
end
|
515
515
|
|
@@ -519,20 +519,20 @@ module IdPack
|
|
519
519
|
enlarge_in -= 1
|
520
520
|
when 1
|
521
521
|
bits = 0
|
522
|
-
maxpower = 2
|
522
|
+
maxpower = 2**16
|
523
523
|
power = 1
|
524
524
|
|
525
525
|
while power != maxpower
|
526
526
|
resb = data[:val] & data[:position]
|
527
527
|
data[:position] >>= 1
|
528
528
|
|
529
|
-
if data[:position]
|
529
|
+
if (data[:position]).zero?
|
530
530
|
data[:position] = reset_value
|
531
|
-
data[:val] =
|
531
|
+
data[:val] = yield(data[:index])
|
532
532
|
data[:index] += 1
|
533
533
|
end
|
534
534
|
|
535
|
-
bits |= (resb
|
535
|
+
bits |= (resb.positive? ? 1 : 0) * power
|
536
536
|
power <<= 1
|
537
537
|
end
|
538
538
|
|
@@ -544,8 +544,8 @@ module IdPack
|
|
544
544
|
return result.join("")
|
545
545
|
end
|
546
546
|
|
547
|
-
if enlarge_in
|
548
|
-
enlarge_in = 2
|
547
|
+
if enlarge_in.zero?
|
548
|
+
enlarge_in = 2**num_bits
|
549
549
|
num_bits += 1
|
550
550
|
end
|
551
551
|
|
@@ -565,8 +565,8 @@ module IdPack
|
|
565
565
|
|
566
566
|
w = entry
|
567
567
|
|
568
|
-
if enlarge_in
|
569
|
-
enlarge_in = 2
|
568
|
+
if enlarge_in.zero?
|
569
|
+
enlarge_in = 2**num_bits
|
570
570
|
num_bits += 1
|
571
571
|
end
|
572
572
|
end
|
data/lib/id_pack/uuid_packer.rb
CHANGED
@@ -5,7 +5,7 @@ module IdPack
|
|
5
5
|
# calculate bits in number
|
6
6
|
def bin_pow(num)
|
7
7
|
pow = 0
|
8
|
-
pow += 1 until num >> pow
|
8
|
+
pow += 1 until (num >> pow).zero?
|
9
9
|
pow
|
10
10
|
end
|
11
11
|
|
@@ -106,7 +106,7 @@ module IdPack
|
|
106
106
|
end
|
107
107
|
|
108
108
|
# check if we have tail of BBC
|
109
|
-
if rest
|
109
|
+
if rest.positive?
|
110
110
|
code = ((achr & (2**rest - 1)) + 2**rest).to_s(2).reverse.to_i(2) >> 1
|
111
111
|
code <<= pow - rest - 1
|
112
112
|
code <<= 1 if code >= lowhi
|
@@ -173,7 +173,7 @@ module IdPack
|
|
173
173
|
end
|
174
174
|
|
175
175
|
# check if we have tail of BBC for current UUID
|
176
|
-
if rest
|
176
|
+
if rest.positive?
|
177
177
|
code = (
|
178
178
|
(achr & (2**rest - 1)) + 2**rest
|
179
179
|
).to_s(2).reverse.to_i(2) >> 1
|
@@ -211,7 +211,7 @@ module IdPack
|
|
211
211
|
if (
|
212
212
|
alphanum_array.rassoc(str[0])[0] &
|
213
213
|
(2**(alphanum_array.rassoc(str[0])[2] - 1))
|
214
|
-
|
214
|
+
) != 0
|
215
215
|
|
216
216
|
# delta used
|
217
217
|
alphanum_array = alphanum_to_array alphanum_string, true
|
@@ -298,7 +298,7 @@ module IdPack
|
|
298
298
|
alphanum_array.rassoc(str[item])[0] +
|
299
299
|
2**alphanum_array.rassoc(str[item])[2]
|
300
300
|
)
|
301
|
-
|
301
|
+
.to_s(2).reverse.to_i(2) >> 1
|
302
302
|
|
303
303
|
# add bits to BBC
|
304
304
|
achr += code << rest
|
data/lib/id_pack/version.rb
CHANGED
File without changes
|