fibonacci_rng 0.4.2 → 0.4.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.
- checksums.yaml +4 -4
- data/README.md +17 -0
- data/fibonacci_rng.gemspec +1 -1
- data/lib/fibonacci_rng/generator.rb +12 -1
- data/lib/fibonacci_rng/version.rb +1 -1
- data/tests/fibinacci_rng_tests.rb +8 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24192194041fbb6a8a907907c3d80c793a25eb1a
|
4
|
+
data.tar.gz: afc6ce49588ec4aaeb8de9b1ead78bbec947f3ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8c839b0aad4e0defdc304bdb6bbdbf40a3db783711c2961345468e7e76d119bc78db0a147a763a283b42495c228e7b0017ee6b05a1d84e75d1cfa024472206a
|
7
|
+
data.tar.gz: e331373058f17ef81d5b43808f48c62e29a752de076620a2bdb9b1ad3cfcd75bdf20acae5ee032250aee3c69de302ded79a406ca560adafbb148ba9a9278c1f0
|
data/README.md
CHANGED
@@ -93,6 +93,10 @@ In addition, here are some other options:
|
|
93
93
|
@my_rng.byte # A "random" integer between 0 and 255
|
94
94
|
@my_rng.word # A "random" integer between 0 and 65535
|
95
95
|
@my_rng.float # A "random" float between 0 and less than 1.
|
96
|
+
@my_rng.string(10) # A "random" string of 10 characters in length.
|
97
|
+
|
98
|
+
# A "random" string of 10 characters in length from the string 'abcdefg'.
|
99
|
+
@my_rng.string(10, 'abcdefg')
|
96
100
|
```
|
97
101
|
|
98
102
|
and also available are these helpful methods:
|
@@ -154,6 +158,19 @@ salt_string = salter.hash_string
|
|
154
158
|
|
155
159
|
Each time any of these is run, a different salt string will be generated.
|
156
160
|
|
161
|
+
#### Deprecated Methods
|
162
|
+
|
163
|
+
* bytes - This method would seem to generate an array of random bytes. It does
|
164
|
+
not. That's why it's deprecated. Instead it generates a string with random
|
165
|
+
byte code values. Plays havoc with encodings too. To get an array of len random
|
166
|
+
byte values, try this example:
|
167
|
+
|
168
|
+
```ruby
|
169
|
+
generator = FibonacciRng.new
|
170
|
+
random_bytes = Array.new(len) { generator.byte }
|
171
|
+
```
|
172
|
+
|
173
|
+
|
157
174
|
## Contributing
|
158
175
|
|
159
176
|
1. Fork it
|
data/fibonacci_rng.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.required_ruby_version = '>= 1.9.3'
|
25
25
|
|
26
|
-
spec.add_development_dependency 'minitest_visible', ">= 0.1.
|
26
|
+
spec.add_development_dependency 'minitest_visible', ">= 0.1.1"
|
27
27
|
spec.add_development_dependency "bundler", "~> 1.3"
|
28
28
|
spec.add_development_dependency "rake"
|
29
29
|
spec.add_development_dependency 'reek', "~> 1.3.8"
|
@@ -34,7 +34,7 @@ class FibonacciRng
|
|
34
34
|
@buffer[0] & BYTE
|
35
35
|
end
|
36
36
|
|
37
|
-
#Get a string of random bytes
|
37
|
+
#[Deprecated] Get a string of random bytes
|
38
38
|
def bytes(length)
|
39
39
|
result = ""
|
40
40
|
length.times {result << byte.chr}
|
@@ -53,4 +53,15 @@ class FibonacciRng
|
|
53
53
|
@buffer[0].to_f / BASE
|
54
54
|
end
|
55
55
|
|
56
|
+
#The printable seven bit ASCII characters.
|
57
|
+
ASCII_7_BIT = (' '..'~').to_a.join
|
58
|
+
|
59
|
+
#Create a random string
|
60
|
+
def string(length, set=ASCII_7_BIT)
|
61
|
+
set_length = set.length
|
62
|
+
result = ""
|
63
|
+
length.times {result << set[dice(set_length)]}
|
64
|
+
result
|
65
|
+
end
|
66
|
+
|
56
67
|
end
|
@@ -149,4 +149,12 @@ class FibonacciRngTester < Minitest::Test
|
|
149
149
|
assert_equal(10_000, result.length)
|
150
150
|
end
|
151
151
|
|
152
|
+
def test_building_strings
|
153
|
+
rng = FibonacciRng.new(0)
|
154
|
+
|
155
|
+
assert_equal('8{4y5+-N+c', rng.string(10))
|
156
|
+
assert_equal('1149049996', rng.string(10, '0123456789'))
|
157
|
+
assert_equal('tfes oAy', rng.string(10, 'Always look on the bright side of life.'))
|
158
|
+
end
|
159
|
+
|
152
160
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fibonacci_rng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Camilleri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest_visible
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|