dummy 0.5.2 → 0.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -27,7 +27,29 @@ Features:
27
27
 
28
28
  Features:
29
29
  - added tests for the data generators and rails generator
30
- - fixed multiple bugs and added small improvements
30
+ - small improvements
31
31
  - added documentation
32
32
 
33
+ Fixes:
34
+ - various minor bugs
35
+
36
+ ## 0.5.1 (July 29, 2010)
37
+
38
+ Fixes:
39
+ - fixed a bug where magic integers were being returned as strings
40
+
41
+ ## 0.5.2 (July 30, 2010)
42
+
43
+ Features:
44
+ - added option to manually configure the amount of records to generate for each model
45
+
46
+ ## 0.6 (July 31, 2010)
47
+
48
+ Features:
49
+ - added option to define the output folder where the YAML files are placed
50
+
51
+ Fixes:
52
+ - Removed unused core extensions (for now)
53
+ - fixed some outdated tests
54
+
33
55
 
data/README.md CHANGED
@@ -18,8 +18,15 @@ Add the following to the Gemfile of your Rails 3 application:
18
18
  Now you have access to the generator:
19
19
  rails generate dummy:data
20
20
 
21
- You can also change the base amount of records and the growth ratio (what these mean exactly is explained latter on):
22
- rails generate dummy:data --base-amount=5 --growth-ratio=1.5
21
+ You can change the base amount of records and the growth ratio (what these mean exactly is explained latter on):
22
+ rails generate dummy:data --base-amount 5 --growth-ratio 1.5
23
+
24
+ Also, you can manually define the amount of records to generate for each model (or just accept the defaults):
25
+ rails generate dummy:data --manual-amounts
26
+
27
+ And you can manually set the output folder for the YAML files (which defaults to test/dummy/data):
28
+ rails generate dummy:data --output-folder test/awesome_fixtures
29
+
23
30
 
24
31
  The fixtures are stored in _test/dummy/_ while a rake file is placed in _lib/tasks/dummy.rake_. It allows you to import the generated data into the database:
25
32
  RAILS_ENV="dummy" rake dummy:data:import
@@ -32,11 +39,11 @@ Another less conventional way of using dummy is to directly use its magic data g
32
39
  Example:
33
40
  require "dummy"
34
41
 
35
- Dummy.magic_data("mail", :string) => "nyasia@hotmail.com"
36
- Dummy.magic_data("company_motto", :string) => "engineer intuitive functionalities"
37
- Dummy.magic_data("state", :string) => "Louisiana"
38
- Dummy.magic_data("lat", :float) => -86.718683637
39
- Dummy.magic_data("phone", :integer) => "9462876293"
42
+ Dummy.magic_data("mail", :string) => "nyasia@hotmail.com"
43
+ Dummy.magic_data("company_motto", :string) => "engineer intuitive functionalities"
44
+ Dummy.magic_data("state", :string) => "Louisiana"
45
+ Dummy.magic_data("lat", :float) => -86.718683637
46
+ Dummy.magic_data("phone", :integer) => 9462876293
40
47
 
41
48
 
42
49
  ## More information
data/lib/dummy/address.rb CHANGED
@@ -3,7 +3,7 @@ module Dummy
3
3
  extend self
4
4
 
5
5
  def zip_code
6
- Dummy.numerify ZIP_FORMATS.rand
6
+ ZIP_FORMATS.rand.numerify
7
7
  end
8
8
 
9
9
  def us_state
@@ -28,7 +28,7 @@ module Dummy
28
28
  def street_address
29
29
  str = ("#" * rand(3)) << "### #{street_name}"
30
30
 
31
- Dummy.numerify(str)
31
+ str.numerify
32
32
  end
33
33
 
34
34
  def neighborhood
@@ -0,0 +1,5 @@
1
+ class Array
2
+ def rand
3
+ self[super(self.length)]
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def numerify
3
+ gsub(/#/) { rand(10).to_s }
4
+ end
5
+ end
@@ -0,0 +1,2 @@
1
+ require "dummy/core_ext/array"
2
+ require "dummy/core_ext/string"
@@ -3,7 +3,7 @@ module Dummy
3
3
  extend self
4
4
 
5
5
  def phone_number
6
- Dummy.numerify case rand(20)
6
+ format = case rand(20)
7
7
  when 0 then "###-###-#### x#####"
8
8
  when 1 then "###-###-#### x####"
9
9
  when 2 then "###-###-#### x###"
@@ -21,10 +21,12 @@ module Dummy
21
21
  when 17 then "1-###-###-#### x###"
22
22
  when 18..19 then "1-###-###-####"
23
23
  end
24
+
25
+ format.numerify
24
26
  end
25
27
 
26
28
  def phone_number_short
27
- Dummy.numerify("###-###-####")
29
+ "###-###-####".numerify
28
30
  end
29
31
  end
30
32
  end
data/lib/dummy.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "rubygems"
2
+ require "dummy/core_ext"
2
3
  require "dummy/address"
3
4
  require "dummy/company"
4
5
  require "dummy/internet"
@@ -10,18 +11,6 @@ require "generators/dummy_generator"
10
11
 
11
12
  module Dummy
12
13
  class << self
13
-
14
- def numerify(number_string)
15
- number_string.gsub(/#/) { rand(10).to_s }
16
- end
17
-
18
- def letterify(letter_string)
19
- letter_string.gsub(/\?/) { ("a".."z").to_a.rand }
20
- end
21
-
22
- def bothify(string)
23
- letterify(numerify(string))
24
- end
25
14
 
26
15
  def magic_data(field, type)
27
16
  case type
@@ -122,7 +111,7 @@ module Dummy
122
111
  (z = z.to_i + 10000) if z[0] == "0"
123
112
  z.to_i
124
113
  when /street|road|address|residence|residency/
125
- Dummy.numerify(("#" * rand(3)) << "###").to_i
114
+ (("#" * rand(3)) << "###").numerify.to_i
126
115
  else
127
116
  rand(1000)
128
117
  end
@@ -147,15 +136,8 @@ module Dummy
147
136
  when /^(.*[-_:+ ])*(lon|lng)/ then
148
137
  Dummy::Geolocation.lng
149
138
  else
150
- Dummy.numerify(("#" * rand(4)) << "#.#" << ("#" * rand(8))).to_f
139
+ (("#" * rand(4)) << "#.#" << ("#" * rand(8))).numerify.to_f
151
140
  end
152
141
  end
153
142
  end
154
143
  end
155
-
156
- class Array
157
- def rand
158
- self[super(self.length)]
159
- end
160
- end
161
-
@@ -15,6 +15,8 @@ module Dummy
15
15
  :desc => "The growth ratio of each model, according to its associations."
16
16
  class_option :manual_amounts, :type => :boolean, :default => false,
17
17
  :desc => "Manually set the amount of records for each model."
18
+ class_option :output_folder, :type => :string, :default => "test/dummy/data",
19
+ :desc => "Folder to use when outputting the resulting YAML files."
18
20
 
19
21
  def install_dummy
20
22
  initialize_application
@@ -111,7 +113,7 @@ module Dummy
111
113
  end
112
114
 
113
115
  def generate_and_write_data
114
- empty_directory "test/dummy"
116
+ empty_directory options.output_folder
115
117
  data = Hash.new
116
118
 
117
119
  @models.each do |model, info|
@@ -138,7 +140,7 @@ module Dummy
138
140
 
139
141
  content << YAML.dump(fixtures)
140
142
 
141
- create_file "test/dummy/#{name}.yml", content
143
+ create_file "#{options.output_folder}/#{name}.yml", content
142
144
  end
143
145
  say_status :successful, "store fixtures"
144
146
  end
@@ -185,7 +187,7 @@ module Dummy
185
187
  end
186
188
 
187
189
  def copy_rake_file
188
- copy_file "dummy.rake", "lib/tasks/dummy.rake"
190
+ template "dummy.rake", "lib/tasks/dummy.rake"
189
191
  end
190
192
  end
191
193
  end
@@ -5,7 +5,7 @@ namespace :dummy do
5
5
  desc "Load the generated dummy data into the current environment's database."
6
6
  task :import => :environment do
7
7
  Fixtures.reset_cache
8
- fixtures_folder = File.join(Rails.root, 'test', 'dummy')
8
+ fixtures_folder = File.join(Rails.root, "<%= options.output_folder %>")
9
9
  fixtures = Dir[File.join(fixtures_folder, '*.yml')].map {|f| File.basename(f, '.yml') }
10
10
  Fixtures.create_fixtures(fixtures_folder, fixtures)
11
11
  end
metadata CHANGED
@@ -4,9 +4,8 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 5
8
- - 2
9
- version: 0.5.2
7
+ - 6
8
+ version: "0.6"
10
9
  platform: ruby
11
10
  authors:
12
11
  - "Gon\xC3\xA7alo Silva"
@@ -14,7 +13,7 @@ autorequire:
14
13
  bindir: bin
15
14
  cert_chain: []
16
15
 
17
- date: 2010-07-30 00:00:00 +01:00
16
+ date: 2010-07-31 00:00:00 +01:00
18
17
  default_executable:
19
18
  dependencies:
20
19
  - !ruby/object:Gem::Dependency
@@ -43,10 +42,13 @@ extensions: []
43
42
  extra_rdoc_files: []
44
43
 
45
44
  files:
45
+ - lib/dummy/core_ext.rb
46
46
  - lib/dummy/lorem.rb
47
47
  - lib/dummy/address.rb
48
48
  - lib/dummy/company.rb
49
49
  - lib/dummy/name.rb
50
+ - lib/dummy/core_ext/string.rb
51
+ - lib/dummy/core_ext/array.rb
50
52
  - lib/dummy/internet.rb
51
53
  - lib/dummy/geolocation.rb
52
54
  - lib/dummy/phone_number.rb