Module: Faker::Cli
- Defined in:
- lib/faker/cli.rb,
lib/faker/cli/version.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.0.1"
Class Method Summary collapse
- .generate(options) ⇒ Object
- .generate_result(num, fields) ⇒ Object
- .int?(arg) ⇒ Boolean
- .make_fields ⇒ Object
- .run ⇒ Object
- .string?(arg) ⇒ Boolean
Class Method Details
.generate(options) ⇒ Object
79 80 81 |
# File 'lib/faker/cli.rb', line 79 def self.generate JSON.generate generate_result [:numentries], make_fields end |
.generate_result(num, fields) ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/faker/cli.rb', line 83 def self.generate_result num, fields result = num.times.map do |n| obj = {} fields.each do |field| faker_module = Faker.const_get field.type[0] fake = faker_module.send(field.type[1], *field.arguments) obj[field.name] = string? int? fake end obj end end |
.int?(arg) ⇒ Boolean
97 98 99 100 101 102 103 104 |
# File 'lib/faker/cli.rb', line 97 def self.int? arg begin arg = Integer arg rescue ArgumentError, TypeError end arg end |
.make_fields ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/faker/cli.rb', line 63 def self.make_fields ARGV.map do |arg| p = arg.split ":" p << "Lorem.word" if p.length == 1 name = p[0] type = p[1].match(/^[^\(\)]+/).to_s.split "." argmatch = p[1].match(/\(([^\)]+)\)/) args = [] args = argmatch[1].split(/,\s+/) if argmatch Field.new(name, type, args) end end |
.run ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/faker/cli.rb', line 51 def self.run = OptParse.parse ARGV [:numentries] = OptParse::DEFAULT_NUM unless .has_key? :numentries if ARGV.length < 1 then puts OptParse::parser.help exit end puts generate end |
.string?(arg) ⇒ Boolean
106 107 108 109 |
# File 'lib/faker/cli.rb', line 106 def self.string? arg arg = arg.join " " if arg.is_a? Array arg end |