zfaker 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/zfaker.rb +55 -19
- data/lib/custom/internet.rb +2 -1
- data/lib/custom/name.rb +1 -1
- metadata +1 -3
- data/bin/utils/array_utils.rb +0 -48
- data/bin/utils/module_utils.rb +0 -65
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f38b175d3f1c39b5dad79bd85d40be64431b2c2
|
4
|
+
data.tar.gz: 2e52fc365228aad373457629268bc493bcf9215d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cf9945eb248416329a2f082139eea507101fa94080a43c8bbfe3239ed66ab63b93c89f1377c12e552d31c9b74f07b55f008b1ba6db9ff9399e9b22b5b4202f8
|
7
|
+
data.tar.gz: d460310d8aaa74d36dcb40cf301a687cd94f6e95419e637311aca3f8b181c5c6c68ac8e457cd9d8a53fc592ee71e1df74905929098b69d3fc6a1544457e2b6c6
|
data/bin/zfaker.rb
CHANGED
@@ -1,30 +1,66 @@
|
|
1
|
-
# ZFaker Module
|
2
|
-
module ZFaker
|
3
|
-
require_relative './utils/array_utils'
|
4
|
-
require_relative './utils/module_utils'
|
5
|
-
|
6
|
-
extend ModuleUtils
|
7
1
|
|
8
|
-
|
9
|
-
|
10
|
-
|
2
|
+
# String Class
|
3
|
+
class String
|
4
|
+
def integer?
|
5
|
+
[ # In descending order of likeliness:
|
6
|
+
/^[-+]?[1-9]([0-9]*)?$/, # decimal
|
7
|
+
/^0[0-7]+$/, # octal
|
8
|
+
/^0x[0-9A-Fa-f]+$/, # hexadecimal
|
9
|
+
/^0b[01]+$/ # binary
|
10
|
+
].each do |match_pattern|
|
11
|
+
return true if self =~ match_pattern
|
12
|
+
end
|
13
|
+
false
|
14
|
+
end
|
15
|
+
end
|
11
16
|
|
12
|
-
|
17
|
+
# ZFaker Module
|
18
|
+
module ZFaker
|
19
|
+
def self.freeze_all(array)
|
20
|
+
array.each(&:freeze)
|
21
|
+
array.freeze
|
22
|
+
array
|
23
|
+
end
|
13
24
|
|
14
|
-
def self.
|
15
|
-
|
25
|
+
def self.const_array(argument)
|
26
|
+
array = argument.is_a?(Array) ? argument : argument.to_a
|
27
|
+
freeze_all(array)
|
16
28
|
end
|
17
29
|
|
18
|
-
def self.
|
19
|
-
masks.flatten.sample.gsub(/#/) { rand(10).to_s }
|
30
|
+
def self.k(arg) const_array(arg)
|
20
31
|
end
|
21
32
|
|
22
|
-
def self.
|
23
|
-
|
33
|
+
def self.build_const(const_name, file)
|
34
|
+
data_path = file
|
35
|
+
reader = k File.read(data_path).split("\n")
|
36
|
+
arrout = []
|
37
|
+
reader.each do |x|
|
38
|
+
cut = x.split(' ')
|
39
|
+
if cut.size > 1 && cut[0].integer?
|
40
|
+
weight = cut[0].to_i
|
41
|
+
element = cut[1..-1].join(' ')
|
42
|
+
element = '' if element == '<blank>'
|
43
|
+
else
|
44
|
+
weight = 1
|
45
|
+
element = cut[0..-1].join(' ')
|
46
|
+
end
|
47
|
+
weight.times { arrout.push(element) }
|
48
|
+
end
|
49
|
+
const_set const_name.upcase, arrout
|
50
|
+
arrout
|
24
51
|
end
|
25
52
|
|
26
|
-
def
|
27
|
-
|
53
|
+
def unique_sample(arr)
|
54
|
+
sample = ''
|
55
|
+
collisions = 0
|
56
|
+
loop do
|
57
|
+
sample = yield
|
58
|
+
break unless arr.include? sample
|
59
|
+
collisions += 1
|
60
|
+
fail 'Too Many Collisions: ' + collisions.to_s if collisions > (arr.size + 50) * 10
|
61
|
+
end
|
62
|
+
arr.push sample
|
63
|
+
sample
|
28
64
|
end
|
29
65
|
|
30
66
|
def self.add_const(file)
|
@@ -33,7 +69,7 @@ module ZFaker
|
|
33
69
|
build_const(name, file)
|
34
70
|
end
|
35
71
|
|
36
|
-
|
72
|
+
require_relative '../lib/config'
|
37
73
|
end
|
38
74
|
|
39
75
|
|
data/lib/custom/internet.rb
CHANGED
data/lib/custom/name.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zfaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Mackie
|
@@ -16,8 +16,6 @@ executables: []
|
|
16
16
|
extensions: []
|
17
17
|
extra_rdoc_files: []
|
18
18
|
files:
|
19
|
-
- bin/utils/array_utils.rb
|
20
|
-
- bin/utils/module_utils.rb
|
21
19
|
- bin/zfaker.rb
|
22
20
|
- lib/config.rb
|
23
21
|
- lib/custom/internet.rb
|
data/bin/utils/array_utils.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
module ZFaker
|
2
|
-
# Module ArrayUtils
|
3
|
-
module ArrayUtils
|
4
|
-
def self.const_array(argument)
|
5
|
-
array = argument.is_a?(Array) ? argument : argument.to_a
|
6
|
-
array.extend ArrayUtils
|
7
|
-
freeze_all(array)
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.random_pick(array, n)
|
11
|
-
warn '[ArrayUtils.random_pick] is deprecated. Please use the Array#sample method'
|
12
|
-
array.sample(n)
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.rand(array)
|
16
|
-
warn '[ArrayUtils.rand] is deprecated. Please use the Array#sample method'
|
17
|
-
array.sample
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.freeze_all(array)
|
21
|
-
array.each(&:freeze)
|
22
|
-
array.freeze
|
23
|
-
array
|
24
|
-
end
|
25
|
-
|
26
|
-
def self.shuffle(array)
|
27
|
-
array.sort_by { Kernel.rand }
|
28
|
-
end
|
29
|
-
|
30
|
-
def random_pick(n)
|
31
|
-
warn '[ArrayUtils#random_pick] is deprecated. Please use the Array#sample method'
|
32
|
-
sample(n)
|
33
|
-
end
|
34
|
-
|
35
|
-
def rand
|
36
|
-
warn '[ArrayUtils#rand] is deprecated. Please use the Array#sample method'
|
37
|
-
sample
|
38
|
-
end
|
39
|
-
|
40
|
-
def freeze_all
|
41
|
-
ArrayUtils.freeze_all(self)
|
42
|
-
end
|
43
|
-
|
44
|
-
def shuffle
|
45
|
-
ArrayUtils.shuffle(self)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
data/bin/utils/module_utils.rb
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
require_relative './array_utils'
|
2
|
-
|
3
|
-
module ZFaker
|
4
|
-
# Module ModuleUtils
|
5
|
-
module ModuleUtils
|
6
|
-
def k(arg) ZFaker::ArrayUtils.const_array(arg)
|
7
|
-
end
|
8
|
-
|
9
|
-
def build_const(const_name, file)
|
10
|
-
data_path = file
|
11
|
-
reader = k File.read(data_path).split("\n")
|
12
|
-
arrout = []
|
13
|
-
reader.each do |x|
|
14
|
-
cut = x.split(' ')
|
15
|
-
if cut.size > 1 && cut[0].integer?
|
16
|
-
weight = cut[0].to_i
|
17
|
-
element = cut[1..-1].join(' ')
|
18
|
-
element = '' if element == '<blank>'
|
19
|
-
else
|
20
|
-
weight = 1
|
21
|
-
element = cut[0..-1].join(' ')
|
22
|
-
end
|
23
|
-
weight.times { arrout.push(element) }
|
24
|
-
end
|
25
|
-
const_set const_name.upcase, arrout
|
26
|
-
arrout
|
27
|
-
end
|
28
|
-
|
29
|
-
def underscore(string)
|
30
|
-
string.gsub(/::/, '/')
|
31
|
-
.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
32
|
-
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
33
|
-
.tr('-', '_')
|
34
|
-
.downcase
|
35
|
-
end
|
36
|
-
|
37
|
-
def unique_sample(arr)
|
38
|
-
sample = ''
|
39
|
-
collisions = 0
|
40
|
-
loop do
|
41
|
-
sample = yield
|
42
|
-
break unless arr.include? sample
|
43
|
-
collisions += 1
|
44
|
-
fail 'Too Many Collisions: ' + collisions.to_s if collisions > (arr.size + 50) * 10
|
45
|
-
end
|
46
|
-
arr.push sample
|
47
|
-
sample
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
# String Class
|
53
|
-
class String
|
54
|
-
def integer?
|
55
|
-
[ # In descending order of likeliness:
|
56
|
-
/^[-+]?[1-9]([0-9]*)?$/, # decimal
|
57
|
-
/^0[0-7]+$/, # octal
|
58
|
-
/^0x[0-9A-Fa-f]+$/, # hexadecimal
|
59
|
-
/^0b[01]+$/ # binary
|
60
|
-
].each do |match_pattern|
|
61
|
-
return true if self =~ match_pattern
|
62
|
-
end
|
63
|
-
false
|
64
|
-
end
|
65
|
-
end
|