to_insane 0.1.0 → 0.2.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/README.rdoc +10 -2
- data/VERSION +1 -1
- data/lib/to_insane.rb +11 -5
- data/to_insane.gemspec +1 -6
- metadata +1 -6
- data/.README.rdoc.swp +0 -0
- data/.Rakefile.swp +0 -0
- data/lib/.base58.rb.swp +0 -0
- data/lib/.to_insane.rb.swp +0 -0
- data/test/.test_to_insane.rb.swp +0 -0
data/README.rdoc
CHANGED
@@ -37,8 +37,16 @@ Paypal address: mailto:dougal.s@gmail.com
|
|
37
37
|
27.to_insane(4,'A2Ph')
|
38
38
|
|
39
39
|
# Other Inputs
|
40
|
-
# :url_safe uses characters that are RFC URL non reserved
|
41
|
-
# :max uses the number of characters
|
40
|
+
# :url_safe uses the max number characters that are RFC URL non reserved
|
41
|
+
# :max uses the max number of characters for given character set. Default character set is 87
|
42
|
+
27.to_insane(:url_safe)
|
43
|
+
27.to_insane(:max)
|
44
|
+
|
45
|
+
== Info
|
46
|
+
Default Character set. I choose not to use any slashes or quotes of any sort to prevent breaking
|
47
|
+
|
48
|
+
INSANECHARACTERS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ-._~+[]|$!*(),{}^<>#%;?:@&='
|
49
|
+
|
42
50
|
== Credits
|
43
51
|
|
44
52
|
Ryan Ong - http://ryangong.net
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/to_insane.rb
CHANGED
@@ -2,13 +2,16 @@
|
|
2
2
|
# Distributed under the MIT license as included with this plugin.
|
3
3
|
#
|
4
4
|
|
5
|
-
INSANECHARACTERS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ-._~+[]|$!*(),{}
|
5
|
+
INSANECHARACTERS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ-._~+[]|$!*(),{}^<>#%;?:@&='
|
6
6
|
|
7
7
|
class String
|
8
8
|
# Converts a string to a base x integer using y character set.
|
9
9
|
def from_insane(base_val = 58, alpha = INSANECHARACTERS)
|
10
|
-
base_val =
|
11
|
-
|
10
|
+
base_val = alpha.size if base_val == :max
|
11
|
+
if base_val == :url_safe
|
12
|
+
base_val = 63
|
13
|
+
alpha = INSANECHARACTERS
|
14
|
+
end
|
12
15
|
raise ArgumentError, "Base Value is not valid. Integer, :max, :url_safe" unless base_val.kind_of? Integer
|
13
16
|
raise ArgumentError, "Base size is too large for given character set. Please use a Base value larger than 0 and less than #{alpha.length}" if base_val > alpha.length or base_val <= 0
|
14
17
|
raise ArgumentError, "Character set needs to be larger than 0" if alpha.size <= 0
|
@@ -26,8 +29,11 @@ end
|
|
26
29
|
class Integer
|
27
30
|
# Converts a base10 integer to a base x string.
|
28
31
|
def to_insane(base_val = 58, alpha = INSANECHARACTERS)
|
29
|
-
base_val =
|
30
|
-
|
32
|
+
base_val = alpha.size if base_val == :max
|
33
|
+
if base_val == :url_safe
|
34
|
+
base_val = 63
|
35
|
+
alpha = INSANECHARACTERS
|
36
|
+
end
|
31
37
|
raise ArgumentError, "Base Value is not valid. Integer, :max, :url_safe" unless base_val.kind_of? Integer
|
32
38
|
raise ArgumentError, "Base size is too large for given character set. Please use a Base value larger than 0 and less than #{alpha.length}" if base_val > alpha.length or base_val <= 0
|
33
39
|
raise ArgumentError, "Character set needs to be larger than 0" if alpha.size <= 0
|
data/to_insane.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{to_insane}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ryan Ong"]
|
@@ -16,17 +16,12 @@ Gem::Specification.new do |s|
|
|
16
16
|
"README.rdoc"
|
17
17
|
]
|
18
18
|
s.files = [
|
19
|
-
".README.rdoc.swp",
|
20
|
-
".Rakefile.swp",
|
21
19
|
"CHANGELOG",
|
22
20
|
"MIT-LICENSE",
|
23
21
|
"README.rdoc",
|
24
22
|
"Rakefile",
|
25
23
|
"VERSION",
|
26
|
-
"lib/.base58.rb.swp",
|
27
|
-
"lib/.to_insane.rb.swp",
|
28
24
|
"lib/to_insane.rb",
|
29
|
-
"test/.test_to_insane.rb.swp",
|
30
25
|
"test/test_to_insane.rb",
|
31
26
|
"to_insane.gemspec"
|
32
27
|
]
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: to_insane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.2.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Ryan Ong
|
@@ -23,17 +23,12 @@ extensions: []
|
|
23
23
|
extra_rdoc_files:
|
24
24
|
- README.rdoc
|
25
25
|
files:
|
26
|
-
- .README.rdoc.swp
|
27
|
-
- .Rakefile.swp
|
28
26
|
- CHANGELOG
|
29
27
|
- MIT-LICENSE
|
30
28
|
- README.rdoc
|
31
29
|
- Rakefile
|
32
30
|
- VERSION
|
33
|
-
- lib/.base58.rb.swp
|
34
|
-
- lib/.to_insane.rb.swp
|
35
31
|
- lib/to_insane.rb
|
36
|
-
- test/.test_to_insane.rb.swp
|
37
32
|
- test/test_to_insane.rb
|
38
33
|
- to_insane.gemspec
|
39
34
|
has_rdoc: true
|
data/.README.rdoc.swp
DELETED
Binary file
|
data/.Rakefile.swp
DELETED
Binary file
|
data/lib/.base58.rb.swp
DELETED
Binary file
|
data/lib/.to_insane.rb.swp
DELETED
Binary file
|
data/test/.test_to_insane.rb.swp
DELETED
Binary file
|