named_seeds 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -10
- data/README.md +20 -8
- data/TODO.md +11 -0
- data/lib/named_seeds/databases.rake +9 -0
- data/lib/named_seeds/railtie.rb +23 -1
- data/lib/named_seeds/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6cc9bae42fb37125febba9953cc0420dc4ad3a23
|
4
|
+
data.tar.gz: 111aaa25369c765dcaf8f106b732ffa1ccf7365e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00774f35d40c75d3d284bf997170d3f708fa14c6d35dc8ade743fa98f2728b9d3cc4c6590362dc84b758e52209140fcd22cf9ad3f69a788d306e0357ceaad846
|
7
|
+
data.tar.gz: f45e613115a4119907814891ec3d510d10b7fbeff88e4cadb962e3033283a47d1e59a841d7b6ef94151ddf9d3ad28a2660242ccfee95e05b0b0c6ba17c1e26ca
|
data/CHANGELOG.md
CHANGED
@@ -1,32 +1,48 @@
|
|
1
1
|
|
2
|
-
|
2
|
+
# Change Log
|
3
|
+
|
4
|
+
Always keep a change log. See: http://keepachangelog.com
|
5
|
+
|
6
|
+
|
7
|
+
## v2.0.1 - 2015-03-29
|
8
|
+
|
9
|
+
* Added: `custom_seed_file` config. Use this to set a file other than `db/seeds.rb` for loading.
|
10
|
+
* Added: `load_app_seed_file` config which defaults to true. Use to disable `db/seeds.rb` when calling `NamedSeeds.load_seed`, typically for test env.
|
11
|
+
|
12
|
+
|
13
|
+
## v2.0.0 - 2015-03-25
|
14
|
+
|
15
|
+
* New version tested for Rails v4.0 to v4.2.
|
16
|
+
|
17
|
+
|
18
|
+
## v1.1.0 - 2014-11-27
|
3
19
|
|
4
20
|
* Many changes to support new Rails 4.2 sync test schema strategy.
|
5
|
-
|
6
|
-
|
21
|
+
* The test:prepare Task Might Be Useless Now? - http://git.io/mu2F2Q
|
22
|
+
* Bring back db:test:prepare - http://git.io/VKEwhg
|
7
23
|
|
8
24
|
|
9
|
-
|
25
|
+
## v1.0.4
|
10
26
|
|
11
|
-
* Make
|
27
|
+
* Make db:development:seed automatic based on Rails db:setup convention.
|
12
28
|
|
13
29
|
|
14
|
-
|
30
|
+
## v1.0.3
|
15
31
|
|
16
32
|
* Slacker rails dep version. 3.1 or up.
|
17
33
|
|
18
34
|
|
19
|
-
|
35
|
+
## v1.0.2
|
20
36
|
|
21
37
|
* Added a db:development:seed rake task.
|
22
38
|
* Update docs a bit more.
|
23
39
|
|
24
40
|
|
25
|
-
|
41
|
+
## v1.0.1
|
26
42
|
|
27
43
|
* Do nothing unless there is a seed file.
|
28
44
|
|
29
45
|
|
30
|
-
|
46
|
+
## v1.0.0 - 2012-03-26
|
31
47
|
|
32
|
-
|
48
|
+
Initial release
|
data/README.md
CHANGED
@@ -172,20 +172,32 @@ DatabaseCleaner.clean
|
|
172
172
|
|
173
173
|
## Configurations
|
174
174
|
|
175
|
+
All configurations are best done in a `config/initializers/named_seeds.rb` file using a defined check as shown below. All other examples below assume this convention.
|
176
|
+
|
177
|
+
```ruby
|
178
|
+
if defined?(NamedSeeds)
|
179
|
+
Rails.application.config.named_seeds
|
180
|
+
end
|
181
|
+
```
|
182
|
+
|
175
183
|
#### Other Rails::Engine And Seed Loaders
|
176
184
|
|
177
185
|
Rails::Engines are a great way to distribute shared functionality. Rails exposes a hook called `load_seed` that an engine can implement. These are great for seeding tables that an engine's models may need. You can tell NamedSeeds to use any object that responds to `load_seed` and each will be called after `db/seeds.rb` is loaded. For example:
|
178
186
|
|
179
187
|
```ruby
|
180
|
-
|
188
|
+
config.named_seeds.engines_with_load_seed = [
|
189
|
+
GeoData::Engine,
|
190
|
+
OurLookupTables
|
191
|
+
]
|
192
|
+
```
|
181
193
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
194
|
+
#### Custom Seed File
|
195
|
+
|
196
|
+
By default, the NamedSeeds gem relies on Rails `db/seeds.rb` as your seed file. Some people use this file for setting up new production instances while others have code in this file that is something completely different. If this file is not safe for development/test then you should really re-examine your usage of `db/seeds.rb` since Rails loads this file on the `db:setup` task automatically. If you do not want to use this for your development/test seed data, then you can customize the location. However, NamedSeeds does this by running our own `named_seeds:setup` task after the Rails `db:setup` task. So the result is still somewhat the same for development but this does keep `db/seeds.rb` out of the test environment.
|
197
|
+
|
198
|
+
```ruby
|
199
|
+
config.named_seeds.load_app_seed_file = false
|
200
|
+
config.named_seeds.custom_seed_file = 'db/seeds_devtest.rb'
|
189
201
|
```
|
190
202
|
|
191
203
|
|
data/TODO.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
|
2
|
+
## Get RSpec Working
|
3
|
+
|
4
|
+
https://semaphoreci.com/community/tutorials/getting-started-with-rspec
|
5
|
+
|
6
|
+
|
7
|
+
## Prepare for v2
|
8
|
+
|
9
|
+
http://chriskottom.com/blog/2014/11/fixing-fixtures/
|
10
|
+
|
11
|
+
|
1
12
|
## Alternative Solutions
|
2
13
|
|
3
14
|
There are no absolutes, especially when it comes to software. That said, we think NamedSeeds is the best way to use fixtures. It encourages... (good factoies)
|
data/lib/named_seeds/railtie.rb
CHANGED
@@ -4,20 +4,42 @@ module NamedSeeds
|
|
4
4
|
class Railtie < Rails::Railtie
|
5
5
|
|
6
6
|
config.named_seeds = ActiveSupport::OrderedOptions.new
|
7
|
+
config.named_seeds.load_app_seed_file = true
|
8
|
+
config.named_seeds.custom_seed_file = nil
|
7
9
|
config.named_seeds.engines_with_load_seed = []
|
8
10
|
|
9
11
|
config.before_initialize do |app|
|
10
12
|
ActiveRecord::Tasks::DatabaseTasks.seed_loader = NamedSeeds::Railtie
|
11
13
|
end
|
12
14
|
|
15
|
+
rake_tasks do
|
16
|
+
load 'named_seeds/databases.rake'
|
17
|
+
end
|
18
|
+
|
13
19
|
def load_seed
|
14
|
-
|
20
|
+
load_app_seed_file
|
21
|
+
load_custom_seed_file
|
22
|
+
engines_load_seed
|
23
|
+
end
|
24
|
+
|
25
|
+
def db_setup
|
26
|
+
load_custom_seed_file
|
15
27
|
engines_load_seed
|
16
28
|
end
|
17
29
|
|
18
30
|
|
19
31
|
protected
|
20
32
|
|
33
|
+
def load_app_seed_file
|
34
|
+
Rails.application.load_seed if config.named_seeds.load_app_seed_file
|
35
|
+
end
|
36
|
+
|
37
|
+
def load_custom_seed_file
|
38
|
+
return unless config.named_seeds.custom_seed_file
|
39
|
+
custom_seed_file = Rails.root.join(config.named_seeds.custom_seed_file)
|
40
|
+
load(custom_seed_file) if File.exists?(custom_seed_file)
|
41
|
+
end
|
42
|
+
|
21
43
|
def engines_load_seed
|
22
44
|
config.named_seeds.engines_with_load_seed.each { |engine| engine.load_seed }
|
23
45
|
end
|
data/lib/named_seeds/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: named_seeds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Collins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -127,6 +127,7 @@ files:
|
|
127
127
|
- Rakefile
|
128
128
|
- TODO.md
|
129
129
|
- lib/named_seeds.rb
|
130
|
+
- lib/named_seeds/databases.rake
|
130
131
|
- lib/named_seeds/dsl.rb
|
131
132
|
- lib/named_seeds/identity.rb
|
132
133
|
- lib/named_seeds/rails.rb
|