rails_product 0.5
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/CHANGELOG +619 -0
- data/MIT-LICENSE +21 -0
- data/README +195 -0
- data/Rakefile +413 -0
- data/bin/benchmarker +19 -0
- data/bin/breakpointer +3 -0
- data/bin/breakpointer_for_gem +4 -0
- data/bin/console +23 -0
- data/bin/console_sandbox +0 -0
- data/bin/destroy +7 -0
- data/bin/generate +7 -0
- data/bin/listener +86 -0
- data/bin/process/reaper +123 -0
- data/bin/process/spawner +54 -0
- data/bin/process/spinner +60 -0
- data/bin/profiler +34 -0
- data/bin/rails +17 -0
- data/bin/rails_product +17 -0
- data/bin/runner +28 -0
- data/bin/server +125 -0
- data/bin/tracker +69 -0
- data/bin/update +5 -0
- data/configs/apache/vhost.example.conf +42 -0
- data/configs/apache.conf +40 -0
- data/configs/database.yml +23 -0
- data/configs/empty.log +0 -0
- data/configs/routes.rb +19 -0
- data/dispatches/dispatch.fcgi +24 -0
- data/dispatches/dispatch.rb +10 -0
- data/dispatches/gateway.cgi +97 -0
- data/doc/README_FOR_APP +2 -0
- data/environments/development.rb +14 -0
- data/environments/environment.rb +101 -0
- data/environments/production.rb +8 -0
- data/environments/test.rb +17 -0
- data/fresh_rakefile +223 -0
- data/helpers/application.rb +4 -0
- data/helpers/application_helper.rb +3 -0
- data/helpers/test_helper.rb +26 -0
- data/html/404.html +8 -0
- data/html/500.html +8 -0
- data/html/favicon.ico +0 -0
- data/html/index.html +78 -0
- data/html/javascripts/controls.js +446 -0
- data/html/javascripts/dragdrop.js +537 -0
- data/html/javascripts/effects.js +612 -0
- data/html/javascripts/prototype.js +1038 -0
- data/html/robots.txt +1 -0
- data/lib/binding_of_caller.rb +83 -0
- data/lib/breakpoint.rb +523 -0
- data/lib/breakpoint_client.rb +196 -0
- data/lib/code_statistics.rb +104 -0
- data/lib/console_sandbox.rb +6 -0
- data/lib/dispatcher.rb +59 -0
- data/lib/fcgi_handler.rb +156 -0
- data/lib/productize.rb +116 -0
- data/lib/rails_generator/base.rb +203 -0
- data/lib/rails_generator/commands.rb +409 -0
- data/lib/rails_generator/generators/applications/app/USAGE +16 -0
- data/lib/rails_generator/generators/applications/app/app_generator.rb +126 -0
- data/lib/rails_generator/generators/applications/productized_app/USAGE +16 -0
- data/lib/rails_generator/generators/applications/productized_app/productized_app_generator.rb +133 -0
- data/lib/rails_generator/generators/components/controller/USAGE +30 -0
- data/lib/rails_generator/generators/components/controller/controller_generator.rb +38 -0
- data/lib/rails_generator/generators/components/controller/templates/controller.rb +10 -0
- data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +18 -0
- data/lib/rails_generator/generators/components/controller/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/controller/templates/view.rhtml +2 -0
- data/lib/rails_generator/generators/components/mailer/USAGE +19 -0
- data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +32 -0
- data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +3 -0
- data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +13 -0
- data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +37 -0
- data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +3 -0
- data/lib/rails_generator/generators/components/migration/USAGE +14 -0
- data/lib/rails_generator/generators/components/migration/migration_generator.rb +9 -0
- data/lib/rails_generator/generators/components/migration/templates/migration.rb +7 -0
- data/lib/rails_generator/generators/components/model/USAGE +17 -0
- data/lib/rails_generator/generators/components/model/model_generator.rb +18 -0
- data/lib/rails_generator/generators/components/model/templates/fixtures.yml +5 -0
- data/lib/rails_generator/generators/components/model/templates/model.rb +2 -0
- data/lib/rails_generator/generators/components/model/templates/unit_test.rb +14 -0
- data/lib/rails_generator/generators/components/scaffold/USAGE +32 -0
- data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +178 -0
- data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +54 -0
- data/lib/rails_generator/generators/components/scaffold/templates/form.rhtml +3 -0
- data/lib/rails_generator/generators/components/scaffold/templates/form_scaffolding.rhtml +1 -0
- data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +98 -0
- data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/scaffold/templates/layout.rhtml +13 -0
- data/lib/rails_generator/generators/components/scaffold/templates/style.css +74 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_edit.rhtml +9 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml +27 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_new.rhtml +8 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_show.rhtml +8 -0
- data/lib/rails_generator/generators/components/web_service/USAGE +28 -0
- data/lib/rails_generator/generators/components/web_service/templates/api_definition.rb +5 -0
- data/lib/rails_generator/generators/components/web_service/templates/controller.rb +8 -0
- data/lib/rails_generator/generators/components/web_service/templates/functional_test.rb +19 -0
- data/lib/rails_generator/generators/components/web_service/web_service_generator.rb +29 -0
- data/lib/rails_generator/lookup.rb +206 -0
- data/lib/rails_generator/manifest.rb +53 -0
- data/lib/rails_generator/options.rb +134 -0
- data/lib/rails_generator/scripts/destroy.rb +7 -0
- data/lib/rails_generator/scripts/generate.rb +7 -0
- data/lib/rails_generator/scripts/update.rb +12 -0
- data/lib/rails_generator/scripts.rb +83 -0
- data/lib/rails_generator/simple_logger.rb +46 -0
- data/lib/rails_generator/spec.rb +44 -0
- data/lib/rails_generator.rb +43 -0
- data/lib/rubyprof_ext.rb +35 -0
- data/lib/webrick_server.rb +148 -0
- data/sites/fresh_rakefile +176 -0
- metadata +250 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Donated by Florian Gross
|
|
2
|
+
|
|
3
|
+
require 'webrick'
|
|
4
|
+
require 'cgi'
|
|
5
|
+
require 'stringio'
|
|
6
|
+
|
|
7
|
+
include WEBrick
|
|
8
|
+
|
|
9
|
+
ABSOLUTE_RAILS_ROOT = File.expand_path(RAILS_ROOT)
|
|
10
|
+
|
|
11
|
+
ActiveRecord::Base.threaded_connections = false
|
|
12
|
+
|
|
13
|
+
class CGI
|
|
14
|
+
def stdinput
|
|
15
|
+
@stdin || $stdin
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def env_table
|
|
19
|
+
@env_table || ENV
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def initialize(type = "query", table = nil, stdin = nil)
|
|
23
|
+
@env_table, @stdin = table, stdin
|
|
24
|
+
|
|
25
|
+
if defined?(MOD_RUBY) && !ENV.key?("GATEWAY_INTERFACE")
|
|
26
|
+
Apache.request.setup_cgi_env
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
extend QueryExtension
|
|
30
|
+
@multipart = false
|
|
31
|
+
if defined?(CGI_PARAMS)
|
|
32
|
+
warn "do not use CGI_PARAMS and CGI_COOKIES"
|
|
33
|
+
@params = CGI_PARAMS.dup
|
|
34
|
+
@cookies = CGI_COOKIES.dup
|
|
35
|
+
else
|
|
36
|
+
initialize_query() # set @params, @cookies
|
|
37
|
+
end
|
|
38
|
+
@output_cookies = nil
|
|
39
|
+
@output_hidden = nil
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class DispatchServlet < WEBrick::HTTPServlet::AbstractServlet
|
|
44
|
+
REQUEST_MUTEX = Mutex.new
|
|
45
|
+
|
|
46
|
+
def self.dispatch(options = {})
|
|
47
|
+
Socket.do_not_reverse_lookup = true # patch for OS X
|
|
48
|
+
|
|
49
|
+
server = WEBrick::HTTPServer.new(:Port => options[:port].to_i, :ServerType => options[:server_type], :BindAddress => options[:ip])
|
|
50
|
+
server.mount('/', DispatchServlet, options)
|
|
51
|
+
|
|
52
|
+
trap("INT") { server.shutdown }
|
|
53
|
+
|
|
54
|
+
require File.join(@server_options[:server_root], "..", "config", "environment") unless defined?(RAILS_ROOT)
|
|
55
|
+
require "dispatcher"
|
|
56
|
+
|
|
57
|
+
server.start
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def initialize(server, options)
|
|
61
|
+
@server_options = options
|
|
62
|
+
@file_handler = WEBrick::HTTPServlet::FileHandler.new(server, options[:server_root])
|
|
63
|
+
Dir.chdir(ABSOLUTE_RAILS_ROOT)
|
|
64
|
+
super
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def service(req, res)
|
|
68
|
+
begin
|
|
69
|
+
unless handle_file(req, res)
|
|
70
|
+
REQUEST_MUTEX.lock unless ActionController::Base.allow_concurrency
|
|
71
|
+
unless handle_dispatch(req, res)
|
|
72
|
+
raise WEBrick::HTTPStatus::NotFound, "`#{req.path}' not found."
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
ensure
|
|
76
|
+
unless ActionController::Base.allow_concurrency
|
|
77
|
+
REQUEST_MUTEX.unlock if REQUEST_MUTEX.locked?
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def handle_file(req, res)
|
|
83
|
+
begin
|
|
84
|
+
req = req.dup
|
|
85
|
+
path = req.path.dup
|
|
86
|
+
|
|
87
|
+
# Add .html if the last path piece has no . in it
|
|
88
|
+
path << '.html' if path != '/' && (%r{(^|/)[^./]+$} =~ path)
|
|
89
|
+
path.gsub!('+', ' ') # Unescape + since FileHandler doesn't do so.
|
|
90
|
+
|
|
91
|
+
req.instance_variable_set(:@path_info, path) # Set the modified path...
|
|
92
|
+
|
|
93
|
+
@file_handler.send(:service, req, res)
|
|
94
|
+
return true
|
|
95
|
+
rescue HTTPStatus::PartialContent, HTTPStatus::NotModified => err
|
|
96
|
+
res.set_error(err)
|
|
97
|
+
return true
|
|
98
|
+
rescue => err
|
|
99
|
+
return false
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def handle_dispatch(req, res, origin = nil)
|
|
104
|
+
data = StringIO.new
|
|
105
|
+
Dispatcher.dispatch(
|
|
106
|
+
CGI.new("query", create_env_table(req, origin), StringIO.new(req.body || "")),
|
|
107
|
+
ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS,
|
|
108
|
+
data
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
header, body = extract_header_and_body(data)
|
|
112
|
+
assign_status(res, header)
|
|
113
|
+
res.cookies.concat(header.delete('set-cookie'))
|
|
114
|
+
header.each { |key, val| res[key] = val.join(", ") }
|
|
115
|
+
|
|
116
|
+
res.body = body
|
|
117
|
+
return true
|
|
118
|
+
rescue => err
|
|
119
|
+
p err, err.backtrace
|
|
120
|
+
return false
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
private
|
|
124
|
+
def create_env_table(req, origin)
|
|
125
|
+
env = req.meta_vars.clone
|
|
126
|
+
env.delete "SCRIPT_NAME"
|
|
127
|
+
env["QUERY_STRING"] = req.request_uri.query
|
|
128
|
+
env["REQUEST_URI"] = origin if origin
|
|
129
|
+
return env
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def extract_header_and_body(data)
|
|
133
|
+
data.rewind
|
|
134
|
+
data = data.read
|
|
135
|
+
|
|
136
|
+
raw_header, body = *data.split(/^[\xd\xa]+/on, 2)
|
|
137
|
+
header = WEBrick::HTTPUtils::parse_header(raw_header)
|
|
138
|
+
|
|
139
|
+
return header, body
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
def assign_status(res, header)
|
|
143
|
+
if /^(\d+)/ =~ header['status'][0]
|
|
144
|
+
res.status = $1.to_i
|
|
145
|
+
header.delete('status')
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rake/testtask'
|
|
3
|
+
require 'rake/rdoctask'
|
|
4
|
+
|
|
5
|
+
PWD = ENV['PWD']
|
|
6
|
+
$VERBOSE = nil
|
|
7
|
+
TEST_CHANGES_SINCE = Time.now - 600
|
|
8
|
+
NO_SITE_MESSAGE = "Couldn't find the SITE to work on.\n
|
|
9
|
+
Make sure you change to the directory of the site itself before using 'rake'.\n
|
|
10
|
+
(The shell says the current working directory is #{PWD})\n"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
desc "Run all the tests on a fresh test database"
|
|
14
|
+
task :default => [ :test_units, :test_functional ]
|
|
15
|
+
|
|
16
|
+
desc 'Require application environment.'
|
|
17
|
+
task :environment do
|
|
18
|
+
unless defined? RAILS_ROOT
|
|
19
|
+
# Set the site according to the directory we're in (look for
|
|
20
|
+
# 'sites' in the Present Working Directory)
|
|
21
|
+
unless ENV['site']
|
|
22
|
+
if (PWD).match(/sites\/(.*)/)
|
|
23
|
+
site = $1.dup
|
|
24
|
+
if site.match(/(.*?)\//)
|
|
25
|
+
ENV['site'] = $1.dup
|
|
26
|
+
else
|
|
27
|
+
ENV['site'] = site
|
|
28
|
+
end
|
|
29
|
+
else
|
|
30
|
+
raise NO_SITE_MESSAGE
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
environment = File.join(File.dirname(__FILE__), '..', 'config', 'environment')
|
|
35
|
+
require environment
|
|
36
|
+
puts "(Site root: #{SITE_ROOT})"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
desc "Generate API documentation, show coding stats"
|
|
41
|
+
task :doc => [ :appdoc, :stats ]
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# Look up tests for recently modified sources.
|
|
45
|
+
def recent_tests(source_pattern, test_path, touched_since = 10.minutes.ago)
|
|
46
|
+
FileList[source_pattern].map do |path|
|
|
47
|
+
if File.mtime(path) > touched_since
|
|
48
|
+
test = "#{test_path}/#{File.basename(path, '.rb')}_test.rb"
|
|
49
|
+
test if File.exists?(test)
|
|
50
|
+
end
|
|
51
|
+
end.compact
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
desc 'Test recent changes.'
|
|
55
|
+
Rake::TestTask.new(:recent => [ :clone_structure_to_test ]) do |t|
|
|
56
|
+
since = TEST_CHANGES_SINCE
|
|
57
|
+
touched = FileList['test/**/*_test.rb'].select { |path| File.mtime(path) > since } +
|
|
58
|
+
recent_tests('app/models/*.rb', 'test/unit', since) +
|
|
59
|
+
recent_tests('app/controllers/*.rb', 'test/functional', since)
|
|
60
|
+
|
|
61
|
+
t.libs << 'test'
|
|
62
|
+
t.verbose = true
|
|
63
|
+
t.test_files = touched.uniq
|
|
64
|
+
end
|
|
65
|
+
task :test_recent => [ :clone_structure_to_test ]
|
|
66
|
+
|
|
67
|
+
desc "Run the unit tests in test/unit"
|
|
68
|
+
Rake::TestTask.new("test_units") { |t|
|
|
69
|
+
t.libs << "test"
|
|
70
|
+
t.pattern = 'test/unit/**/*_test.rb'
|
|
71
|
+
t.verbose = true
|
|
72
|
+
}
|
|
73
|
+
task :test_units => [ :clone_structure_to_test ]
|
|
74
|
+
|
|
75
|
+
desc "Run the functional tests in test/functional"
|
|
76
|
+
Rake::TestTask.new("test_functional") { |t|
|
|
77
|
+
t.libs << "test"
|
|
78
|
+
t.pattern = 'test/functional/**/*_test.rb'
|
|
79
|
+
t.verbose = true
|
|
80
|
+
}
|
|
81
|
+
task :test_functional => [ :clone_structure_to_test ]
|
|
82
|
+
|
|
83
|
+
desc "Generate documentation for the application"
|
|
84
|
+
Rake::RDocTask.new("appdoc") { |rdoc|
|
|
85
|
+
rdoc.rdoc_dir = 'doc/app'
|
|
86
|
+
rdoc.title = "Rails Application Documentation"
|
|
87
|
+
rdoc.options << '--line-numbers --inline-source'
|
|
88
|
+
rdoc.rdoc_files.include('doc/README_FOR_APP')
|
|
89
|
+
rdoc.rdoc_files.include('app/**/*.rb')
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
desc "Report code statistics (KLOCs, etc) from the application"
|
|
93
|
+
task :stats => [ :environment ] do
|
|
94
|
+
require 'code_statistics'
|
|
95
|
+
CodeStatistics.new(
|
|
96
|
+
["Helpers", "app/helpers"],
|
|
97
|
+
["Controllers", "app/controllers"],
|
|
98
|
+
["APIs", "app/apis"],
|
|
99
|
+
["Components", "components"],
|
|
100
|
+
["Functionals", "test/functional"],
|
|
101
|
+
["Models", "app/models"],
|
|
102
|
+
["Units", "test/unit"]
|
|
103
|
+
).to_s
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
desc "Recreate the test databases from the development structure"
|
|
107
|
+
task :clone_structure_to_test => [ :db_structure_dump, :purge_test_database ] do
|
|
108
|
+
abcs = ActiveRecord::Base.configurations
|
|
109
|
+
case abcs["test"]["adapter"]
|
|
110
|
+
when "mysql"
|
|
111
|
+
ActiveRecord::Base.establish_connection(:test)
|
|
112
|
+
ActiveRecord::Base.connection.execute('SET foreign_key_checks = 0')
|
|
113
|
+
IO.readlines("db/#{RAILS_ENV}_structure.sql").join.split("\n\n").each do |table|
|
|
114
|
+
ActiveRecord::Base.connection.execute(table)
|
|
115
|
+
end
|
|
116
|
+
when "postgresql"
|
|
117
|
+
ENV['PGHOST'] = abcs["test"]["host"] if abcs["test"]["host"]
|
|
118
|
+
ENV['PGPORT'] = abcs["test"]["port"].to_s if abcs["test"]["port"]
|
|
119
|
+
ENV['PGPASSWORD'] = abcs["test"]["password"].to_s if abcs["test"]["password"]
|
|
120
|
+
`psql -U "#{abcs["test"]["username"]}" -f db/#{RAILS_ENV}_structure.sql #{abcs["test"]["database"]}`
|
|
121
|
+
when "sqlite", "sqlite3"
|
|
122
|
+
`#{abcs[RAILS_ENV]["adapter"]} #{abcs["test"]["dbfile"]} < db/#{RAILS_ENV}_structure.sql`
|
|
123
|
+
else
|
|
124
|
+
raise "Unknown database adapter '#{abcs["test"]["adapter"]}'"
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
desc "Dump the database structure to a SQL file"
|
|
129
|
+
task :db_structure_dump => :environment do
|
|
130
|
+
abcs = ActiveRecord::Base.configurations
|
|
131
|
+
case abcs[RAILS_ENV]["adapter"]
|
|
132
|
+
when "mysql"
|
|
133
|
+
ActiveRecord::Base.establish_connection(abcs[RAILS_ENV])
|
|
134
|
+
File.open("db/#{RAILS_ENV}_structure.sql", "w+") { |f| f << ActiveRecord::Base.connection.structure_dump }
|
|
135
|
+
when "postgresql"
|
|
136
|
+
ENV['PGHOST'] = abcs[RAILS_ENV]["host"] if abcs[RAILS_ENV]["host"]
|
|
137
|
+
ENV['PGPORT'] = abcs[RAILS_ENV]["port"].to_s if abcs[RAILS_ENV]["port"]
|
|
138
|
+
ENV['PGPASSWORD'] = abcs[RAILS_ENV]["password"].to_s if abcs[RAILS_ENV]["password"]
|
|
139
|
+
`pg_dump -U "#{abcs[RAILS_ENV]["username"]}" -s -x -O -f db/#{RAILS_ENV}_structure.sql #{abcs[RAILS_ENV]["database"]}`
|
|
140
|
+
when "sqlite", "sqlite3"
|
|
141
|
+
`#{abcs[RAILS_ENV]["adapter"]} #{abcs[RAILS_ENV]["dbfile"]} .schema > db/#{RAILS_ENV}_structure.sql`
|
|
142
|
+
else
|
|
143
|
+
raise "Unknown database adapter '#{abcs["test"]["adapter"]}'"
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
desc "Empty the test database"
|
|
148
|
+
task :purge_test_database => :environment do
|
|
149
|
+
abcs = ActiveRecord::Base.configurations
|
|
150
|
+
case abcs["test"]["adapter"]
|
|
151
|
+
when "mysql"
|
|
152
|
+
ActiveRecord::Base.establish_connection(:test)
|
|
153
|
+
ActiveRecord::Base.connection.recreate_database(abcs["test"]["database"])
|
|
154
|
+
when "postgresql"
|
|
155
|
+
ENV['PGHOST'] = abcs["test"]["host"] if abcs["test"]["host"]
|
|
156
|
+
ENV['PGPORT'] = abcs["test"]["port"].to_s if abcs["test"]["port"]
|
|
157
|
+
ENV['PGPASSWORD'] = abcs["test"]["password"].to_s if abcs["test"]["password"]
|
|
158
|
+
`dropdb -U "#{abcs["test"]["username"]}" #{abcs["test"]["database"]}`
|
|
159
|
+
`createdb -T template0 -U "#{abcs["test"]["username"]}" #{abcs["test"]["database"]}`
|
|
160
|
+
when "sqlite","sqlite3"
|
|
161
|
+
File.delete(abcs["test"]["dbfile"]) if File.exist?(abcs["test"]["dbfile"])
|
|
162
|
+
else
|
|
163
|
+
raise "Unknown database adapter '#{abcs["test"]["adapter"]}'"
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
desc "Migrate the database according to the migrate scripts in db/migrate"
|
|
168
|
+
task :migrate => :environment do
|
|
169
|
+
migration_directory = File.join(RAILS_ROOT, 'db' , 'migrate')
|
|
170
|
+
|
|
171
|
+
if File.exist?(migration_directory)
|
|
172
|
+
ActiveRecord::Migrator.up(migration_directory)
|
|
173
|
+
else
|
|
174
|
+
puts "The db/migrate directory for #{SITE} appears to be missing."
|
|
175
|
+
end
|
|
176
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
rubygems_version: 0.8.10
|
|
3
|
+
specification_version: 1
|
|
4
|
+
name: rails_product
|
|
5
|
+
version: !ruby/object:Gem::Version
|
|
6
|
+
version: "0.5"
|
|
7
|
+
date: 2005-07-25
|
|
8
|
+
summary: "Creates a ready-to-go productized Ruby on Rails application from a single
|
|
9
|
+
command ('rails_product')."
|
|
10
|
+
require_paths:
|
|
11
|
+
- lib
|
|
12
|
+
email: duane.johnson@gmail.com
|
|
13
|
+
homepage: http://inquirylabs.com/productize/
|
|
14
|
+
rubyforge_project: rails_product
|
|
15
|
+
description: "A \"Productized Rails Application\" is a single generic application having a
|
|
16
|
+
hierarchical structure wherein add-ons and tweaks for concurrent versions of the
|
|
17
|
+
application are possible without affecting the core \"generic\" code base. You
|
|
18
|
+
might use this, for example, if you want to maintain a common shopping cart code
|
|
19
|
+
base that all of your clients use, while still providing flexibility for paid
|
|
20
|
+
add-ons or site-specific needs."
|
|
21
|
+
autorequire:
|
|
22
|
+
default_executable: rails_product
|
|
23
|
+
bindir: bin
|
|
24
|
+
has_rdoc: false
|
|
25
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
-
|
|
28
|
+
- ">"
|
|
29
|
+
- !ruby/object:Gem::Version
|
|
30
|
+
version: 0.0.0
|
|
31
|
+
version:
|
|
32
|
+
platform: ruby
|
|
33
|
+
authors:
|
|
34
|
+
- Duane Johnson
|
|
35
|
+
files:
|
|
36
|
+
- bin
|
|
37
|
+
- CHANGELOG
|
|
38
|
+
- configs
|
|
39
|
+
- dispatches
|
|
40
|
+
- doc
|
|
41
|
+
- environments
|
|
42
|
+
- fresh_rakefile
|
|
43
|
+
- helpers
|
|
44
|
+
- html
|
|
45
|
+
- lib
|
|
46
|
+
- MIT-LICENSE
|
|
47
|
+
- Rakefile
|
|
48
|
+
- README
|
|
49
|
+
- sites
|
|
50
|
+
- test
|
|
51
|
+
- bin/benchmarker
|
|
52
|
+
- bin/breakpointer
|
|
53
|
+
- bin/breakpointer_for_gem
|
|
54
|
+
- bin/console
|
|
55
|
+
- bin/console_sandbox
|
|
56
|
+
- bin/destroy
|
|
57
|
+
- bin/generate
|
|
58
|
+
- bin/listener
|
|
59
|
+
- bin/process
|
|
60
|
+
- bin/profiler
|
|
61
|
+
- bin/rails
|
|
62
|
+
- bin/rails_product
|
|
63
|
+
- bin/runner
|
|
64
|
+
- bin/server
|
|
65
|
+
- bin/tracker
|
|
66
|
+
- bin/update
|
|
67
|
+
- bin/process/reaper
|
|
68
|
+
- bin/process/spawner
|
|
69
|
+
- bin/process/spinner
|
|
70
|
+
- configs/apache
|
|
71
|
+
- configs/apache.conf
|
|
72
|
+
- configs/database.yml
|
|
73
|
+
- configs/empty.log
|
|
74
|
+
- configs/routes.rb
|
|
75
|
+
- configs/apache/vhost.example.conf
|
|
76
|
+
- doc/README_FOR_APP
|
|
77
|
+
- dispatches/dispatch.fcgi
|
|
78
|
+
- dispatches/dispatch.rb
|
|
79
|
+
- dispatches/gateway.cgi
|
|
80
|
+
- environments/development.rb
|
|
81
|
+
- environments/environment.rb
|
|
82
|
+
- environments/production.rb
|
|
83
|
+
- environments/test.rb
|
|
84
|
+
- helpers/application.rb
|
|
85
|
+
- helpers/application_helper.rb
|
|
86
|
+
- helpers/test_helper.rb
|
|
87
|
+
- html/404.html
|
|
88
|
+
- html/500.html
|
|
89
|
+
- html/favicon.ico
|
|
90
|
+
- html/index.html
|
|
91
|
+
- html/javascripts
|
|
92
|
+
- html/robots.txt
|
|
93
|
+
- html/javascripts/controls.js
|
|
94
|
+
- html/javascripts/dragdrop.js
|
|
95
|
+
- html/javascripts/effects.js
|
|
96
|
+
- html/javascripts/prototype.js
|
|
97
|
+
- lib/binding_of_caller.rb
|
|
98
|
+
- lib/breakpoint.rb
|
|
99
|
+
- lib/breakpoint_client.rb
|
|
100
|
+
- lib/code_statistics.rb
|
|
101
|
+
- lib/console_sandbox.rb
|
|
102
|
+
- lib/dispatcher.rb
|
|
103
|
+
- lib/fcgi_handler.rb
|
|
104
|
+
- lib/productize.rb
|
|
105
|
+
- lib/rails_generator
|
|
106
|
+
- lib/rails_generator.rb
|
|
107
|
+
- lib/rubyprof_ext.rb
|
|
108
|
+
- lib/webrick_server.rb
|
|
109
|
+
- lib/rails_generator/base.rb
|
|
110
|
+
- lib/rails_generator/commands.rb
|
|
111
|
+
- lib/rails_generator/generators
|
|
112
|
+
- lib/rails_generator/lookup.rb
|
|
113
|
+
- lib/rails_generator/manifest.rb
|
|
114
|
+
- lib/rails_generator/options.rb
|
|
115
|
+
- lib/rails_generator/scripts
|
|
116
|
+
- lib/rails_generator/scripts.rb
|
|
117
|
+
- lib/rails_generator/simple_logger.rb
|
|
118
|
+
- lib/rails_generator/spec.rb
|
|
119
|
+
- lib/rails_generator/generators/applications
|
|
120
|
+
- lib/rails_generator/generators/components
|
|
121
|
+
- lib/rails_generator/generators/applications/app
|
|
122
|
+
- lib/rails_generator/generators/applications/productized_app
|
|
123
|
+
- lib/rails_generator/generators/applications/app/app_generator.rb
|
|
124
|
+
- lib/rails_generator/generators/applications/app/USAGE
|
|
125
|
+
- lib/rails_generator/generators/applications/productized_app/productized_app_generator.rb
|
|
126
|
+
- lib/rails_generator/generators/applications/productized_app/USAGE
|
|
127
|
+
- lib/rails_generator/generators/components/controller
|
|
128
|
+
- lib/rails_generator/generators/components/mailer
|
|
129
|
+
- lib/rails_generator/generators/components/migration
|
|
130
|
+
- lib/rails_generator/generators/components/model
|
|
131
|
+
- lib/rails_generator/generators/components/scaffold
|
|
132
|
+
- lib/rails_generator/generators/components/web_service
|
|
133
|
+
- lib/rails_generator/generators/components/controller/controller_generator.rb
|
|
134
|
+
- lib/rails_generator/generators/components/controller/templates
|
|
135
|
+
- lib/rails_generator/generators/components/controller/USAGE
|
|
136
|
+
- lib/rails_generator/generators/components/controller/templates/controller.rb
|
|
137
|
+
- lib/rails_generator/generators/components/controller/templates/functional_test.rb
|
|
138
|
+
- lib/rails_generator/generators/components/controller/templates/helper.rb
|
|
139
|
+
- lib/rails_generator/generators/components/controller/templates/view.rhtml
|
|
140
|
+
- lib/rails_generator/generators/components/mailer/mailer_generator.rb
|
|
141
|
+
- lib/rails_generator/generators/components/mailer/templates
|
|
142
|
+
- lib/rails_generator/generators/components/mailer/USAGE
|
|
143
|
+
- lib/rails_generator/generators/components/mailer/templates/fixture.rhtml
|
|
144
|
+
- lib/rails_generator/generators/components/mailer/templates/mailer.rb
|
|
145
|
+
- lib/rails_generator/generators/components/mailer/templates/unit_test.rb
|
|
146
|
+
- lib/rails_generator/generators/components/mailer/templates/view.rhtml
|
|
147
|
+
- lib/rails_generator/generators/components/migration/migration_generator.rb
|
|
148
|
+
- lib/rails_generator/generators/components/migration/templates
|
|
149
|
+
- lib/rails_generator/generators/components/migration/USAGE
|
|
150
|
+
- lib/rails_generator/generators/components/migration/templates/migration.rb
|
|
151
|
+
- lib/rails_generator/generators/components/model/model_generator.rb
|
|
152
|
+
- lib/rails_generator/generators/components/model/templates
|
|
153
|
+
- lib/rails_generator/generators/components/model/USAGE
|
|
154
|
+
- lib/rails_generator/generators/components/model/templates/fixtures.yml
|
|
155
|
+
- lib/rails_generator/generators/components/model/templates/model.rb
|
|
156
|
+
- lib/rails_generator/generators/components/model/templates/unit_test.rb
|
|
157
|
+
- lib/rails_generator/generators/components/scaffold/scaffold_generator.rb
|
|
158
|
+
- lib/rails_generator/generators/components/scaffold/templates
|
|
159
|
+
- lib/rails_generator/generators/components/scaffold/USAGE
|
|
160
|
+
- lib/rails_generator/generators/components/scaffold/templates/controller.rb
|
|
161
|
+
- lib/rails_generator/generators/components/scaffold/templates/form.rhtml
|
|
162
|
+
- lib/rails_generator/generators/components/scaffold/templates/form_scaffolding.rhtml
|
|
163
|
+
- lib/rails_generator/generators/components/scaffold/templates/functional_test.rb
|
|
164
|
+
- lib/rails_generator/generators/components/scaffold/templates/helper.rb
|
|
165
|
+
- lib/rails_generator/generators/components/scaffold/templates/layout.rhtml
|
|
166
|
+
- lib/rails_generator/generators/components/scaffold/templates/style.css
|
|
167
|
+
- lib/rails_generator/generators/components/scaffold/templates/view_edit.rhtml
|
|
168
|
+
- lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml
|
|
169
|
+
- lib/rails_generator/generators/components/scaffold/templates/view_new.rhtml
|
|
170
|
+
- lib/rails_generator/generators/components/scaffold/templates/view_show.rhtml
|
|
171
|
+
- lib/rails_generator/generators/components/web_service/templates
|
|
172
|
+
- lib/rails_generator/generators/components/web_service/USAGE
|
|
173
|
+
- lib/rails_generator/generators/components/web_service/web_service_generator.rb
|
|
174
|
+
- lib/rails_generator/generators/components/web_service/templates/api_definition.rb
|
|
175
|
+
- lib/rails_generator/generators/components/web_service/templates/controller.rb
|
|
176
|
+
- lib/rails_generator/generators/components/web_service/templates/functional_test.rb
|
|
177
|
+
- lib/rails_generator/scripts/destroy.rb
|
|
178
|
+
- lib/rails_generator/scripts/generate.rb
|
|
179
|
+
- lib/rails_generator/scripts/update.rb
|
|
180
|
+
- sites/fresh_rakefile
|
|
181
|
+
test_files: []
|
|
182
|
+
rdoc_options:
|
|
183
|
+
- "--exclude"
|
|
184
|
+
- "."
|
|
185
|
+
extra_rdoc_files: []
|
|
186
|
+
executables:
|
|
187
|
+
- rails_product
|
|
188
|
+
extensions: []
|
|
189
|
+
requirements: []
|
|
190
|
+
dependencies:
|
|
191
|
+
- !ruby/object:Gem::Dependency
|
|
192
|
+
name: rake
|
|
193
|
+
version_requirement:
|
|
194
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
195
|
+
requirements:
|
|
196
|
+
-
|
|
197
|
+
- ">="
|
|
198
|
+
- !ruby/object:Gem::Version
|
|
199
|
+
version: 0.5.3
|
|
200
|
+
version:
|
|
201
|
+
- !ruby/object:Gem::Dependency
|
|
202
|
+
name: activesupport
|
|
203
|
+
version_requirement:
|
|
204
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
205
|
+
requirements:
|
|
206
|
+
-
|
|
207
|
+
- "="
|
|
208
|
+
- !ruby/object:Gem::Version
|
|
209
|
+
version: 1.1.1
|
|
210
|
+
version:
|
|
211
|
+
- !ruby/object:Gem::Dependency
|
|
212
|
+
name: activerecord
|
|
213
|
+
version_requirement:
|
|
214
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
215
|
+
requirements:
|
|
216
|
+
-
|
|
217
|
+
- "="
|
|
218
|
+
- !ruby/object:Gem::Version
|
|
219
|
+
version: 1.11.1
|
|
220
|
+
version:
|
|
221
|
+
- !ruby/object:Gem::Dependency
|
|
222
|
+
name: actionpack
|
|
223
|
+
version_requirement:
|
|
224
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
225
|
+
requirements:
|
|
226
|
+
-
|
|
227
|
+
- "="
|
|
228
|
+
- !ruby/object:Gem::Version
|
|
229
|
+
version: 1.9.1
|
|
230
|
+
version:
|
|
231
|
+
- !ruby/object:Gem::Dependency
|
|
232
|
+
name: actionmailer
|
|
233
|
+
version_requirement:
|
|
234
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
235
|
+
requirements:
|
|
236
|
+
-
|
|
237
|
+
- "="
|
|
238
|
+
- !ruby/object:Gem::Version
|
|
239
|
+
version: 1.0.1
|
|
240
|
+
version:
|
|
241
|
+
- !ruby/object:Gem::Dependency
|
|
242
|
+
name: actionwebservice
|
|
243
|
+
version_requirement:
|
|
244
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
245
|
+
requirements:
|
|
246
|
+
-
|
|
247
|
+
- "="
|
|
248
|
+
- !ruby/object:Gem::Version
|
|
249
|
+
version: 0.8.1
|
|
250
|
+
version:
|