named_seeds 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +6 -0
- data/README.md +19 -3
- data/lib/named_seeds/railties/databases.rake +14 -1
- data/lib/named_seeds/version.rb +1 -1
- metadata +84 -96
data/CHANGELOG.md
CHANGED
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
|
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
|
-
|
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/
|
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'
|
data/lib/named_seeds/version.rb
CHANGED
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
|
-
|
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
|
-
|
19
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
57
|
none: false
|
69
|
-
requirements:
|
58
|
+
requirements:
|
70
59
|
- - ~>
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
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
|
-
|
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
|
-
|
96
|
-
|
97
|
-
|
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
|
-
|
138
|
-
|
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
|
-
|
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.
|
140
|
+
rubygems_version: 1.8.24
|
154
141
|
signing_key:
|
155
142
|
specification_version: 3
|
156
|
-
summary:
|
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:
|