Module: DataMaker

Extended by:
ModuleUtilities
Defined in:
lib/data_maker.rb,
lib/data_maker/china/name.rb,
lib/data_maker/china/address.rb,
lib/data_maker/china/phone_number.rb,
lib/data_maker/utilities/array_utilities.rb,
lib/data_maker/utilities/module_utilities.rb,
lib/data_maker/validators/chinese_characters.rb,
lib/data_maker/validators/chinese_phone_number.rb

Defined Under Namespace

Modules: ArrayUtilities, China, ModuleUtilities, Validators

Constant Summary collapse

VERSION =
"2.1.3"
BASE_LIB_PATH =
File.expand_path("..", __FILE__)
LETTERS =
[*'a'..'z']
HEX =
%w(0 1 2 3 4 5 6 7 8 9 A B C D E F)

Class Method Summary collapse

Methods included from ModuleUtilities

const_missing, k, underscore

Class Method Details

.alphanumerify(masks) ⇒ Object



45
46
47
# File 'lib/data_maker.rb', line 45

def self.alphanumerify(masks)
  letterify(numerify(masks))
end

.hexify(*masks) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/data_maker.rb', line 15

def self.hexify(*masks)
  begin
    if valid_mask?(*masks, /#/)
      masks.flatten.sample.gsub(/#/) { HEX.sample }
    end
  rescue
    return false
  end
end

.letterify(*masks) ⇒ Object



35
36
37
38
39
40
41
42
43
# File 'lib/data_maker.rb', line 35

def self.letterify(*masks)
  begin
    if valid_mask?(*masks, /\?/)
      masks.flatten.sample.gsub(/\?/) { LETTERS.sample }
    end
  rescue
    return false
  end
end

.numerify(*masks) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/data_maker.rb', line 25

def self.numerify(*masks)
  begin
    if valid_mask?(*masks, /#/)
      masks.flatten.sample.gsub(/#/) { rand(10).to_s }
    end
  rescue
    return false
  end
end