seed_upgrade 0.1.0
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/.gitignore +4 -0
- data/CHANGELOG +4 -0
- data/Gemfile +4 -0
- data/README.markdown +55 -0
- data/Rakefile +1 -0
- data/lib/generators/seed_upgrade/install/USAGE +2 -0
- data/lib/generators/seed_upgrade/install/install_generator.rb +24 -0
- data/lib/generators/seed_upgrade/install/templates/application.rake +26 -0
- data/lib/generators/seed_upgrade/install/templates/seeds_for_dev.rb +23 -0
- data/lib/generators/seed_upgrade/model/USAGE +2 -0
- data/lib/generators/seed_upgrade/model/model_generator.rb +14 -0
- data/lib/seed_upgrade/railtie.rb +11 -0
- data/lib/seed_upgrade/version.rb +4 -0
- data/lib/seed_upgrade.rb +8 -0
- data/seed_upgrade.gemspec +29 -0
- metadata +138 -0
data/.gitignore
ADDED
data/CHANGELOG
ADDED
data/Gemfile
ADDED
data/README.markdown
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
#SeedUpgrade
|
2
|
+
|
3
|
+
SeedUpgrade is a seed upgrade plugin for Rails3.
|
4
|
+
|
5
|
+
* https://github.com/vkill/seed_upgrade
|
6
|
+
|
7
|
+
##Supported versions
|
8
|
+
|
9
|
+
* Ruby 1.8.7, 1.9.2, 1.9.3
|
10
|
+
|
11
|
+
* Rails 3.0.x, 3.1
|
12
|
+
|
13
|
+
|
14
|
+
##Installation
|
15
|
+
|
16
|
+
In your app's `Gemfile`, add:
|
17
|
+
|
18
|
+
gem "seed_upgrade", "~> 0.1.0"
|
19
|
+
|
20
|
+
Then run:
|
21
|
+
|
22
|
+
bundle
|
23
|
+
rails generate seed_upgrade:install
|
24
|
+
|
25
|
+
|
26
|
+
##Uninstallation
|
27
|
+
|
28
|
+
Run:
|
29
|
+
|
30
|
+
rails destroy seed_upgrade:install
|
31
|
+
|
32
|
+
|
33
|
+
##Usage Example
|
34
|
+
|
35
|
+
When your generate post model, then hook invoke, create `db/seeds/post.rb` file
|
36
|
+
|
37
|
+
rails g model post title:string
|
38
|
+
invoke active_record
|
39
|
+
create db/migrate/20111117151257_create_posts.rb
|
40
|
+
create app/models/post.rb
|
41
|
+
invoke test_unit
|
42
|
+
create test/unit/post_test.rb
|
43
|
+
create test/fixtures/posts.yml
|
44
|
+
invoke seed_upgrade
|
45
|
+
create db/seeds/post.rb
|
46
|
+
|
47
|
+
Then run the following command, the rake is in `lib/tasks/application.rake`, it auto load `db/seeds/post.rb`
|
48
|
+
|
49
|
+
bundle exec rake app:dev:reload
|
50
|
+
|
51
|
+
|
52
|
+
##Copyright
|
53
|
+
|
54
|
+
Copyright (c) 2011 vkill.net .
|
55
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class SeedUpgrade::InstallGenerator < Rails::Generators::Base
|
2
|
+
source_root File.expand_path('../templates', __FILE__)
|
3
|
+
|
4
|
+
def mkdir_seeds_dir
|
5
|
+
create_file 'db/seeds/USAGE' do
|
6
|
+
%Q`
|
7
|
+
Generate seed with model, if you use machinist,
|
8
|
+
e.g.
|
9
|
+
|
10
|
+
# user.rb
|
11
|
+
10.times { User.make! }
|
12
|
+
`
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_seeds_for_dev_file
|
17
|
+
template 'seeds_for_dev.rb', 'db/seeds_for_dev.rb'
|
18
|
+
end
|
19
|
+
|
20
|
+
def create_seeds_for_dev_rake
|
21
|
+
template 'application.rake', 'lib/tasks/application.rake'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
namespace :app do
|
2
|
+
namespace :dev do
|
3
|
+
desc "recreates the development database from migration, and updates the db schema if necessary"
|
4
|
+
task :reload => :environment do
|
5
|
+
puts "running rake db:drop"
|
6
|
+
Rake::Task['db:drop'].invoke
|
7
|
+
|
8
|
+
puts "running rake db:create"
|
9
|
+
Rake::Task['db:create'].invoke
|
10
|
+
|
11
|
+
puts "running rake db:migrate"
|
12
|
+
Rake::Task['db:migrate'].invoke
|
13
|
+
|
14
|
+
puts "running seeds_for_dev"
|
15
|
+
load Rails.root.join('db', 'seeds_for_dev.rb').to_s
|
16
|
+
|
17
|
+
puts "running rake db:test:clone"
|
18
|
+
Rake::Task['db:test:clone'].invoke
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "alias as app:dev:reload"
|
22
|
+
task :init => :reload
|
23
|
+
|
24
|
+
end if Rails.env.development?
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'database_cleaner'
|
3
|
+
DatabaseCleaner.strategy = :truncation
|
4
|
+
DatabaseCleaner.clean
|
5
|
+
|
6
|
+
|
7
|
+
begin
|
8
|
+
require Rails.root.join('spec', 'support', 'blueprints')
|
9
|
+
rescue LoadError
|
10
|
+
begin
|
11
|
+
require Rails.root.join('test', 'blueprints')
|
12
|
+
rescue LoadError
|
13
|
+
raise "please execute `rails g machinist:install`"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
Dir[Rails.root.join('db', 'seeds', '*.rb').to_s].each do |file|
|
19
|
+
puts "== Loading #{ File.basename(file, '.rb').camelize } seed"
|
20
|
+
load(file)
|
21
|
+
puts "== Done"
|
22
|
+
end
|
23
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class SeedUpgrade::ModelGenerator < Rails::Generators::NamedBase
|
2
|
+
source_root File.expand_path('../templates', __FILE__)
|
3
|
+
|
4
|
+
def create_seed
|
5
|
+
create_file "db/seeds/#{ singular_name }.rb" do
|
6
|
+
%Q`
|
7
|
+
10.times do
|
8
|
+
#{ human_name }.make!
|
9
|
+
end
|
10
|
+
`
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module SeedUpgrade
|
2
|
+
class Railtie < ::Rails::Railtie
|
3
|
+
generators do
|
4
|
+
require File.expand_path("../../generators/seed_upgrade/model/model_generator", __FILE__)
|
5
|
+
require 'rails/generators/rails/model/model_generator'
|
6
|
+
Rails::Generators::ModelGenerator.send(:hook_for, :seed_upgrade)
|
7
|
+
Rails::Generators::ModelGenerator.send(:class_option, :seed_upgrade, :default => true)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
data/lib/seed_upgrade.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "seed_upgrade/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "seed_upgrade"
|
7
|
+
s.version = SeedUpgrade::VERSION
|
8
|
+
s.authors = ["vkill"]
|
9
|
+
s.email = ["vkill.net@gmail.com"]
|
10
|
+
s.homepage = "https://github.com/vkill/seed_upgrade"
|
11
|
+
s.summary = "A seed upgrade plugin for Rails3."
|
12
|
+
s.description = "A seed upgrade plugin for Rails3."
|
13
|
+
|
14
|
+
s.rubyforge_project = "seed_upgrade"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_development_dependency 'bundler'
|
22
|
+
s.add_development_dependency "rake"
|
23
|
+
s.add_development_dependency "rspec"
|
24
|
+
s.add_development_dependency "guard-rspec"
|
25
|
+
s.add_dependency "rails", "~> 3.0"
|
26
|
+
s.add_dependency "database_cleaner"
|
27
|
+
s.add_dependency "machinist"
|
28
|
+
end
|
29
|
+
|
metadata
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: seed_upgrade
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- vkill
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-11-17 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: &70583870 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70583870
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &70583660 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70583660
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &70583450 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70583450
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: guard-rspec
|
49
|
+
requirement: &70583240 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70583240
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rails
|
60
|
+
requirement: &70582990 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '3.0'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70582990
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: database_cleaner
|
71
|
+
requirement: &70582780 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70582780
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: machinist
|
82
|
+
requirement: &70582550 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70582550
|
91
|
+
description: A seed upgrade plugin for Rails3.
|
92
|
+
email:
|
93
|
+
- vkill.net@gmail.com
|
94
|
+
executables: []
|
95
|
+
extensions: []
|
96
|
+
extra_rdoc_files: []
|
97
|
+
files:
|
98
|
+
- .gitignore
|
99
|
+
- CHANGELOG
|
100
|
+
- Gemfile
|
101
|
+
- README.markdown
|
102
|
+
- Rakefile
|
103
|
+
- lib/generators/seed_upgrade/install/USAGE
|
104
|
+
- lib/generators/seed_upgrade/install/install_generator.rb
|
105
|
+
- lib/generators/seed_upgrade/install/templates/application.rake
|
106
|
+
- lib/generators/seed_upgrade/install/templates/seeds_for_dev.rb
|
107
|
+
- lib/generators/seed_upgrade/model/USAGE
|
108
|
+
- lib/generators/seed_upgrade/model/model_generator.rb
|
109
|
+
- lib/seed_upgrade.rb
|
110
|
+
- lib/seed_upgrade/railtie.rb
|
111
|
+
- lib/seed_upgrade/version.rb
|
112
|
+
- seed_upgrade.gemspec
|
113
|
+
homepage: https://github.com/vkill/seed_upgrade
|
114
|
+
licenses: []
|
115
|
+
post_install_message:
|
116
|
+
rdoc_options: []
|
117
|
+
require_paths:
|
118
|
+
- lib
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
127
|
+
requirements:
|
128
|
+
- - ! '>='
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
requirements: []
|
132
|
+
rubyforge_project: seed_upgrade
|
133
|
+
rubygems_version: 1.8.10
|
134
|
+
signing_key:
|
135
|
+
specification_version: 3
|
136
|
+
summary: A seed upgrade plugin for Rails3.
|
137
|
+
test_files: []
|
138
|
+
has_rdoc:
|