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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ecc617dea1b86fbaaea2fe3a16c381ba67d26e84
4
- data.tar.gz: ba2a23916011c5572f70dd1c1b22a5dc1fe947ff
3
+ metadata.gz: 6cc9bae42fb37125febba9953cc0420dc4ad3a23
4
+ data.tar.gz: 111aaa25369c765dcaf8f106b732ffa1ccf7365e
5
5
  SHA512:
6
- metadata.gz: dab6ede0737548ebb3e27246c9812e5117daa2e6166617f31050d8d1943e15bd6b5759e99ff0012909bdfc30937d1dd1b6b986f2d477c62493b3a0b466252817
7
- data.tar.gz: 489d186ee125e43b2a8a56a0cc7125bd0bb1e7f0d9758e3fa7ed61b37873b2db8d41b6306edf9a2e330ab4e81954eec645af8411fde3ac6986e0133656116b54
6
+ metadata.gz: 00774f35d40c75d3d284bf997170d3f708fa14c6d35dc8ade743fa98f2728b9d3cc4c6590362dc84b758e52209140fcd22cf9ad3f69a788d306e0357ceaad846
7
+ data.tar.gz: f45e613115a4119907814891ec3d510d10b7fbeff88e4cadb962e3033283a47d1e59a841d7b6ef94151ddf9d3ad28a2660242ccfee95e05b0b0c6ba17c1e26ca
@@ -1,32 +1,48 @@
1
1
 
2
- ### v1.1.0
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
- - The `test:prepare` Task Might Be Useless Now? - http://git.io/mu2F2Q
6
- - Bring back `db:test:prepare` - http://git.io/VKEwhg
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
- ### v1.0.4
25
+ ## v1.0.4
10
26
 
11
- * Make `db:development:seed` automatic based on Rails `db:setup` convention.
27
+ * Make db:development:seed automatic based on Rails db:setup convention.
12
28
 
13
29
 
14
- ### v1.0.3
30
+ ## v1.0.3
15
31
 
16
32
  * Slacker rails dep version. 3.1 or up.
17
33
 
18
34
 
19
- ### v1.0.2
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
- ### v1.0.1
41
+ ## v1.0.1
26
42
 
27
43
  * Do nothing unless there is a seed file.
28
44
 
29
45
 
30
- ### v1.0.0
46
+ ## v1.0.0 - 2012-03-26
31
47
 
32
- * Initial release
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
- # In config/initializers/named_seeds.rb
188
+ config.named_seeds.engines_with_load_seed = [
189
+ GeoData::Engine,
190
+ OurLookupTables
191
+ ]
192
+ ```
181
193
 
182
- if defined?(NamedSeeds)
183
- Rails.application.config.named_seeds.engines_with_load_seed = [
184
- GeoData::Engine,
185
- OurLookupTables
186
- ]
187
- end
188
- end
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)
@@ -0,0 +1,9 @@
1
+ namespace :named_seeds do
2
+
3
+ task :setup => :environment do
4
+ NamedSeeds::Railtie.db_setup
5
+ end
6
+
7
+ end
8
+
9
+ Rake::Task['db:setup'].enhance { Rake::Task['named_seeds:setup'].invoke }
@@ -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
- Rails.application.load_seed
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
@@ -3,7 +3,7 @@ module NamedSeeds
3
3
  module VERSION
4
4
  MAJOR = 2
5
5
  MINOR = 0
6
- TINY = 0
6
+ TINY = 1
7
7
  PRE = nil
8
8
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
9
9
  end
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.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-25 00:00:00.000000000 Z
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