fixed_length_encoder 1.0.0 → 1.1.0
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.
- data/lib/fixed_length_encoder.rb +2 -2
- metadata +4 -4
data/lib/fixed_length_encoder.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module FixedLengthEncoder
|
2
|
-
ALPHABET = '
|
2
|
+
ALPHABET = 'cg1b723erwp5f8sv0hdmtzxa4juqik9lon6y'
|
3
3
|
LENGTH = 8
|
4
4
|
|
5
5
|
def self.encode(value, message_length = nil)
|
@@ -28,7 +28,7 @@ module FixedLengthEncoder
|
|
28
28
|
def encode(value, message_length)
|
29
29
|
raise ArgumentError, 'Cannot encode a non-integer.' unless value.is_a?(Integer)
|
30
30
|
self.setup(message_length)
|
31
|
-
raise ArgumentError, "Cannot encode #{value} in #{@message_length} characters" if value
|
31
|
+
raise ArgumentError, "Cannot encode #{value} in #{@message_length} characters" if value >= @max_value
|
32
32
|
value = self.scramble_value(value, @max_bits)
|
33
33
|
self.integer_to_string(@alphabet, value, @message_length)
|
34
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fixed_length_encoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,9 +12,9 @@ cert_chain: []
|
|
12
12
|
date: 2012-12-14 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Integers are converted to strings using a binary reversal and a shuffled
|
15
|
-
base
|
16
|
-
|
17
|
-
|
15
|
+
base 36 alphabet. Strings with valid digits (0-9 a-z)are converted back to integers. The
|
16
|
+
encoding is one-to-one but not sequential.This is useful for obfuscating user ids
|
17
|
+
in urls.
|
18
18
|
email: brett@paperyfrog.com
|
19
19
|
executables: []
|
20
20
|
extensions: []
|