modlr 0.0.5.1 → 0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@ h1. Modlr
2
2
 
3
3
  *Modlr* is a test data generation utility for Ruby on Rails which allows specification of data type (names, email addresses, phone numbers, etc).
4
4
 
5
- == <hr/> ==
5
+ notextile. <hr/>
6
6
 
7
7
  h2. Installation
8
8
 
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'optparse'
4
+ require 'fileutils'
5
+
6
+ OptionParser.new do |opts|
7
+ opts.banner = "Usage: #{File.basename($0)} [path]"
8
+
9
+ begin
10
+ opts.parse!(ARGV)
11
+ rescue OptionParser::ParseError => e
12
+ warn e.message
13
+ puts opts
14
+ exit 1
15
+ end
16
+ end
17
+
18
+ if ARGV.empty?
19
+ abort "Please specify the directory to set up Modlr, e.g. `#{File.basename($0)} .'"
20
+ elsif !File.exists?(ARGV.first)
21
+ abort "`#{ARGV.first}' does not exist."
22
+ elsif !File.directory?(ARGV.first)
23
+ abort "`#{ARGV.first}' is not a directory."
24
+ elsif ARGV.length > 1
25
+ abort "Too many arguments; please specify only the directory to set up Modlr."
26
+ end
27
+
28
+
29
+ configcontent = <<-FILE
30
+ # Use this file to easily set up which models you want to use Modlr with.
31
+ #
32
+ # For documentation, check out http://nicholasradford.com/modlr.html
33
+ #
34
+ # eg. modlr User, {:number => 32, :client_name => :name, :client_email => :email}
35
+ FILE
36
+ configfile = 'config/modlr.rb'
37
+
38
+ initcontent = <<-FILE
39
+ require "modlr"
40
+ Modlr.read_config_file
41
+ FILE
42
+ initfile = 'config/initializers/modlr.rb'
43
+
44
+ base = ARGV.shift
45
+
46
+ configfile = File.join(base, configfile)
47
+ if File.exists?(configfile)
48
+ warn "[skip] `#{configfile}' already exists"
49
+ elsif File.exists?(configfile.downcase)
50
+ warn "[skip] `#{configfile.downcase}' exists, which could conflict with `#{configfile}'"
51
+ elsif !File.exists?(File.dirname(configfile))
52
+ warn "[skip] directory `#{File.dirname(configfile)}' does not exist"
53
+ else
54
+ puts "[add] writing `#{configfile}'"
55
+ File.open(configfile, "w") { |f| f.write(configcontent) }
56
+ end
57
+
58
+ initfile = File.join(base, initfile)
59
+ if File.exists?(initfile)
60
+ warn "[skip] `#{initfile}' already exists"
61
+ elsif File.exists?(initfile.downcase)
62
+ warn "[skip] `#{initfile.downcase}' exists, which could conflict with `#{initfile}'"
63
+ elsif !File.exists?(File.dirname(initfile))
64
+ warn "[skip] directory `#{File.dirname(initfile)}' does not exist"
65
+ else
66
+ puts "[add] writing `#{initfile}'"
67
+ File.open(initfile, "w") { |f| f.write(initcontent) }
68
+ end
69
+
70
+ puts "[done] Modlr set up successfully!"
@@ -17,9 +17,10 @@ module Modlr
17
17
  # will create 100 user records with names and ages which make sense.
18
18
  #
19
19
  #
20
- ##
21
- def initialize
22
-
20
+ ##
21
+ def self.read_config_file
22
+ data = File.read("config/modlr.rb")
23
+ eval(data)
23
24
  end
24
25
 
25
26
  def self.modlr(model, args = nil)
@@ -49,9 +50,9 @@ module Modlr
49
50
  when :child
50
51
  Age.child
51
52
  when :phone
52
- Phone.rand
53
+ Phone.random
53
54
  when :address
54
- Address.rand
55
+ Address.random
55
56
  when :email
56
57
  Email.us
57
58
  end
@@ -1,7 +1,7 @@
1
1
  module Modlr
2
2
  module Email
3
3
  def self.us
4
- "mandrig@gmail.com"
4
+ Name.rand_first_name + "." + Name.rand_last_name + "@" + Name.rand_last_name + ".com"
5
5
  end
6
6
  end
7
7
  end
@@ -1,3 +1,3 @@
1
1
  module Modlr
2
- VERSION = "0.0.5.1"
2
+ VERSION = "0.1"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: modlr
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.5.1
5
+ version: "0.1"
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nick Radford
@@ -17,8 +17,8 @@ dependencies: []
17
17
  description: Generate some sensical test data for your models.
18
18
  email:
19
19
  - nick@nicholasradford.com
20
- executables: []
21
-
20
+ executables:
21
+ - modlr
22
22
  extensions: []
23
23
 
24
24
  extra_rdoc_files: []
@@ -28,6 +28,7 @@ files:
28
28
  - Gemfile
29
29
  - README.textile
30
30
  - Rakefile
31
+ - bin/modlr
31
32
  - lib/modlr.rb
32
33
  - lib/modlr/address.rb
33
34
  - lib/modlr/ages.rb