named_seeds 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,10 @@
1
1
 
2
+ ### v1.0.2
3
+
4
+ * Added a db:development:seed rake task.
5
+ * Update docs a bit more.
6
+
7
+
2
8
  ### v1.0.1
3
9
 
4
10
  * Do nothing unless there is a seed file.
data/README.md CHANGED
@@ -22,11 +22,11 @@ end
22
22
 
23
23
  ## Usage
24
24
 
25
- NamedSeeds requires that you create a `db/test/seeds.rb` file. The contents of this file can be anything you want. We recommend using some factory library like FactoryGirl or Machinist.
25
+ NamedSeeds requires that you create a `db/test/seeds.rb` file. The contents of this file can be anything you want. We recommend using a factory library like [FactoryGirl](https://github.com/thoughtbot/factory_girl) or [Machinist](https://github.com/notahat/machinist).
26
26
 
27
27
  ```ruby
28
28
  require 'factory_girl'
29
- require "#{Rails.root}/test/factories"
29
+ FactoryGirl.find_definitions rescue true
30
30
 
31
31
  @bob = FactoryGirl.create :user, :id => NamedSeeds.identify(:bob), :email => 'bob@test.com'
32
32
  ```
@@ -34,6 +34,22 @@ require "#{Rails.root}/test/factories"
34
34
  Use the `NamedSeeds.identify` method to give a name to the identity used for this record. You will be able to find this record using that name later on.
35
35
 
36
36
 
37
+ ### Rake Files
38
+
39
+ NamedSeeds includes two rake tasks. The `db:test:seeds` is the one that does all the work and is automatically called after Rails' `test:prepare` for you. So running your rake test tasks will create your test database and seed it for you automatically before your tests run.
40
+
41
+ The other task is `db:development:seed`. This task invokes the normal Rails' `db:seed` task, then loads the db/test/seeds.rb file while still in development mode. This second task provides a way for a developer to populate their development database with the same fixture story used for testing. This makes for easy adoptoin and learning your application as the test story is a 1 to 1 mapping of data in local development.
42
+
43
+ ```shell
44
+ $ rake db:test:seed # Run the seed data from db/test/seeds.rb and
45
+ # optional your Rails db/seeds.rb if you have
46
+ # configured `app_load_seed` below.
47
+
48
+ $ rake db:development:seed # Runs the normal Rails `db:seed` task then the
49
+ # loads the db/test/seeds.rb file.
50
+ ```
51
+
52
+
37
53
  #### Rails
38
54
 
39
55
  By default, Rails' ActiveSupport::TestCase has set the `use_transactional_fixtures` to true. So all you need to do is declare which tables have NamedSeeds keys.
@@ -77,7 +93,7 @@ Review how helper methods may map to custom table names. Like Rails did with #fi
77
93
 
78
94
  ## Configurations
79
95
 
80
- NamedSeeds is a `Rails::Railtie` that exposes a few `config` options. So open up the `config/environments/test.rb` and use the `config.named_seeds` options below.
96
+ NamedSeeds is a `Rails::Railtie` that exposes a few `config` options. So open up the `config/environments/development.rb` **(yes in development.rb)** and use the `config.named_seeds` options below.
81
97
 
82
98
  * *app_load_seed* - Load your Rails application's db/seeds.rb file into the test database. This is done before db/test/seeds.rb is loaded. Default is false.
83
99
  * *engines_with_load_seed* - Some Rails engines provide a load seed hook. If you want NamedSeed to call the engine's seed method into your tests database, push the engine constant to this array. Any object responding to `load_seed` sould work here too. Default is an empty array.
@@ -1,4 +1,16 @@
1
- namespace :db do
1
+ namespace :db do
2
+
3
+ namespace :development do
4
+
5
+ desc "Run all seeds for development"
6
+ task :seed => :environment do
7
+ Rake::Task["db:abort_if_pending_migrations"].invoke
8
+ Rake::Task["db:seed"].invoke
9
+ load NamedSeeds::Railtie.send(:seed_file)
10
+ end
11
+
12
+ end
13
+
2
14
  namespace :test do
3
15
 
4
16
  desc "Run the seed data from db/test/seeds.rb"
@@ -8,6 +20,7 @@ namespace :db do
8
20
  end
9
21
 
10
22
  end
23
+
11
24
  end
12
25
 
13
26
  task 'test:prepare' => 'db:test:seed'
@@ -1,3 +1,3 @@
1
1
  module NamedSeeds
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,108 +1,104 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: named_seeds
3
- version: !ruby/object:Gem::Version
4
- hash: 21
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 1
10
- version: 1.0.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ken Collins
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-27 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-12-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rails
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 5
29
- segments:
30
- - 3
31
- - 1
32
- version: "3.1"
20
+ - !ruby/object:Gem::Version
21
+ version: '3.1'
33
22
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: database_cleaner
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.1'
30
+ - !ruby/object:Gem::Dependency
31
+ name: database_cleaner
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
47
38
  type: :runtime
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: sqlite3
51
39
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
53
41
  none: false
54
- requirements:
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: sqlite3
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
55
51
  - - ~>
56
- - !ruby/object:Gem::Version
57
- hash: 9
58
- segments:
59
- - 1
60
- - 3
61
- version: "1.3"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.3'
62
54
  type: :development
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
- name: rake
66
55
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
68
57
  none: false
69
- requirements:
58
+ requirements:
70
59
  - - ~>
71
- - !ruby/object:Gem::Version
72
- hash: 63
73
- segments:
74
- - 0
75
- - 9
76
- - 2
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
77
69
  version: 0.9.2
78
70
  type: :development
79
- version_requirements: *id004
80
- - !ruby/object:Gem::Dependency
81
- name: minitest
82
71
  prerelease: false
83
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.9.2
78
+ - !ruby/object:Gem::Dependency
79
+ name: minitest
80
+ requirement: !ruby/object:Gem::Requirement
84
81
  none: false
85
- requirements:
82
+ requirements:
86
83
  - - ~>
87
- - !ruby/object:Gem::Version
88
- hash: 45
89
- segments:
90
- - 2
91
- - 8
92
- - 1
84
+ - !ruby/object:Gem::Version
93
85
  version: 2.8.1
94
86
  type: :development
95
- version_requirements: *id005
96
- description: Make you tests fast by augmenting them with transactional fixtures powered by your favorite factory library!
97
- email:
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 2.8.1
94
+ description: Make you tests fast by augmenting them with transactional fixtures powered
95
+ by your favorite factory library!
96
+ email:
98
97
  - ken@metaskills.net
99
98
  executables: []
100
-
101
99
  extensions: []
102
-
103
100
  extra_rdoc_files: []
104
-
105
- files:
101
+ files:
106
102
  - .gitignore
107
103
  - CHANGELOG.md
108
104
  - Gemfile
@@ -123,39 +119,31 @@ files:
123
119
  - test/test_helper.rb
124
120
  homepage: http://github.com/metaskills/named_seeds
125
121
  licenses: []
126
-
127
122
  post_install_message:
128
123
  rdoc_options: []
129
-
130
- require_paths:
124
+ require_paths:
131
125
  - lib
132
- required_ruby_version: !ruby/object:Gem::Requirement
126
+ required_ruby_version: !ruby/object:Gem::Requirement
133
127
  none: false
134
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- hash: 3
138
- segments:
139
- - 0
140
- version: "0"
141
- required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ required_rubygems_version: !ruby/object:Gem::Requirement
142
133
  none: false
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- hash: 3
147
- segments:
148
- - 0
149
- version: "0"
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
150
138
  requirements: []
151
-
152
139
  rubyforge_project:
153
- rubygems_version: 1.8.17
140
+ rubygems_version: 1.8.24
154
141
  signing_key:
155
142
  specification_version: 3
156
- summary: "Replace ActiveRecord::Fixtures With #{your_factory_lib}."
157
- test_files:
143
+ summary: ! 'Replace ActiveRecord::Fixtures With #{your_factory_lib}.'
144
+ test_files:
158
145
  - test/cases/base_test.rb
159
146
  - test/support/models.rb
160
147
  - test/support/schema.rb
161
148
  - test/test_helper.rb
149
+ has_rdoc: