dump 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +1 -0
- data/.travis.database.yml +14 -0
- data/.travis.yml +30 -0
- data/Gemfile +20 -0
- data/LICENSE.txt +1 -1
- data/README.markdown +5 -3
- data/dump.gemspec +1 -2
- data/lib/dump_rake/dump.rb +4 -0
- data/lib/dump_rake/dump_reader.rb +1 -1
- data/lib/dump_rake/dump_writer.rb +1 -1
- data/lib/dump_rake/table_manipulation.rb +1 -1
- data/spec/.gitignore +18 -0
- data/spec/cycle_spec.rb +22 -14
- data/spec/dummy-2.3/config/boot.rb +114 -0
- data/spec/dummy-2.3/config/database.yml +22 -0
- data/spec/dummy-2.3/config/environment.rb +41 -0
- data/spec/dummy-2.3/config/environments/development.rb +17 -0
- data/spec/dummy-2.3/config/environments/production.rb +28 -0
- data/spec/dummy-2.3/config/environments/test.rb +28 -0
- data/spec/dummy-2.3/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-2.3/config/initializers/cookie_verification_secret.rb +7 -0
- data/spec/dummy-2.3/config/initializers/inflections.rb +10 -0
- data/spec/{dummy-3.1.3 → dummy-2.3}/config/initializers/mime_types.rb +0 -0
- data/spec/dummy-2.3/config/initializers/new_rails_defaults.rb +21 -0
- data/spec/dummy-2.3/config/initializers/session_store.rb +15 -0
- data/spec/dummy-2.3/config/locales/en.yml +5 -0
- data/spec/dummy-2.3/config/routes.rb +43 -0
- data/spec/dummy-2.3/db/seeds.rb +7 -0
- data/spec/dummy-3.0/.gitignore +4 -0
- data/spec/{dummy-3.1.3 → dummy-3.0}/config.ru +1 -1
- data/spec/dummy-3.0/config/application.rb +42 -0
- data/spec/{dummy-3.1.3 → dummy-3.0}/config/boot.rb +0 -0
- data/spec/dummy-3.0/config/database.yml +22 -0
- data/spec/{dummy-3.1.3 → dummy-3.0}/config/environment.rb +1 -1
- data/spec/dummy-3.0/config/environments/development.rb +26 -0
- data/spec/dummy-3.0/config/environments/production.rb +49 -0
- data/spec/dummy-3.0/config/environments/test.rb +35 -0
- data/spec/{dummy-3.1.3 → dummy-3.0}/config/initializers/backtrace_silencers.rb +0 -0
- data/spec/{dummy-3.1.3 → dummy-3.0}/config/initializers/inflections.rb +0 -0
- data/spec/dummy-3.0/config/initializers/mime_types.rb +5 -0
- data/spec/{dummy-3.1.3 → dummy-3.0}/config/initializers/secret_token.rb +1 -1
- data/spec/{dummy-3.1.3 → dummy-3.0}/config/initializers/session_store.rb +2 -2
- data/spec/dummy-3.0/config/locales/en.yml +5 -0
- data/spec/dummy-3.0/config/routes.rb +58 -0
- data/spec/dummy-3.0/db/seeds.rb +7 -0
- data/spec/{dummy-3.1.3 → dummy-3.1}/.gitignore +0 -0
- data/spec/dummy-3.1/config.ru +4 -0
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/application.rb +2 -7
- data/spec/dummy-3.1/config/boot.rb +6 -0
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/database.yml +0 -0
- data/spec/dummy-3.1/config/environment.rb +5 -0
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/environments/development.rb +1 -6
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/environments/production.rb +1 -14
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/environments/test.rb +1 -1
- data/spec/dummy-3.1/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-3.1/config/initializers/inflections.rb +10 -0
- data/spec/dummy-3.1/config/initializers/mime_types.rb +5 -0
- data/spec/dummy-3.1/config/initializers/secret_token.rb +7 -0
- data/spec/dummy-3.1/config/initializers/session_store.rb +8 -0
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/initializers/wrap_parameters.rb +0 -0
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/locales/en.yml +0 -0
- data/spec/{dummy-3.1.3 → dummy-3.1}/config/routes.rb +1 -1
- data/spec/{dummy-3.1.3 → dummy-3.1}/db/seeds.rb +0 -0
- data/spec/{dummy-3.1.3/app/mailers → dummy-3.1/log}/.gitkeep +0 -0
- data/spec/dummy-3.2/.gitignore +15 -0
- data/spec/dummy-3.2/config.ru +4 -0
- data/spec/dummy-3.2/config/application.rb +63 -0
- data/spec/dummy-3.2/config/boot.rb +6 -0
- data/spec/dummy-3.2/config/database.yml +25 -0
- data/spec/dummy-3.2/config/environment.rb +5 -0
- data/spec/dummy-3.2/config/environments/development.rb +32 -0
- data/spec/dummy-3.2/config/environments/production.rb +54 -0
- data/spec/dummy-3.2/config/environments/test.rb +37 -0
- data/spec/dummy-3.2/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-3.2/config/initializers/inflections.rb +15 -0
- data/spec/dummy-3.2/config/initializers/mime_types.rb +5 -0
- data/spec/dummy-3.2/config/initializers/secret_token.rb +7 -0
- data/spec/dummy-3.2/config/initializers/session_store.rb +8 -0
- data/spec/dummy-3.2/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy-3.2/config/locales/en.yml +5 -0
- data/spec/dummy-3.2/config/routes.rb +58 -0
- data/spec/dummy-3.2/db/seeds.rb +7 -0
- data/spec/{dummy-3.1.3/app/models → dummy-3.2/log}/.gitkeep +0 -0
- data/spec/dummy-4.0/.gitignore +16 -0
- data/spec/dummy-4.0/config.ru +4 -0
- data/spec/dummy-4.0/config/application.rb +31 -0
- data/spec/dummy-4.0/config/boot.rb +4 -0
- data/spec/dummy-4.0/config/database.yml +25 -0
- data/spec/dummy-4.0/config/environment.rb +5 -0
- data/spec/dummy-4.0/config/environments/development.rb +25 -0
- data/spec/dummy-4.0/config/environments/production.rb +65 -0
- data/spec/dummy-4.0/config/environments/test.rb +36 -0
- data/spec/dummy-4.0/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-4.0/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy-4.0/config/initializers/inflections.rb +16 -0
- data/spec/dummy-4.0/config/initializers/mime_types.rb +5 -0
- data/spec/dummy-4.0/config/initializers/secret_token.rb +12 -0
- data/spec/dummy-4.0/config/initializers/session_store.rb +3 -0
- data/spec/dummy-4.0/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy-4.0/config/locales/en.yml +23 -0
- data/spec/dummy-4.0/config/routes.rb +56 -0
- data/spec/dummy-4.0/db/seeds.rb +7 -0
- data/spec/{dummy-3.1.3/lib/assets/.gitkeep → dummy-4.0/log/.keep} +0 -0
- data/spec/lib/dump_rake/dump_reader_spec.rb +90 -89
- data/spec/lib/dump_rake/dump_spec.rb +9 -9
- data/spec/lib/dump_rake/dump_writer_spec.rb +79 -78
- data/spec/lib/dump_rake/rails_root_spec.rb +2 -2
- data/spec/lib/dump_rake/table_manipulation_spec.rb +10 -10
- data/spec/lib/dump_rake_spec.rb +34 -34
- data/spec/recipes/dump_spec.rb +34 -34
- data/spec/spec_helper.rb +35 -10
- data/spec/tasks/assets_spec.rb +6 -6
- metadata +240 -183
- data/spec/dummy-3.1.3/.rspec +0 -1
- data/spec/dummy-3.1.3/Gemfile +0 -14
- data/spec/dummy-3.1.3/Gemfile.lock +0 -133
- data/spec/dummy-3.1.3/README +0 -261
- data/spec/dummy-3.1.3/Rakefile +0 -7
- data/spec/dummy-3.1.3/app/assets/images/rails.png +0 -0
- data/spec/dummy-3.1.3/app/assets/javascripts/application.js +0 -9
- data/spec/dummy-3.1.3/app/assets/stylesheets/application.css +0 -7
- data/spec/dummy-3.1.3/app/controllers/application_controller.rb +0 -3
- data/spec/dummy-3.1.3/app/helpers/application_helper.rb +0 -2
- data/spec/dummy-3.1.3/app/views/layouts/application.html.erb +0 -14
- data/spec/dummy-3.1.3/doc/README_FOR_APP +0 -2
- data/spec/dummy-3.1.3/lib/tasks/.gitkeep +0 -0
- data/spec/dummy-3.1.3/log/.gitkeep +0 -0
- data/spec/dummy-3.1.3/public/404.html +0 -26
- data/spec/dummy-3.1.3/public/422.html +0 -26
- data/spec/dummy-3.1.3/public/500.html +0 -26
- data/spec/dummy-3.1.3/public/favicon.ico +0 -0
- data/spec/dummy-3.1.3/public/index.html +0 -241
- data/spec/dummy-3.1.3/public/robots.txt +0 -5
- data/spec/dummy-3.1.3/script/rails +0 -6
- data/spec/dummy-3.1.3/spec/spec_helper.rb +0 -32
- data/spec/dummy-3.1.3/vendor/assets/stylesheets/.gitkeep +0 -0
- data/spec/dummy-3.1.3/vendor/plugins/.gitkeep +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
Y2EzOWRiZTc2MWU1MDNiYWE5YzJjZjQzMDcwZjAwMTdhM2ExYmIzNQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Y2YxZDcwMjZjZjY4ZjBhYTM1ZjdhMTBjN2FkZjViZjc1NTExZGE3YQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Y2JmYjU5ODAwZGZhMmM1M2EwNjFkZmNiMjJhZDEwNjlkZDZjMjMxNGM1YzMw
|
10
|
+
MTZiODc2ZmI5YzA2ZTUzNTU5ZDhlNzZmMzRlZTUyZTA3M2UzOGNkMTQ2ZTI0
|
11
|
+
NTRkYjlkNDc3OTY5MmE2ODFlNjhhYjE2MzQ2MDY4Y2NjZGIyMWQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NjRjYTYxZjIyZGJiZTI4OTM2OWJmZGRkOGZlNjNiODkxYjEwM2I3NWFjNWM4
|
14
|
+
YjI1ZDNiNGM3NWM2Njg1NGU3ZGI5NjlhZmI2ZjE3NWRiMWRjYjk3NGU1MzM5
|
15
|
+
Njg0YjNhNjQwMjhiYmMyY2IwMzk3OWIyZDVlZGFjYWE1ZTNjMWE=
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 1.8.7
|
4
|
+
- 1.9.3
|
5
|
+
- 2.0.0
|
6
|
+
- jruby-19mode
|
7
|
+
- rbx-19mode
|
8
|
+
- ree
|
9
|
+
env:
|
10
|
+
- RAILS_VERSION='~> 2.3.0'
|
11
|
+
# - RAILS_VERSION='~> 3.0.0' # conflicting adapters for postgresql and mysql2
|
12
|
+
- RAILS_VERSION='~> 3.1.0'
|
13
|
+
- RAILS_VERSION='~> 3.2.0'
|
14
|
+
- RAILS_VERSION='~> 4.0.0'
|
15
|
+
script: "bundle exec rspec"
|
16
|
+
before_install:
|
17
|
+
- mysql -e 'create database myapp_test;'
|
18
|
+
- psql -c 'create database myapp_test;' -U postgres
|
19
|
+
- cp .travis.database.yml spec/db/database.yml
|
20
|
+
matrix:
|
21
|
+
allow_failures:
|
22
|
+
- rvm: jruby-19mode
|
23
|
+
- rvm: rbx-19mode
|
24
|
+
exclude:
|
25
|
+
- rvm: 1.8.7 # not supported by rails 4
|
26
|
+
env: RAILS_VERSION='~> 4.0.0'
|
27
|
+
- rvm: ree # not supported by rails 4
|
28
|
+
env: RAILS_VERSION='~> 4.0.0'
|
29
|
+
- rvm: 2.0.0 # problems with iconv
|
30
|
+
env: RAILS_VERSION='~> 2.3.0'
|
data/Gemfile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
|
3
|
+
rails_version = ENV['RAILS_VERSION'] || '~> 4.0'
|
4
|
+
gem 'rails', rails_version
|
5
|
+
|
6
|
+
if defined?(JRUBY_VERSION)
|
7
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
8
|
+
gem 'activerecord-jdbcmysql-adapter'
|
9
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
10
|
+
else
|
11
|
+
gem 'sqlite3'
|
12
|
+
gem 'mysql2'
|
13
|
+
gem 'pg'
|
14
|
+
if rails_version =~ /(^|[^.\d])(2|3\.0)\.\d+/
|
15
|
+
gem 'activerecord-mysql2-adapter'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
gem 'capistrano'
|
20
|
+
gemspec
|
data/LICENSE.txt
CHANGED
data/README.markdown
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
Rails app rake and capistrano tasks to create and restore dumps of database and assets.
|
4
4
|
|
5
|
-
|
5
|
+
Tested against rails 2.3, 3.0, 3.1, 3.2 and 4.0 (rails 2.3 has problems on ruby 2.0).
|
6
6
|
|
7
|
-
|
7
|
+
Works with ruby 1.8.7, ree, 1.9, 2.0 (rails 4.0 requires at least ruby 1.9).
|
8
|
+
|
9
|
+
[![Build Status](https://travis-ci.org/toy/dump.png?branch=master)](https://travis-ci.org/toy/dump)
|
8
10
|
|
9
11
|
## Install
|
10
12
|
|
@@ -247,4 +249,4 @@ restore backup (upload dump and restore on remote):
|
|
247
249
|
|
248
250
|
## Copyright
|
249
251
|
|
250
|
-
Copyright (c) 2008-
|
252
|
+
Copyright (c) 2008-2013 Ivan Kuchin. See LICENSE.txt for details.
|
data/dump.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'dump'
|
5
|
-
s.version = '1.0.
|
5
|
+
s.version = '1.0.3'
|
6
6
|
s.summary = %q{Rails app rake and capistrano tasks to create and restore dumps of database and assets}
|
7
7
|
s.homepage = "http://github.com/toy/#{s.name}"
|
8
8
|
s.authors = ['Ivan Kuchin']
|
@@ -18,5 +18,4 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.add_dependency 'archive-tar-minitar', '= 0.5.2'
|
19
19
|
s.add_dependency 'progress', '~> 2.4.0'
|
20
20
|
s.add_development_dependency 'rspec'
|
21
|
-
s.add_development_dependency 'sqlite3'
|
22
21
|
end
|
data/lib/dump_rake/dump.rb
CHANGED
@@ -112,7 +112,7 @@ class DumpRake
|
|
112
112
|
rows = select_all_by_sql(select_where_primary_key % '>= 0')
|
113
113
|
until rows.blank?
|
114
114
|
rows.each(&block)
|
115
|
-
break if rows.
|
115
|
+
break if rows.count < chunk_size
|
116
116
|
rows = select_all_by_sql(select_where_primary_key % "> #{rows.last[primary_key].to_i}")
|
117
117
|
end
|
118
118
|
else
|
data/spec/.gitignore
CHANGED
@@ -1 +1,19 @@
|
|
1
1
|
/db/database.yml
|
2
|
+
|
3
|
+
/dummy-*/.bundle/
|
4
|
+
/dummy-*/db/*.sqlite3
|
5
|
+
/dummy-*/db/*.sqlite3-journal
|
6
|
+
/dummy-*/log/*.log
|
7
|
+
/dummy-*/tmp/
|
8
|
+
|
9
|
+
/dummy-*/app/
|
10
|
+
/dummy-*/bin/
|
11
|
+
/dummy-*/doc/
|
12
|
+
/dummy-*/Gemfile
|
13
|
+
/dummy-*/lib/
|
14
|
+
/dummy-*/public/
|
15
|
+
/dummy-*/Rakefile
|
16
|
+
/dummy-*/README*
|
17
|
+
/dummy-*/script/
|
18
|
+
/dummy-*/test/
|
19
|
+
/dummy-*/vendor/
|
data/spec/cycle_spec.rb
CHANGED
@@ -16,10 +16,12 @@ def use_adapter(adapter)
|
|
16
16
|
case config['adapter']
|
17
17
|
when /^mysql/
|
18
18
|
ActiveRecord::Base.establish_connection(config.merge('database' => nil))
|
19
|
+
ActiveRecord::Base.connection.drop_database config['database'] rescue nil
|
19
20
|
ActiveRecord::Base.connection.create_database(config['database'])
|
20
21
|
ActiveRecord::Base.establish_connection(config)
|
21
22
|
when /^postgresql/
|
22
23
|
ActiveRecord::Base.establish_connection(config.merge('database' => 'postgres', 'schema_search_path' => 'public'))
|
24
|
+
ActiveRecord::Base.connection.drop_database config['database'] rescue nil
|
23
25
|
ActiveRecord::Base.connection.create_database(config['database'])
|
24
26
|
ActiveRecord::Base.establish_connection(config)
|
25
27
|
else
|
@@ -52,7 +54,7 @@ def in_temp_rails_app
|
|
52
54
|
DumpRake::RailsRoot.replace(File.join(PLUGIN_SPEC_DIR, 'temp_rails_app'))
|
53
55
|
FileUtils.remove_entry(DumpRake::RailsRoot) if File.exist?(DumpRake::RailsRoot)
|
54
56
|
FileUtils.mkpath(DumpRake::RailsRoot)
|
55
|
-
Progress.stub
|
57
|
+
Progress.stub(:io).and_return(StringIO.new)
|
56
58
|
yield
|
57
59
|
ensure
|
58
60
|
FileUtils.remove_entry(DumpRake::RailsRoot) if File.exist?(DumpRake::RailsRoot)
|
@@ -74,22 +76,28 @@ def create_chickens!(options = {})
|
|
74
76
|
:boolean => [true, false],
|
75
77
|
}
|
76
78
|
Chicken.create!
|
77
|
-
data.
|
78
|
-
|
79
|
-
|
79
|
+
data.values.map(&:length).max.times do |i|
|
80
|
+
Chicken.create! do |chicken|
|
81
|
+
data.each do |type, values|
|
82
|
+
chicken["#{type}_col"] = values[i]
|
83
|
+
end
|
80
84
|
end
|
81
85
|
end
|
82
86
|
if options[:random]
|
83
87
|
options[:random].to_i.times do
|
84
|
-
|
85
|
-
|
86
|
-
|
88
|
+
Chicken.create! do |chicken|
|
89
|
+
data.each do |type, values|
|
90
|
+
chicken["#{type}_col"] = values[rand(values.length)] if rand > 0.5
|
91
|
+
end
|
87
92
|
end
|
88
|
-
Chicken.create!(attributes)
|
89
93
|
end
|
90
94
|
end
|
91
95
|
end
|
92
96
|
|
97
|
+
def chicken_data
|
98
|
+
Chicken.all.map(&:attributes).sort_by{ |attributes| attributes['id'] }
|
99
|
+
end
|
100
|
+
|
93
101
|
def reset_rake!
|
94
102
|
@rake = Rake::Application.new
|
95
103
|
Rake.application = @rake
|
@@ -139,7 +147,7 @@ describe 'full cycle' do
|
|
139
147
|
use_adapter(adapter) do
|
140
148
|
#add chickens store their attributes and create dump
|
141
149
|
create_chickens!(:random => 100)
|
142
|
-
|
150
|
+
saved_chicken_data = chicken_data
|
143
151
|
call_rake_create(:description => 'chickens')
|
144
152
|
|
145
153
|
#clear database
|
@@ -148,14 +156,14 @@ describe 'full cycle' do
|
|
148
156
|
|
149
157
|
#restore dump and verify equality
|
150
158
|
call_rake_restore(:version => 'chickens')
|
151
|
-
|
159
|
+
chicken_data.should == saved_chicken_data
|
152
160
|
|
153
161
|
# go throught create/restore cycle and verify equality
|
154
162
|
call_rake_create
|
155
163
|
load_schema
|
156
164
|
Chicken.all.should be_empty
|
157
165
|
call_rake_restore
|
158
|
-
|
166
|
+
chicken_data.should == saved_chicken_data
|
159
167
|
end
|
160
168
|
end
|
161
169
|
end
|
@@ -178,12 +186,12 @@ describe 'full cycle' do
|
|
178
186
|
adapters.combination(2) do |adapter_src, adapter_dst|
|
179
187
|
it "should dump using #{adapter_src} and restore using #{adapter_dst}" do
|
180
188
|
in_temp_rails_app do
|
181
|
-
|
189
|
+
saved_chicken_data = nil
|
182
190
|
use_adapter(adapter_src) do
|
183
191
|
Chicken.all.should be_empty
|
184
192
|
|
185
193
|
create_chickens!(:random => 100)
|
186
|
-
|
194
|
+
saved_chicken_data = chicken_data
|
187
195
|
call_rake_create
|
188
196
|
end
|
189
197
|
|
@@ -191,7 +199,7 @@ describe 'full cycle' do
|
|
191
199
|
Chicken.all.should be_empty
|
192
200
|
|
193
201
|
call_rake_restore
|
194
|
-
|
202
|
+
chicken_data.should == saved_chicken_data
|
195
203
|
end
|
196
204
|
end
|
197
205
|
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# Don't change this file!
|
2
|
+
# Configure your app in config/environment.rb and config/environments/*.rb
|
3
|
+
|
4
|
+
RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
|
5
|
+
|
6
|
+
module Rails
|
7
|
+
class << self
|
8
|
+
def boot!
|
9
|
+
unless booted?
|
10
|
+
preinitialize
|
11
|
+
pick_boot.run
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def booted?
|
16
|
+
defined? Rails::Initializer
|
17
|
+
end
|
18
|
+
|
19
|
+
def pick_boot
|
20
|
+
(vendor_rails? ? VendorBoot : GemBoot).new
|
21
|
+
end
|
22
|
+
|
23
|
+
def vendor_rails?
|
24
|
+
File.exist?("#{RAILS_ROOT}/vendor/rails")
|
25
|
+
end
|
26
|
+
|
27
|
+
def preinitialize
|
28
|
+
load(preinitializer_path) if File.exist?(preinitializer_path)
|
29
|
+
end
|
30
|
+
|
31
|
+
def preinitializer_path
|
32
|
+
"#{RAILS_ROOT}/config/preinitializer.rb"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class Boot
|
37
|
+
def run
|
38
|
+
load_initializer
|
39
|
+
Rails::Initializer.run(:set_load_path)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class VendorBoot < Boot
|
44
|
+
def load_initializer
|
45
|
+
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
|
46
|
+
Rails::Initializer.run(:install_gem_spec_stubs)
|
47
|
+
Rails::GemDependency.add_frozen_gem_path
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
class GemBoot < Boot
|
52
|
+
def load_initializer
|
53
|
+
self.class.load_rubygems
|
54
|
+
load_rails_gem
|
55
|
+
require 'initializer'
|
56
|
+
end
|
57
|
+
|
58
|
+
def load_rails_gem
|
59
|
+
if version = self.class.gem_version
|
60
|
+
gem 'rails', version
|
61
|
+
else
|
62
|
+
gem 'rails'
|
63
|
+
end
|
64
|
+
rescue Gem::LoadError => load_error
|
65
|
+
if load_error.message =~ /Could not find RubyGem rails/
|
66
|
+
STDERR.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
|
67
|
+
exit 1
|
68
|
+
else
|
69
|
+
raise
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
class << self
|
74
|
+
def rubygems_version
|
75
|
+
Gem::RubyGemsVersion rescue nil
|
76
|
+
end
|
77
|
+
|
78
|
+
def gem_version
|
79
|
+
if defined? RAILS_GEM_VERSION
|
80
|
+
RAILS_GEM_VERSION
|
81
|
+
elsif ENV.include?('RAILS_GEM_VERSION')
|
82
|
+
ENV['RAILS_GEM_VERSION']
|
83
|
+
else
|
84
|
+
parse_gem_version(read_environment_rb)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def load_rubygems
|
89
|
+
min_version = '1.3.2'
|
90
|
+
require 'rubygems'
|
91
|
+
unless rubygems_version >= min_version
|
92
|
+
$stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
|
93
|
+
exit 1
|
94
|
+
end
|
95
|
+
|
96
|
+
rescue LoadError
|
97
|
+
$stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
|
98
|
+
exit 1
|
99
|
+
end
|
100
|
+
|
101
|
+
def parse_gem_version(text)
|
102
|
+
$1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
|
103
|
+
end
|
104
|
+
|
105
|
+
private
|
106
|
+
def read_environment_rb
|
107
|
+
File.read("#{RAILS_ROOT}/config/environment.rb")
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
# All that for this:
|
114
|
+
Rails.boot!
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# SQLite version 3.x
|
2
|
+
# gem install sqlite3-ruby (not necessary on OS X Leopard)
|
3
|
+
development:
|
4
|
+
adapter: sqlite3
|
5
|
+
database: db/development.sqlite3
|
6
|
+
pool: 5
|
7
|
+
timeout: 5000
|
8
|
+
|
9
|
+
# Warning: The database defined as "test" will be erased and
|
10
|
+
# re-generated from your development database when you run "rake".
|
11
|
+
# Do not set this db to the same as development or production.
|
12
|
+
test:
|
13
|
+
adapter: sqlite3
|
14
|
+
database: db/test.sqlite3
|
15
|
+
pool: 5
|
16
|
+
timeout: 5000
|
17
|
+
|
18
|
+
production:
|
19
|
+
adapter: sqlite3
|
20
|
+
database: db/production.sqlite3
|
21
|
+
pool: 5
|
22
|
+
timeout: 5000
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file
|
2
|
+
|
3
|
+
# Specifies gem version of Rails to use when vendor/rails is not present
|
4
|
+
RAILS_GEM_VERSION = '2.3.18' unless defined? RAILS_GEM_VERSION
|
5
|
+
|
6
|
+
# Bootstrap the Rails environment, frameworks, and default configuration
|
7
|
+
require File.join(File.dirname(__FILE__), 'boot')
|
8
|
+
|
9
|
+
Rails::Initializer.run do |config|
|
10
|
+
# Settings in config/environments/* take precedence over those specified here.
|
11
|
+
# Application configuration should go into files in config/initializers
|
12
|
+
# -- all .rb files in that directory are automatically loaded.
|
13
|
+
|
14
|
+
# Add additional load paths for your own custom dirs
|
15
|
+
# config.autoload_paths += %W( #{RAILS_ROOT}/extras )
|
16
|
+
|
17
|
+
# Specify gems that this application depends on and have them installed with rake gems:install
|
18
|
+
# config.gem "bj"
|
19
|
+
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
|
20
|
+
# config.gem "sqlite3-ruby", :lib => "sqlite3"
|
21
|
+
# config.gem "aws-s3", :lib => "aws/s3"
|
22
|
+
|
23
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
24
|
+
# :all can be used as a placeholder for all plugins not explicitly named
|
25
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
26
|
+
|
27
|
+
# Skip frameworks you're not going to use. To use Rails without a database,
|
28
|
+
# you must remove the Active Record framework.
|
29
|
+
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
|
30
|
+
|
31
|
+
# Activate observers that should always be running
|
32
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
33
|
+
|
34
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
35
|
+
# Run "rake -D time" for a list of tasks for finding time zone names.
|
36
|
+
config.time_zone = 'UTC'
|
37
|
+
|
38
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
39
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
|
40
|
+
# config.i18n.default_locale = :de
|
41
|
+
end
|