tokenizr 1.0.0 → 1.0.1
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 +4 -4
- data/lib/tokenizr.rb +8 -0
- data/lib/tokenizr/error.rb +4 -0
- data/lib/tokenizr/version.rb +1 -1
- data/test/tokenizr_test.rb +20 -2
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6abd5425ac41af12af3fa901e24692b3aeda929
|
4
|
+
data.tar.gz: a3a24af31243ecae4ef14741e3837e0401cc4774
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c261155db28b9cc553e342c46d7d77ad40565f469e2b155493af808847747f10f8b318a2e2d21fce6a3f02e8a6c83b75856987959f7e0adac357c51762a5807
|
7
|
+
data.tar.gz: 0c79341338ef2b35d7fa36ec2ca92cc1c25bf8684028b415a62c80bf8059d3dd65393ab49bb0943a20f2f99ee38b574d6f29921eb1fd30bafcede8860442de36
|
data/lib/tokenizr.rb
CHANGED
@@ -1,8 +1,16 @@
|
|
1
|
+
require 'tokenizr/error'
|
2
|
+
|
1
3
|
module Tokenizr
|
2
4
|
INDEX = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
3
5
|
LENGTH = 15
|
4
6
|
|
5
7
|
def self.encode(number)
|
8
|
+
if number.nil?
|
9
|
+
raise Error.new 'Supplied argument must be a number (nil found)'
|
10
|
+
elsif number.class != Fixnum || number.to_i != number
|
11
|
+
raise Error.new 'Supplied argument must be an integer'
|
12
|
+
end
|
13
|
+
|
6
14
|
number = lengthen(number).to_i
|
7
15
|
ret = ''
|
8
16
|
|
data/lib/tokenizr/version.rb
CHANGED
data/test/tokenizr_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
|
1
|
+
require_relative '../lib/tokenizr'
|
2
2
|
require 'minitest/autorun'
|
3
3
|
|
4
|
-
class
|
4
|
+
class TokenizrTest < MiniTest::Unit::TestCase
|
5
5
|
describe '#encode' do
|
6
6
|
it 'encodes the given number into a string' do
|
7
7
|
assert_equal Tokenizr.encode(123), "5IbEL8X9e"
|
@@ -22,6 +22,24 @@ class TestTokenizr < MiniTest::Unit::TestCase
|
|
22
22
|
assert_operator Tokenizr.encode(rand(range)).length, :>=, 9
|
23
23
|
end
|
24
24
|
end
|
25
|
+
|
26
|
+
it 'raises error when given argument is nil' do
|
27
|
+
assert_raises Tokenizr::Error do
|
28
|
+
Tokenizr.encode(nil)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'raises error when given argument is a float' do
|
33
|
+
assert_raises Tokenizr::Error do
|
34
|
+
Tokenizr.encode(1.23)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'raises error when given argument is not a number' do
|
39
|
+
["123", true, [], {}, Object.new].each do |type|
|
40
|
+
assert_raises(Tokenizr::Error) { Tokenizr.encode(type) }
|
41
|
+
end
|
42
|
+
end
|
25
43
|
end
|
26
44
|
|
27
45
|
describe '#decode' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tokenizr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- arktisklada
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -49,6 +49,7 @@ files:
|
|
49
49
|
- README.md
|
50
50
|
- Rakefile
|
51
51
|
- lib/tokenizr.rb
|
52
|
+
- lib/tokenizr/error.rb
|
52
53
|
- lib/tokenizr/version.rb
|
53
54
|
- test/tokenizr_test.rb
|
54
55
|
homepage: https://github.com/arktisklada/tokenizr
|
@@ -71,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
72
|
version: '0'
|
72
73
|
requirements: []
|
73
74
|
rubyforge_project:
|
74
|
-
rubygems_version: 2.
|
75
|
+
rubygems_version: 2.4.8
|
75
76
|
signing_key:
|
76
77
|
specification_version: 4
|
77
78
|
summary: ''
|