rails 2.3.18 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rails might be problematic. Click here for more details.
- data/bin/rails +8 -20
- metadata +74 -251
- data/CHANGELOG +0 -2193
- data/MIT-LICENSE +0 -20
- data/README +0 -243
- data/Rakefile +0 -365
- data/bin/about +0 -4
- data/bin/console +0 -3
- data/bin/dbconsole +0 -3
- data/bin/destroy +0 -3
- data/bin/generate +0 -3
- data/bin/performance/benchmarker +0 -3
- data/bin/performance/profiler +0 -3
- data/bin/plugin +0 -3
- data/bin/runner +0 -3
- data/bin/server +0 -3
- data/builtin/rails_info/rails/info.rb +0 -131
- data/builtin/rails_info/rails/info_controller.rb +0 -9
- data/builtin/rails_info/rails/info_helper.rb +0 -2
- data/builtin/rails_info/rails_info_controller.rb +0 -2
- data/configs/databases/frontbase.yml +0 -28
- data/configs/databases/ibm_db.yml +0 -62
- data/configs/databases/mysql.yml +0 -60
- data/configs/databases/oracle.yml +0 -39
- data/configs/databases/postgresql.yml +0 -51
- data/configs/databases/sqlite2.yml +0 -19
- data/configs/databases/sqlite3.yml +0 -22
- data/configs/empty.log +0 -0
- data/configs/initializers/backtrace_silencers.rb +0 -7
- data/configs/initializers/cookie_verification_secret.rb +0 -7
- data/configs/initializers/inflections.rb +0 -10
- data/configs/initializers/mime_types.rb +0 -5
- data/configs/initializers/new_rails_defaults.rb +0 -21
- data/configs/initializers/session_store.rb +0 -15
- data/configs/locales/en.yml +0 -5
- data/configs/routes.rb +0 -43
- data/configs/seeds.rb +0 -7
- data/dispatches/config.ru +0 -7
- data/dispatches/dispatch.fcgi +0 -24
- data/dispatches/dispatch.rb +0 -10
- data/dispatches/gateway.cgi +0 -97
- data/doc/README_FOR_APP +0 -2
- data/environments/boot.rb +0 -114
- data/environments/development.rb +0 -17
- data/environments/environment.rb +0 -41
- data/environments/production.rb +0 -28
- data/environments/test.rb +0 -28
- data/fresh_rakefile +0 -10
- data/helpers/application_controller.rb +0 -10
- data/helpers/application_helper.rb +0 -3
- data/helpers/performance_test.rb +0 -9
- data/helpers/test_helper.rb +0 -38
- data/html/404.html +0 -30
- data/html/422.html +0 -30
- data/html/500.html +0 -30
- data/html/favicon.ico +0 -0
- data/html/images/rails.png +0 -0
- data/html/index.html +0 -275
- data/html/javascripts/application.js +0 -2
- data/html/javascripts/controls.js +0 -963
- data/html/javascripts/dragdrop.js +0 -973
- data/html/javascripts/effects.js +0 -1128
- data/html/javascripts/prototype.js +0 -4320
- data/html/robots.txt +0 -5
- data/lib/code_statistics.rb +0 -107
- data/lib/commands.rb +0 -17
- data/lib/commands/about.rb +0 -3
- data/lib/commands/console.rb +0 -45
- data/lib/commands/dbconsole.rb +0 -87
- data/lib/commands/destroy.rb +0 -6
- data/lib/commands/generate.rb +0 -6
- data/lib/commands/ncgi/listener +0 -86
- data/lib/commands/ncgi/tracker +0 -69
- data/lib/commands/performance/benchmarker.rb +0 -24
- data/lib/commands/performance/profiler.rb +0 -50
- data/lib/commands/plugin.rb +0 -968
- data/lib/commands/runner.rb +0 -54
- data/lib/commands/server.rb +0 -114
- data/lib/commands/update.rb +0 -4
- data/lib/console_app.rb +0 -30
- data/lib/console_sandbox.rb +0 -6
- data/lib/console_with_helpers.rb +0 -5
- data/lib/dispatcher.rb +0 -24
- data/lib/fcgi_handler.rb +0 -239
- data/lib/initializer.rb +0 -1152
- data/lib/performance_test_help.rb +0 -5
- data/lib/rails/backtrace_cleaner.rb +0 -54
- data/lib/rails/gem_builder.rb +0 -21
- data/lib/rails/gem_dependency.rb +0 -317
- data/lib/rails/plugin.rb +0 -179
- data/lib/rails/plugin/loader.rb +0 -198
- data/lib/rails/plugin/locator.rb +0 -100
- data/lib/rails/rack.rb +0 -8
- data/lib/rails/rack/debugger.rb +0 -23
- data/lib/rails/rack/log_tailer.rb +0 -35
- data/lib/rails/rack/metal.rb +0 -51
- data/lib/rails/rack/static.rb +0 -46
- data/lib/rails/vendor_gem_source_index.rb +0 -140
- data/lib/rails/version.rb +0 -9
- data/lib/rails_generator.rb +0 -46
- data/lib/rails_generator/base.rb +0 -266
- data/lib/rails_generator/commands.rb +0 -621
- data/lib/rails_generator/generated_attribute.rb +0 -47
- data/lib/rails_generator/generators/applications/app/USAGE +0 -9
- data/lib/rails_generator/generators/applications/app/app_generator.rb +0 -266
- data/lib/rails_generator/generators/applications/app/scm/git.rb +0 -18
- data/lib/rails_generator/generators/applications/app/scm/scm.rb +0 -8
- data/lib/rails_generator/generators/applications/app/scm/svn.rb +0 -7
- data/lib/rails_generator/generators/applications/app/template_runner.rb +0 -401
- data/lib/rails_generator/generators/components/controller/USAGE +0 -30
- data/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -43
- data/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -7
- data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
- data/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
- data/lib/rails_generator/generators/components/helper/USAGE +0 -24
- data/lib/rails_generator/generators/components/helper/helper_generator.rb +0 -25
- data/lib/rails_generator/generators/components/helper/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
- data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
- data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
- data/lib/rails_generator/generators/components/mailer/USAGE +0 -16
- data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -30
- data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
- data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
- data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -15
- data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -20
- data/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
- data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
- data/lib/rails_generator/generators/components/metal/USAGE +0 -8
- data/lib/rails_generator/generators/components/metal/metal_generator.rb +0 -8
- data/lib/rails_generator/generators/components/metal/templates/metal.rb +0 -12
- data/lib/rails_generator/generators/components/migration/USAGE +0 -29
- data/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
- data/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
- data/lib/rails_generator/generators/components/model/USAGE +0 -27
- data/lib/rails_generator/generators/components/model/model_generator.rb +0 -52
- data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -23
- data/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
- data/lib/rails_generator/generators/components/model/templates/model.rb +0 -5
- data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/observer/USAGE +0 -13
- data/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
- data/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
- data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/performance_test/USAGE +0 -8
- data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +0 -16
- data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +0 -9
- data/lib/rails_generator/generators/components/plugin/USAGE +0 -25
- data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
- data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
- data/lib/rails_generator/generators/components/plugin/templates/README +0 -13
- data/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -23
- data/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
- data/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
- data/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
- data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +0 -4
- data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/resource/USAGE +0 -23
- data/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
- data/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
- data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
- data/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/scaffold/USAGE +0 -29
- data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -103
- data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -83
- data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
- data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
- data/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -54
- data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -18
- data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
- data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -17
- data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
- data/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
- data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
- data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
- data/lib/rails_generator/lookup.rb +0 -249
- data/lib/rails_generator/manifest.rb +0 -53
- data/lib/rails_generator/options.rb +0 -150
- data/lib/rails_generator/scripts.rb +0 -89
- data/lib/rails_generator/scripts/destroy.rb +0 -29
- data/lib/rails_generator/scripts/generate.rb +0 -7
- data/lib/rails_generator/scripts/update.rb +0 -12
- data/lib/rails_generator/secret_key_generator.rb +0 -24
- data/lib/rails_generator/simple_logger.rb +0 -46
- data/lib/rails_generator/spec.rb +0 -44
- data/lib/railties_path.rb +0 -1
- data/lib/ruby_version_check.rb +0 -17
- data/lib/rubyprof_ext.rb +0 -35
- data/lib/source_annotation_extractor.rb +0 -102
- data/lib/tasks/annotations.rake +0 -20
- data/lib/tasks/databases.rake +0 -436
- data/lib/tasks/documentation.rake +0 -93
- data/lib/tasks/framework.rake +0 -146
- data/lib/tasks/gems.rake +0 -78
- data/lib/tasks/log.rake +0 -9
- data/lib/tasks/middleware.rake +0 -7
- data/lib/tasks/misc.rake +0 -63
- data/lib/tasks/rails.rb +0 -14
- data/lib/tasks/routes.rake +0 -18
- data/lib/tasks/statistics.rake +0 -17
- data/lib/tasks/testing.rake +0 -139
- data/lib/tasks/tmp.rake +0 -37
- data/lib/test_help.rb +0 -38
- data/lib/webrick_server.rb +0 -156
- data/railties.gemspec +0 -22
data/lib/rails/plugin/loader.rb
DELETED
@@ -1,198 +0,0 @@
|
|
1
|
-
require "rails/plugin"
|
2
|
-
|
3
|
-
module Rails
|
4
|
-
class Plugin
|
5
|
-
class Loader
|
6
|
-
attr_reader :initializer
|
7
|
-
|
8
|
-
# Creates a new Plugin::Loader instance, associated with the given
|
9
|
-
# Rails::Initializer. This default implementation automatically locates
|
10
|
-
# all plugins, and adds all plugin load paths, when it is created. The plugins
|
11
|
-
# are then fully loaded (init.rb is evaluated) when load_plugins is called.
|
12
|
-
#
|
13
|
-
# It is the loader's responsibility to ensure that only the plugins specified
|
14
|
-
# in the configuration are actually loaded, and that the order defined
|
15
|
-
# is respected.
|
16
|
-
def initialize(initializer)
|
17
|
-
@initializer = initializer
|
18
|
-
end
|
19
|
-
|
20
|
-
# Returns the plugins to be loaded, in the order they should be loaded.
|
21
|
-
def plugins
|
22
|
-
@plugins ||= all_plugins.select { |plugin| should_load?(plugin) }.sort { |p1, p2| order_plugins(p1, p2) }
|
23
|
-
end
|
24
|
-
|
25
|
-
# Returns the plugins that are in engine-form (have an app/ directory)
|
26
|
-
def engines
|
27
|
-
@engines ||= plugins.select(&:engine?)
|
28
|
-
end
|
29
|
-
|
30
|
-
# Returns all the plugins that could be found by the current locators.
|
31
|
-
def all_plugins
|
32
|
-
@all_plugins ||= locate_plugins
|
33
|
-
@all_plugins
|
34
|
-
end
|
35
|
-
|
36
|
-
def load_plugins
|
37
|
-
plugins.each do |plugin|
|
38
|
-
plugin.load(initializer)
|
39
|
-
register_plugin_as_loaded(plugin)
|
40
|
-
end
|
41
|
-
|
42
|
-
configure_engines
|
43
|
-
|
44
|
-
ensure_all_registered_plugins_are_loaded!
|
45
|
-
end
|
46
|
-
|
47
|
-
# Adds the load paths for every plugin into the $LOAD_PATH. Plugin load paths are
|
48
|
-
# added *after* the application's <tt>lib</tt> directory, to ensure that an application
|
49
|
-
# can always override code within a plugin.
|
50
|
-
#
|
51
|
-
# Plugin load paths are also added to Dependencies.autoload_paths, and Dependencies.autoload_once_paths.
|
52
|
-
def add_plugin_load_paths
|
53
|
-
plugins.each do |plugin|
|
54
|
-
plugin.load_paths.each do |path|
|
55
|
-
$LOAD_PATH.insert(application_lib_index + 1, path)
|
56
|
-
|
57
|
-
ActiveSupport::Dependencies.autoload_paths << path
|
58
|
-
|
59
|
-
unless configuration.reload_plugins?
|
60
|
-
ActiveSupport::Dependencies.autoload_once_paths << path
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
$LOAD_PATH.uniq!
|
66
|
-
end
|
67
|
-
|
68
|
-
def engine_metal_paths
|
69
|
-
engines.collect(&:metal_path)
|
70
|
-
end
|
71
|
-
|
72
|
-
protected
|
73
|
-
def configure_engines
|
74
|
-
if engines.any?
|
75
|
-
add_engine_routing_configurations
|
76
|
-
add_engine_locales
|
77
|
-
add_engine_controller_paths
|
78
|
-
add_engine_view_paths
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def add_engine_routing_configurations
|
83
|
-
engines.select(&:routed?).collect(&:routing_file).each do |routing_file|
|
84
|
-
ActionController::Routing::Routes.add_configuration_file(routing_file)
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
def add_engine_locales
|
89
|
-
# reverse it such that the last engine can overwrite translations from the first, like with routes
|
90
|
-
locale_files = engines.select(&:localized?).collect(&:locale_files).reverse.flatten
|
91
|
-
I18n.load_path += locale_files - I18n.load_path
|
92
|
-
end
|
93
|
-
|
94
|
-
def add_engine_controller_paths
|
95
|
-
ActionController::Routing.controller_paths += engines.collect(&:controller_path)
|
96
|
-
end
|
97
|
-
|
98
|
-
def add_engine_view_paths
|
99
|
-
# reverse it such that the last engine can overwrite view paths from the first, like with routes
|
100
|
-
paths = ActionView::PathSet.new(engines.collect(&:view_path).reverse)
|
101
|
-
ActionController::Base.view_paths.concat(paths)
|
102
|
-
ActionMailer::Base.view_paths.concat(paths) if configuration.frameworks.include?(:action_mailer)
|
103
|
-
end
|
104
|
-
|
105
|
-
# The locate_plugins method uses each class in config.plugin_locators to
|
106
|
-
# find the set of all plugins available to this Rails application.
|
107
|
-
def locate_plugins
|
108
|
-
configuration.plugin_locators.map do |locator|
|
109
|
-
locator.new(initializer).plugins
|
110
|
-
end.flatten
|
111
|
-
# TODO: sorting based on config.plugins
|
112
|
-
end
|
113
|
-
|
114
|
-
def register_plugin_as_loaded(plugin)
|
115
|
-
initializer.loaded_plugins << plugin
|
116
|
-
end
|
117
|
-
|
118
|
-
def configuration
|
119
|
-
initializer.configuration
|
120
|
-
end
|
121
|
-
|
122
|
-
def should_load?(plugin)
|
123
|
-
# uses Plugin#name and Plugin#valid?
|
124
|
-
enabled?(plugin) && plugin.valid?
|
125
|
-
end
|
126
|
-
|
127
|
-
def order_plugins(plugin_a, plugin_b)
|
128
|
-
if !explicit_plugin_loading_order?
|
129
|
-
plugin_a <=> plugin_b
|
130
|
-
else
|
131
|
-
if !explicitly_enabled?(plugin_a) && !explicitly_enabled?(plugin_b)
|
132
|
-
plugin_a <=> plugin_b
|
133
|
-
else
|
134
|
-
effective_order_of(plugin_a) <=> effective_order_of(plugin_b)
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
def effective_order_of(plugin)
|
140
|
-
if explicitly_enabled?(plugin)
|
141
|
-
registered_plugin_names.index(plugin.name)
|
142
|
-
else
|
143
|
-
registered_plugin_names.index('all')
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
def application_lib_index
|
148
|
-
$LOAD_PATH.index(File.join(RAILS_ROOT, 'lib')) || 0
|
149
|
-
end
|
150
|
-
|
151
|
-
def enabled?(plugin)
|
152
|
-
!explicit_plugin_loading_order? || registered?(plugin)
|
153
|
-
end
|
154
|
-
|
155
|
-
def explicit_plugin_loading_order?
|
156
|
-
!registered_plugin_names.nil?
|
157
|
-
end
|
158
|
-
|
159
|
-
def registered?(plugin)
|
160
|
-
explicit_plugin_loading_order? && registered_plugins_names_plugin?(plugin)
|
161
|
-
end
|
162
|
-
|
163
|
-
def explicitly_enabled?(plugin)
|
164
|
-
!explicit_plugin_loading_order? || explicitly_registered?(plugin)
|
165
|
-
end
|
166
|
-
|
167
|
-
def explicitly_registered?(plugin)
|
168
|
-
explicit_plugin_loading_order? && registered_plugin_names.include?(plugin.name)
|
169
|
-
end
|
170
|
-
|
171
|
-
def registered_plugins_names_plugin?(plugin)
|
172
|
-
registered_plugin_names.include?(plugin.name) || registered_plugin_names.include?('all')
|
173
|
-
end
|
174
|
-
|
175
|
-
# The plugins that have been explicitly listed with config.plugins. If this list is nil
|
176
|
-
# then it means the client does not care which plugins or in what order they are loaded,
|
177
|
-
# so we load all in alphabetical order. If it is an empty array, we load no plugins, if it is
|
178
|
-
# non empty, we load the named plugins in the order specified.
|
179
|
-
def registered_plugin_names
|
180
|
-
configuration.plugins ? configuration.plugins.map(&:to_s) : nil
|
181
|
-
end
|
182
|
-
|
183
|
-
def loaded?(plugin_name)
|
184
|
-
initializer.loaded_plugins.detect { |plugin| plugin.name == plugin_name.to_s }
|
185
|
-
end
|
186
|
-
|
187
|
-
def ensure_all_registered_plugins_are_loaded!
|
188
|
-
if explicit_plugin_loading_order?
|
189
|
-
if configuration.plugins.detect {|plugin| plugin != :all && !loaded?(plugin) }
|
190
|
-
missing_plugins = configuration.plugins - (plugins.map{|p| p.name.to_sym} + [:all])
|
191
|
-
raise LoadError, "Could not locate the following plugins: #{missing_plugins.to_sentence(:locale => :en)}"
|
192
|
-
end
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
end
|
197
|
-
end
|
198
|
-
end
|
data/lib/rails/plugin/locator.rb
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
module Rails
|
2
|
-
class Plugin
|
3
|
-
|
4
|
-
# The Plugin::Locator class should be subclasses to provide custom plugin-finding
|
5
|
-
# abilities to Rails (i.e. loading plugins from Gems, etc). Each subclass should implement
|
6
|
-
# the <tt>located_plugins</tt> method, which return an array of Plugin objects that have been found.
|
7
|
-
class Locator
|
8
|
-
include Enumerable
|
9
|
-
|
10
|
-
attr_reader :initializer
|
11
|
-
|
12
|
-
def initialize(initializer)
|
13
|
-
@initializer = initializer
|
14
|
-
end
|
15
|
-
|
16
|
-
# This method should return all the plugins which this Plugin::Locator can find
|
17
|
-
# These will then be used by the current Plugin::Loader, which is responsible for actually
|
18
|
-
# loading the plugins themselves
|
19
|
-
def plugins
|
20
|
-
raise "The `plugins' method must be defined by concrete subclasses of #{self.class}"
|
21
|
-
end
|
22
|
-
|
23
|
-
def each(&block)
|
24
|
-
plugins.each(&block)
|
25
|
-
end
|
26
|
-
|
27
|
-
def plugin_names
|
28
|
-
plugins.map(&:name)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
# The Rails::Plugin::FileSystemLocator will try to locate plugins by examining the directories
|
33
|
-
# in the paths given in configuration.plugin_paths. Any plugins that can be found are returned
|
34
|
-
# in a list.
|
35
|
-
#
|
36
|
-
# The criteria for a valid plugin in this case is found in Rails::Plugin#valid?, although
|
37
|
-
# other subclasses of Rails::Plugin::Locator can of course use different conditions.
|
38
|
-
class FileSystemLocator < Locator
|
39
|
-
|
40
|
-
# Returns all the plugins which can be loaded in the filesystem, under the paths given
|
41
|
-
# by configuration.plugin_paths.
|
42
|
-
def plugins
|
43
|
-
initializer.configuration.plugin_paths.flatten.inject([]) do |plugins, path|
|
44
|
-
plugins.concat locate_plugins_under(path)
|
45
|
-
plugins
|
46
|
-
end.flatten
|
47
|
-
end
|
48
|
-
|
49
|
-
private
|
50
|
-
|
51
|
-
# Attempts to create a plugin from the given path. If the created plugin is valid?
|
52
|
-
# (see Rails::Plugin#valid?) then the plugin instance is returned; otherwise nil.
|
53
|
-
def create_plugin(path)
|
54
|
-
plugin = Rails::Plugin.new(path)
|
55
|
-
plugin.valid? ? plugin : nil
|
56
|
-
end
|
57
|
-
|
58
|
-
# This starts at the base path looking for valid plugins (see Rails::Plugin#valid?).
|
59
|
-
# Since plugins can be nested arbitrarily deep within an unspecified number of intermediary
|
60
|
-
# directories, this method runs recursively until it finds a plugin directory, e.g.
|
61
|
-
#
|
62
|
-
# locate_plugins_under('vendor/plugins/acts/acts_as_chunky_bacon')
|
63
|
-
# => <Rails::Plugin name: 'acts_as_chunky_bacon' ... >
|
64
|
-
#
|
65
|
-
def locate_plugins_under(base_path)
|
66
|
-
Dir.glob(File.join(base_path, '*')).sort.inject([]) do |plugins, path|
|
67
|
-
if plugin = create_plugin(path)
|
68
|
-
plugins << plugin
|
69
|
-
elsif File.directory?(path)
|
70
|
-
plugins.concat locate_plugins_under(path)
|
71
|
-
end
|
72
|
-
plugins
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
# The GemLocator scans all the loaded RubyGems, looking for gems with
|
78
|
-
# a <tt>rails/init.rb</tt> file.
|
79
|
-
class GemLocator < Locator
|
80
|
-
def plugins
|
81
|
-
gem_index = initializer.configuration.gems.inject({}) { |memo, gem| memo.update gem.specification => gem }
|
82
|
-
specs = gem_index.keys
|
83
|
-
specs += Gem.loaded_specs.values.select do |spec|
|
84
|
-
spec.loaded_from && # prune stubs
|
85
|
-
File.exist?(File.join(spec.full_gem_path, "rails", "init.rb"))
|
86
|
-
end
|
87
|
-
specs.compact!
|
88
|
-
|
89
|
-
require "rubygems/dependency_list"
|
90
|
-
|
91
|
-
deps = Gem::DependencyList.new
|
92
|
-
deps.add(*specs) unless specs.empty?
|
93
|
-
|
94
|
-
deps.dependency_order.collect do |spec|
|
95
|
-
Rails::GemPlugin.new(spec, gem_index[spec])
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
data/lib/rails/rack.rb
DELETED
data/lib/rails/rack/debugger.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
module Rails
|
2
|
-
module Rack
|
3
|
-
class Debugger
|
4
|
-
def initialize(app)
|
5
|
-
@app = app
|
6
|
-
|
7
|
-
ARGV.clear # clear ARGV so that script/server options aren't passed to IRB
|
8
|
-
|
9
|
-
require_library_or_gem 'ruby-debug'
|
10
|
-
::Debugger.start
|
11
|
-
::Debugger.settings[:autoeval] = true if ::Debugger.respond_to?(:settings)
|
12
|
-
puts "=> Debugger enabled"
|
13
|
-
rescue Exception
|
14
|
-
puts "You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug'"
|
15
|
-
exit
|
16
|
-
end
|
17
|
-
|
18
|
-
def call(env)
|
19
|
-
@app.call(env)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
module Rails
|
2
|
-
module Rack
|
3
|
-
class LogTailer
|
4
|
-
EnvironmentLog = "#{File.expand_path(Rails.root)}/log/#{Rails.env}.log"
|
5
|
-
|
6
|
-
def initialize(app, log = nil)
|
7
|
-
@app = app
|
8
|
-
|
9
|
-
path = Pathname.new(log || EnvironmentLog).cleanpath
|
10
|
-
@cursor = ::File.size(path)
|
11
|
-
@last_checked = Time.now.to_f
|
12
|
-
|
13
|
-
@file = ::File.open(path, 'r')
|
14
|
-
end
|
15
|
-
|
16
|
-
def call(env)
|
17
|
-
response = @app.call(env)
|
18
|
-
tail_log
|
19
|
-
response
|
20
|
-
end
|
21
|
-
|
22
|
-
def tail_log
|
23
|
-
@file.seek @cursor
|
24
|
-
|
25
|
-
mod = @file.mtime.to_f
|
26
|
-
if mod > @last_checked
|
27
|
-
contents = @file.read
|
28
|
-
@last_checked = mod
|
29
|
-
@cursor += contents.size
|
30
|
-
$stdout.print contents
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
data/lib/rails/rack/metal.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
require 'active_support/ordered_hash'
|
2
|
-
|
3
|
-
module Rails
|
4
|
-
module Rack
|
5
|
-
class Metal
|
6
|
-
NotFoundResponse = [404, {}, []].freeze
|
7
|
-
NotFound = lambda { NotFoundResponse }
|
8
|
-
|
9
|
-
cattr_accessor :metal_paths
|
10
|
-
self.metal_paths = ["#{Rails.root}/app/metal"]
|
11
|
-
cattr_accessor :requested_metals
|
12
|
-
|
13
|
-
def self.metals
|
14
|
-
matcher = /#{Regexp.escape('/app/metal/')}(.*)\.rb\Z/
|
15
|
-
metal_glob = metal_paths.map{ |base| "#{base}/**/*.rb" }
|
16
|
-
all_metals = {}
|
17
|
-
|
18
|
-
metal_glob.each do |glob|
|
19
|
-
Dir[glob].sort.map do |file|
|
20
|
-
file = file.match(matcher)[1]
|
21
|
-
all_metals[file.camelize] = file
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
load_list = requested_metals || all_metals.keys
|
26
|
-
|
27
|
-
load_list.map do |requested_metal|
|
28
|
-
if metal = all_metals[requested_metal]
|
29
|
-
require_dependency metal
|
30
|
-
requested_metal.constantize
|
31
|
-
end
|
32
|
-
end.compact
|
33
|
-
end
|
34
|
-
|
35
|
-
def initialize(app)
|
36
|
-
@app = app
|
37
|
-
@metals = ActiveSupport::OrderedHash.new
|
38
|
-
self.class.metals.each { |app| @metals[app] = true }
|
39
|
-
freeze
|
40
|
-
end
|
41
|
-
|
42
|
-
def call(env)
|
43
|
-
@metals.keys.each do |app|
|
44
|
-
result = app.call(env)
|
45
|
-
return result unless result[0].to_i == 404
|
46
|
-
end
|
47
|
-
@app.call(env)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
data/lib/rails/rack/static.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'rack/utils'
|
2
|
-
|
3
|
-
module Rails
|
4
|
-
module Rack
|
5
|
-
class Static
|
6
|
-
FILE_METHODS = %w(GET HEAD).freeze
|
7
|
-
|
8
|
-
def initialize(app)
|
9
|
-
@app = app
|
10
|
-
@file_server = ::Rack::File.new(File.join(RAILS_ROOT, "public"))
|
11
|
-
end
|
12
|
-
|
13
|
-
def call(env)
|
14
|
-
path = env['PATH_INFO'].chomp('/')
|
15
|
-
method = env['REQUEST_METHOD']
|
16
|
-
|
17
|
-
if FILE_METHODS.include?(method)
|
18
|
-
if file_exist?(path)
|
19
|
-
return @file_server.call(env)
|
20
|
-
else
|
21
|
-
cached_path = directory_exist?(path) ? "#{path}/index" : path
|
22
|
-
cached_path += ::ActionController::Base.page_cache_extension
|
23
|
-
|
24
|
-
if file_exist?(cached_path)
|
25
|
-
env['PATH_INFO'] = cached_path
|
26
|
-
return @file_server.call(env)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
@app.call(env)
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
def file_exist?(path)
|
36
|
-
full_path = File.join(@file_server.root, ::Rack::Utils.unescape(path))
|
37
|
-
File.file?(full_path) && File.readable?(full_path)
|
38
|
-
end
|
39
|
-
|
40
|
-
def directory_exist?(path)
|
41
|
-
full_path = File.join(@file_server.root, ::Rack::Utils.unescape(path))
|
42
|
-
File.directory?(full_path) && File.readable?(full_path)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|