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 ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/CHANGELOG ADDED
@@ -0,0 +1,4 @@
1
+ == 0.1.0
2
+
3
+ * First release
4
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in seed_upgrade.gemspec
4
+ gemspec
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,2 @@
1
+ Description:
2
+
@@ -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,2 @@
1
+ Description:
2
+
@@ -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
+
@@ -0,0 +1,4 @@
1
+ module SeedUpgrade
2
+ VERSION = "0.1.0"
3
+ end
4
+
@@ -0,0 +1,8 @@
1
+ require "seed_upgrade/version"
2
+
3
+ require "rails"
4
+ require "seed_upgrade/railtie"
5
+
6
+ module SeedUpgrade
7
+ end
8
+
@@ -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: