zfaker 0.0.7 → 0.0.8

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 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