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.
@@ -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 alphabet, character
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 input
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 input
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 input
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 compressed
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 uncompressed
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 compressed
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 |c|
87
+ buf.each do |_c|
88
88
  result.push(
89
- [a + 32].pack 'U'
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 input
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 input
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 uncompressed
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 uncompressed, bits_per_char, &get_char_from_int
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 |i|
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(get_char_from_int.call(context_data_val))
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 |i|
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(get_char_from_int.call(context_data_val))
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 |i|
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(get_char_from_int.call(context_data_val))
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 |i|
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(get_char_from_int.call(context_data_val))
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 == 0
216
- context_enlarge_in = 2 ** context_num_bits
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 |i|
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(get_char_from_int.call(context_data_val))
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 == 0
242
- context_enlarge_in = 2 ** context_num_bits
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 |i|
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(get_char_from_int.call(context_data_val))
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 |i|
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(get_char_from_int.call(context_data_val))
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 |i|
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(get_char_from_int.call(context_data_val))
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 |i|
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(get_char_from_int.call(context_data_val))
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 == 0
319
- context_enlarge_in = 2 ** context_num_bits
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 |i|
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(get_char_from_int.call(context_data_val))
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 == 0
345
- context_enlarge_in = 2 ** context_num_bits
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 |i|
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(get_char_from_int.call(context_data_val))
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
- while true do
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(get_char_from_int.call(context_data_val))
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 compressed
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 length, reset_value, &get_next_value
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: get_next_value.call(0),
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 ** 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] == 0
414
+ if (data[:position]).zero?
415
415
  data[:position] = reset_value
416
- data[:val] = get_next_value.call(data[:index])
416
+ data[:val] = yield(data[:index])
417
417
  data[:index] += 1
418
418
  end
419
419
 
420
- bits |= (resb > 0 ? 1 : 0) * power
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 ** 8
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] == 0
434
+ if (data[:position]).zero?
435
435
  data[:position] = reset_value
436
- data[:val] = get_next_value.call(data[:index])
436
+ data[:val] = yield(data[:index])
437
437
  data[:index] += 1
438
438
  end
439
439
 
440
- bits |= (resb > 0 ? 1 : 0) * power
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 ** 16
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] == 0
454
+ if (data[:position]).zero?
455
455
  data[:position] = reset_value
456
- data[:val] = get_next_value.call(data[:index])
456
+ data[:val] = yield(data[:index])
457
457
  data[:index] += 1
458
458
  end
459
459
 
460
- bits |= (resb > 0 ? 1 : 0) * power
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
- while true do
473
+ loop do
474
474
  return "" if data[:index] > length
475
475
 
476
476
  bits = 0
477
- maxpower = 2 ** num_bits
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] == 0
484
+ if (data[:position]).zero?
485
485
  data[:position] = reset_value
486
- data[:val] = get_next_value.call(data[:index])
486
+ data[:val] = yield(data[:index])
487
487
  data[:index] += 1
488
488
  end
489
489
 
490
- bits |= (resb > 0 ? 1 : 0) * power
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 ** 8
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] == 0
506
+ if (data[:position]).zero?
507
507
  data[:position] = reset_value
508
- data[:val] = get_next_value.call(data[:index])
508
+ data[:val] = yield(data[:index])
509
509
  data[:index] += 1
510
510
  end
511
511
 
512
- bits |= (resb > 0 ? 1 : 0) * power
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 ** 16
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] == 0
529
+ if (data[:position]).zero?
530
530
  data[:position] = reset_value
531
- data[:val] = get_next_value.call(data[:index])
531
+ data[:val] = yield(data[:index])
532
532
  data[:index] += 1
533
533
  end
534
534
 
535
- bits |= (resb > 0 ? 1 : 0) * power
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 == 0
548
- enlarge_in = 2 ** num_bits
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 == 0
569
- enlarge_in = 2 ** num_bits
568
+ if enlarge_in.zero?
569
+ enlarge_in = 2**num_bits
570
570
  num_bits += 1
571
571
  end
572
572
  end
@@ -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 == 0
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 > 0
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 > 0
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
- ) != 0
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
- .to_s(2).reverse.to_i(2) >> 1
301
+ .to_s(2).reverse.to_i(2) >> 1
302
302
 
303
303
  # add bits to BBC
304
304
  achr += code << rest
@@ -1,3 +1,3 @@
1
1
  module IdPack
2
- VERSION = "1.0.0".freeze
2
+ VERSION = "1.0.3".freeze
3
3
  end