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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 58c71687b35a1e49fd0c200b38d2b1866e15eaba
4
- data.tar.gz: ce9de9f8cd0a56dd3d34c39984d3a6251b4359bb
3
+ metadata.gz: 9f38b175d3f1c39b5dad79bd85d40be64431b2c2
4
+ data.tar.gz: 2e52fc365228aad373457629268bc493bcf9215d
5
5
  SHA512:
6
- metadata.gz: bdeeeebb1da9743aa8fc300bf691a3962d2f8051825e3863ad0215781bafeb4b621555d5c140b355acd023e8a522d30c87a061139c84d5931650e708795e190f
7
- data.tar.gz: e822da40fca827f3b492233cc741daf11d1ba4283c7f35d57d865d1841034288f0088f80703ea73888984e99e6e9759ae0fa90cd57935b0f42f7cd639de462b9
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
- BASE_LIB_PATH = File.expand_path('../zfaker/lib')
9
-
10
- LETTERS = [*'a'..'z']
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
- HEX = %w(0 1 2 3 4 5 6 7 8 9 A B C D E F)
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.hexify(*masks)
15
- masks.flatten.sample.gsub(/#/) { HEX.sample }
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.numerify(*masks)
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.letterify(*masks)
23
- masks.flatten.sample.gsub(/\?/) { LETTERS.sample }
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 self.bothify(masks)
27
- letterify(numerify(masks))
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
 
@@ -4,7 +4,8 @@ module ZFaker
4
4
  # Internet Module
5
5
  module Internet
6
6
  extend self
7
- extend ModuleUtils
7
+ extend ZFaker
8
+
8
9
  @emails = []
9
10
  @filler = ''
10
11
  @links = ''
data/lib/custom/name.rb CHANGED
@@ -4,7 +4,7 @@ module ZFaker
4
4
  # Name Module
5
5
  module Name
6
6
  extend self
7
- extend ModuleUtils
7
+ extend ZFaker
8
8
  @names = []
9
9
 
10
10
  def name(first = nil, last = nil)
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.7
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
@@ -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
@@ -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