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.
@@ -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: