xelor 0.1.0 → 0.1.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/xelor.rb +38 -4
- data/lib/xelor/version.rb +1 -1
- data/xelor.gemspec +2 -0
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 755cd200b9e5ce102a1e7a8bc1f1c2ce9d98f644
|
4
|
+
data.tar.gz: f7204f52f3068ad7f61042bff094c9b741d73ae4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad4281dc782b814aecaa31985081d4fe42a977eaee80bcdc7b25f60dcad55724eb3634611875631585db7b942c62f007509cf521ca92ebe4a5b745b355875fff
|
7
|
+
data.tar.gz: 3768f3c7f3398c6dc63dc1beba5f9068a4e2f53f05c157f35d574f99924d60bf4097ed36e2e111a112e6735eff4dd5460fcc83ca5854e1214476f82227f38257
|
data/lib/xelor.rb
CHANGED
@@ -1,21 +1,55 @@
|
|
1
1
|
require "xelor/version"
|
2
|
+
require 'hexable'
|
2
3
|
require 'securerandom'
|
3
4
|
module Xelor
|
4
5
|
|
6
|
+
def binary(size)
|
7
|
+
num = chaos(size)
|
8
|
+
return num.binary
|
9
|
+
end
|
10
|
+
|
11
|
+
def octal(size)
|
12
|
+
num = chaos(size)
|
13
|
+
return num.octal
|
14
|
+
end
|
15
|
+
|
16
|
+
def decimal(size)
|
17
|
+
num = chaos(size)
|
18
|
+
return num.decimal
|
19
|
+
end
|
20
|
+
|
5
21
|
def hex(size)
|
6
|
-
|
22
|
+
num = chaos(size)
|
23
|
+
return num.hex
|
24
|
+
end
|
25
|
+
|
26
|
+
def base32(size)
|
27
|
+
num = chaos(size)
|
28
|
+
return num.base32
|
29
|
+
end
|
30
|
+
|
31
|
+
def base64(size)
|
32
|
+
num = chaos(size)
|
33
|
+
return num.base64
|
34
|
+
end
|
35
|
+
|
36
|
+
def string(size)
|
37
|
+
num = chaos(size)
|
38
|
+
return [num.to_s].pack('H*')
|
7
39
|
end
|
8
40
|
|
9
41
|
private
|
10
42
|
|
11
43
|
def chaos(size)
|
44
|
+
msg = nil
|
12
45
|
begin
|
13
46
|
# /dev/urandom exists only on unix or linux systems
|
14
|
-
|
47
|
+
msg = system("cat /dev/urandom | base64 | head -c #{size}")
|
15
48
|
rescue
|
16
|
-
# if on windows
|
17
|
-
|
49
|
+
# if on windows or another system
|
50
|
+
msg = SecureRandom.hex(size)
|
18
51
|
end
|
52
|
+
return Hexable::Number.new(msg, 16, false)
|
19
53
|
end
|
20
54
|
|
21
55
|
end
|
data/lib/xelor/version.rb
CHANGED
data/xelor.gemspec
CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
+
spec.add_dependency "hexable", "~> 0.2"
|
22
23
|
spec.add_development_dependency "bundler", "~> 1.12"
|
23
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
+
spec.add_development_dependency "rspec", "~> 3.4"
|
24
26
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xelor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Austin Vecchio
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: hexable
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.2'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +52,20 @@ dependencies:
|
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.4'
|
41
69
|
description: Xelor was built for systems that require random bytes for processes faster
|
42
70
|
than one second. Because normal random generation is based off of time as a seed,
|
43
71
|
if there exists multiple calls towards SecureRandom or Rand within one second, the
|