rails 2.3.18 → 7.1.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +2 -2
  3. data/README.md +97 -0
  4. metadata +207 -332
  5. data/CHANGELOG +0 -2193
  6. data/README +0 -243
  7. data/Rakefile +0 -365
  8. data/bin/about +0 -4
  9. data/bin/console +0 -3
  10. data/bin/dbconsole +0 -3
  11. data/bin/destroy +0 -3
  12. data/bin/generate +0 -3
  13. data/bin/performance/benchmarker +0 -3
  14. data/bin/performance/profiler +0 -3
  15. data/bin/plugin +0 -3
  16. data/bin/rails +0 -21
  17. data/bin/runner +0 -3
  18. data/bin/server +0 -3
  19. data/builtin/rails_info/rails/info.rb +0 -131
  20. data/builtin/rails_info/rails/info_controller.rb +0 -9
  21. data/builtin/rails_info/rails/info_helper.rb +0 -2
  22. data/builtin/rails_info/rails_info_controller.rb +0 -2
  23. data/configs/databases/frontbase.yml +0 -28
  24. data/configs/databases/ibm_db.yml +0 -62
  25. data/configs/databases/mysql.yml +0 -60
  26. data/configs/databases/oracle.yml +0 -39
  27. data/configs/databases/postgresql.yml +0 -51
  28. data/configs/databases/sqlite2.yml +0 -19
  29. data/configs/databases/sqlite3.yml +0 -22
  30. data/configs/empty.log +0 -0
  31. data/configs/initializers/backtrace_silencers.rb +0 -7
  32. data/configs/initializers/cookie_verification_secret.rb +0 -7
  33. data/configs/initializers/inflections.rb +0 -10
  34. data/configs/initializers/mime_types.rb +0 -5
  35. data/configs/initializers/new_rails_defaults.rb +0 -21
  36. data/configs/initializers/session_store.rb +0 -15
  37. data/configs/locales/en.yml +0 -5
  38. data/configs/routes.rb +0 -43
  39. data/configs/seeds.rb +0 -7
  40. data/dispatches/config.ru +0 -7
  41. data/dispatches/dispatch.fcgi +0 -24
  42. data/dispatches/dispatch.rb +0 -10
  43. data/dispatches/gateway.cgi +0 -97
  44. data/doc/README_FOR_APP +0 -2
  45. data/environments/boot.rb +0 -114
  46. data/environments/development.rb +0 -17
  47. data/environments/environment.rb +0 -41
  48. data/environments/production.rb +0 -28
  49. data/environments/test.rb +0 -28
  50. data/fresh_rakefile +0 -10
  51. data/helpers/application_controller.rb +0 -10
  52. data/helpers/application_helper.rb +0 -3
  53. data/helpers/performance_test.rb +0 -9
  54. data/helpers/test_helper.rb +0 -38
  55. data/html/404.html +0 -30
  56. data/html/422.html +0 -30
  57. data/html/500.html +0 -30
  58. data/html/favicon.ico +0 -0
  59. data/html/images/rails.png +0 -0
  60. data/html/index.html +0 -275
  61. data/html/javascripts/application.js +0 -2
  62. data/html/javascripts/controls.js +0 -963
  63. data/html/javascripts/dragdrop.js +0 -973
  64. data/html/javascripts/effects.js +0 -1128
  65. data/html/javascripts/prototype.js +0 -4320
  66. data/html/robots.txt +0 -5
  67. data/lib/code_statistics.rb +0 -107
  68. data/lib/commands/about.rb +0 -3
  69. data/lib/commands/console.rb +0 -45
  70. data/lib/commands/dbconsole.rb +0 -87
  71. data/lib/commands/destroy.rb +0 -6
  72. data/lib/commands/generate.rb +0 -6
  73. data/lib/commands/ncgi/listener +0 -86
  74. data/lib/commands/ncgi/tracker +0 -69
  75. data/lib/commands/performance/benchmarker.rb +0 -24
  76. data/lib/commands/performance/profiler.rb +0 -50
  77. data/lib/commands/plugin.rb +0 -968
  78. data/lib/commands/runner.rb +0 -54
  79. data/lib/commands/server.rb +0 -114
  80. data/lib/commands/update.rb +0 -4
  81. data/lib/commands.rb +0 -17
  82. data/lib/console_app.rb +0 -30
  83. data/lib/console_sandbox.rb +0 -6
  84. data/lib/console_with_helpers.rb +0 -5
  85. data/lib/dispatcher.rb +0 -24
  86. data/lib/fcgi_handler.rb +0 -239
  87. data/lib/initializer.rb +0 -1152
  88. data/lib/performance_test_help.rb +0 -5
  89. data/lib/rails/backtrace_cleaner.rb +0 -54
  90. data/lib/rails/gem_builder.rb +0 -21
  91. data/lib/rails/gem_dependency.rb +0 -317
  92. data/lib/rails/plugin/loader.rb +0 -198
  93. data/lib/rails/plugin/locator.rb +0 -100
  94. data/lib/rails/plugin.rb +0 -179
  95. data/lib/rails/rack/debugger.rb +0 -23
  96. data/lib/rails/rack/log_tailer.rb +0 -35
  97. data/lib/rails/rack/metal.rb +0 -51
  98. data/lib/rails/rack/static.rb +0 -46
  99. data/lib/rails/rack.rb +0 -8
  100. data/lib/rails/vendor_gem_source_index.rb +0 -140
  101. data/lib/rails/version.rb +0 -9
  102. data/lib/rails_generator/base.rb +0 -266
  103. data/lib/rails_generator/commands.rb +0 -621
  104. data/lib/rails_generator/generated_attribute.rb +0 -47
  105. data/lib/rails_generator/generators/applications/app/USAGE +0 -9
  106. data/lib/rails_generator/generators/applications/app/app_generator.rb +0 -266
  107. data/lib/rails_generator/generators/applications/app/scm/git.rb +0 -18
  108. data/lib/rails_generator/generators/applications/app/scm/scm.rb +0 -8
  109. data/lib/rails_generator/generators/applications/app/scm/svn.rb +0 -7
  110. data/lib/rails_generator/generators/applications/app/template_runner.rb +0 -401
  111. data/lib/rails_generator/generators/components/controller/USAGE +0 -30
  112. data/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -43
  113. data/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -7
  114. data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
  115. data/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
  116. data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +0 -4
  117. data/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
  118. data/lib/rails_generator/generators/components/helper/USAGE +0 -24
  119. data/lib/rails_generator/generators/components/helper/helper_generator.rb +0 -25
  120. data/lib/rails_generator/generators/components/helper/templates/helper.rb +0 -2
  121. data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +0 -4
  122. data/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
  123. data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
  124. data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
  125. data/lib/rails_generator/generators/components/mailer/USAGE +0 -16
  126. data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -30
  127. data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
  128. data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  129. data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -15
  130. data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -20
  131. data/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
  132. data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  133. data/lib/rails_generator/generators/components/metal/USAGE +0 -8
  134. data/lib/rails_generator/generators/components/metal/metal_generator.rb +0 -8
  135. data/lib/rails_generator/generators/components/metal/templates/metal.rb +0 -12
  136. data/lib/rails_generator/generators/components/migration/USAGE +0 -29
  137. data/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
  138. data/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
  139. data/lib/rails_generator/generators/components/model/USAGE +0 -27
  140. data/lib/rails_generator/generators/components/model/model_generator.rb +0 -52
  141. data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -23
  142. data/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
  143. data/lib/rails_generator/generators/components/model/templates/model.rb +0 -5
  144. data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
  145. data/lib/rails_generator/generators/components/observer/USAGE +0 -13
  146. data/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
  147. data/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
  148. data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
  149. data/lib/rails_generator/generators/components/performance_test/USAGE +0 -8
  150. data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +0 -16
  151. data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +0 -9
  152. data/lib/rails_generator/generators/components/plugin/USAGE +0 -25
  153. data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
  154. data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
  155. data/lib/rails_generator/generators/components/plugin/templates/README +0 -13
  156. data/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -23
  157. data/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
  158. data/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
  159. data/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
  160. data/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
  161. data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
  162. data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
  163. data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +0 -4
  164. data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
  165. data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
  166. data/lib/rails_generator/generators/components/resource/USAGE +0 -23
  167. data/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
  168. data/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
  169. data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
  170. data/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
  171. data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +0 -4
  172. data/lib/rails_generator/generators/components/scaffold/USAGE +0 -29
  173. data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -103
  174. data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -83
  175. data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
  176. data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
  177. data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +0 -4
  178. data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
  179. data/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -54
  180. data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -18
  181. data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
  182. data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -17
  183. data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
  184. data/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
  185. data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
  186. data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
  187. data/lib/rails_generator/lookup.rb +0 -249
  188. data/lib/rails_generator/manifest.rb +0 -53
  189. data/lib/rails_generator/options.rb +0 -150
  190. data/lib/rails_generator/scripts/destroy.rb +0 -29
  191. data/lib/rails_generator/scripts/generate.rb +0 -7
  192. data/lib/rails_generator/scripts/update.rb +0 -12
  193. data/lib/rails_generator/scripts.rb +0 -89
  194. data/lib/rails_generator/secret_key_generator.rb +0 -24
  195. data/lib/rails_generator/simple_logger.rb +0 -46
  196. data/lib/rails_generator/spec.rb +0 -44
  197. data/lib/rails_generator.rb +0 -46
  198. data/lib/railties_path.rb +0 -1
  199. data/lib/ruby_version_check.rb +0 -17
  200. data/lib/rubyprof_ext.rb +0 -35
  201. data/lib/source_annotation_extractor.rb +0 -102
  202. data/lib/tasks/annotations.rake +0 -20
  203. data/lib/tasks/databases.rake +0 -436
  204. data/lib/tasks/documentation.rake +0 -93
  205. data/lib/tasks/framework.rake +0 -146
  206. data/lib/tasks/gems.rake +0 -78
  207. data/lib/tasks/log.rake +0 -9
  208. data/lib/tasks/middleware.rake +0 -7
  209. data/lib/tasks/misc.rake +0 -63
  210. data/lib/tasks/rails.rb +0 -14
  211. data/lib/tasks/routes.rake +0 -18
  212. data/lib/tasks/statistics.rake +0 -17
  213. data/lib/tasks/testing.rake +0 -139
  214. data/lib/tasks/tmp.rake +0 -37
  215. data/lib/test_help.rb +0 -38
  216. data/lib/webrick_server.rb +0 -156
  217. data/railties.gemspec +0 -22
data/lib/rails/plugin.rb DELETED
@@ -1,179 +0,0 @@
1
- module Rails
2
- # The Plugin class should be an object which provides the following methods:
3
- #
4
- # * +name+ - Used during initialisation to order the plugin (based on name and
5
- # the contents of <tt>config.plugins</tt>).
6
- # * +valid?+ - Returns true if this plugin can be loaded.
7
- # * +load_paths+ - Each path within the returned array will be added to the <tt>$LOAD_PATH</tt>.
8
- # * +load+ - Finally 'load' the plugin.
9
- #
10
- # These methods are expected by the Rails::Plugin::Locator and Rails::Plugin::Loader classes.
11
- # The default implementation returns the <tt>lib</tt> directory as its <tt>load_paths</tt>,
12
- # and evaluates <tt>init.rb</tt> when <tt>load</tt> is called.
13
- #
14
- # You can also inspect the about.yml data programmatically:
15
- #
16
- # plugin = Rails::Plugin.new(path_to_my_plugin)
17
- # plugin.about["author"] # => "James Adam"
18
- # plugin.about["url"] # => "http://interblah.net"
19
- class Plugin
20
- include Comparable
21
-
22
- attr_reader :directory, :name
23
-
24
- def initialize(directory)
25
- @directory = directory
26
- @name = File.basename(@directory) rescue nil
27
- @loaded = false
28
- end
29
-
30
- def valid?
31
- File.directory?(directory) && (has_app_directory? || has_lib_directory? || has_init_file?)
32
- end
33
-
34
- # Returns a list of paths this plugin wishes to make available in <tt>$LOAD_PATH</tt>.
35
- def load_paths
36
- report_nonexistant_or_empty_plugin! unless valid?
37
-
38
- [].tap do |load_paths|
39
- load_paths << lib_path if has_lib_directory?
40
- load_paths << app_paths if has_app_directory?
41
- end.flatten
42
- end
43
-
44
- # Evaluates a plugin's init.rb file.
45
- def load(initializer)
46
- return if loaded?
47
- report_nonexistant_or_empty_plugin! unless valid?
48
- evaluate_init_rb(initializer)
49
- @loaded = true
50
- end
51
-
52
- def loaded?
53
- @loaded
54
- end
55
-
56
- def <=>(other_plugin)
57
- name <=> other_plugin.name
58
- end
59
-
60
- def about
61
- @about ||= load_about_information
62
- end
63
-
64
- # Engines are plugins with an app/ directory.
65
- def engine?
66
- has_app_directory?
67
- end
68
-
69
- # Returns true if the engine ships with a routing file
70
- def routed?
71
- File.exist?(routing_file)
72
- end
73
-
74
- # Returns true if there is any localization file in locale_path
75
- def localized?
76
- locale_files.any?
77
- end
78
-
79
- def view_path
80
- File.join(directory, 'app', 'views')
81
- end
82
-
83
- def controller_path
84
- File.join(directory, 'app', 'controllers')
85
- end
86
-
87
- def metal_path
88
- File.join(directory, 'app', 'metal')
89
- end
90
-
91
- def routing_file
92
- File.join(directory, 'config', 'routes.rb')
93
- end
94
-
95
- def locale_path
96
- File.join(directory, 'config', 'locales')
97
- end
98
-
99
- def locale_files
100
- Dir[ File.join(locale_path, '*.{rb,yml}') ]
101
- end
102
-
103
-
104
- private
105
- def load_about_information
106
- about_yml_path = File.join(@directory, "about.yml")
107
- parsed_yml = File.exist?(about_yml_path) ? YAML.load(File.read(about_yml_path)) : {}
108
- parsed_yml || {}
109
- rescue Exception
110
- {}
111
- end
112
-
113
- def report_nonexistant_or_empty_plugin!
114
- raise LoadError, "Can not find the plugin named: #{name}"
115
- end
116
-
117
-
118
- def app_paths
119
- [ File.join(directory, 'app', 'models'), File.join(directory, 'app', 'helpers'), controller_path, metal_path ]
120
- end
121
-
122
- def lib_path
123
- File.join(directory, 'lib')
124
- end
125
-
126
- def classic_init_path
127
- File.join(directory, 'init.rb')
128
- end
129
-
130
- def gem_init_path
131
- File.join(directory, 'rails', 'init.rb')
132
- end
133
-
134
- def init_path
135
- File.file?(gem_init_path) ? gem_init_path : classic_init_path
136
- end
137
-
138
-
139
- def has_app_directory?
140
- File.directory?(File.join(directory, 'app'))
141
- end
142
-
143
- def has_lib_directory?
144
- File.directory?(lib_path)
145
- end
146
-
147
- def has_init_file?
148
- File.file?(init_path)
149
- end
150
-
151
-
152
- def evaluate_init_rb(initializer)
153
- if has_init_file?
154
- silence_warnings do
155
- # Allow plugins to reference the current configuration object
156
- config = initializer.configuration
157
-
158
- eval(IO.read(init_path), binding, init_path)
159
- end
160
- end
161
- end
162
- end
163
-
164
- # This Plugin subclass represents a Gem plugin. Although RubyGems has already
165
- # taken care of $LOAD_PATHs, it exposes its load_paths to add them
166
- # to Dependencies.load_paths.
167
- class GemPlugin < Plugin
168
- # Initialize this plugin from a Gem::Specification.
169
- def initialize(spec, gem)
170
- directory = spec.full_gem_path
171
- super(directory)
172
- @name = spec.name
173
- end
174
-
175
- def init_path
176
- File.join(directory, 'rails', 'init.rb')
177
- end
178
- end
179
- end
@@ -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
@@ -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
@@ -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
data/lib/rails/rack.rb DELETED
@@ -1,8 +0,0 @@
1
- module Rails
2
- module Rack
3
- autoload :Debugger, "rails/rack/debugger"
4
- autoload :LogTailer, "rails/rack/log_tailer"
5
- autoload :Metal, "rails/rack/metal"
6
- autoload :Static, "rails/rack/static"
7
- end
8
- end
@@ -1,140 +0,0 @@
1
- require 'rubygems'
2
- require 'yaml'
3
-
4
- module Rails
5
-
6
- class VendorGemSourceIndex
7
- # VendorGemSourceIndex acts as a proxy for the Gem source index, allowing
8
- # gems to be loaded from vendor/gems. Rather than the standard gem repository format,
9
- # vendor/gems contains unpacked gems, with YAML specifications in .specification in
10
- # each gem directory.
11
- include Enumerable
12
-
13
- attr_reader :installed_source_index
14
- attr_reader :vendor_source_index
15
-
16
- @@silence_spec_warnings = false
17
-
18
- def self.silence_spec_warnings
19
- @@silence_spec_warnings
20
- end
21
-
22
- def self.silence_spec_warnings=(v)
23
- @@silence_spec_warnings = v
24
- end
25
-
26
- def initialize(installed_index, vendor_dir=Rails::GemDependency.unpacked_path)
27
- @installed_source_index = installed_index
28
- @vendor_dir = vendor_dir
29
- refresh!
30
- end
31
-
32
- def refresh!
33
- # reload the installed gems
34
- # HACK: I don't think this is needed: @installed_source_index.refresh!
35
- vendor_gems = {}
36
-
37
- # handle vendor Rails gems - they are identified by having loaded_from set to ""
38
- # we add them manually to the list, so that other gems can find them via dependencies
39
- Gem.loaded_specs.each do |n, s|
40
- next unless s.loaded_from.to_s.empty?
41
- vendor_gems[s.full_name] = s
42
- end
43
-
44
- # load specifications from vendor/gems
45
- Dir[File.join(Rails::GemDependency.unpacked_path, '*')].each do |d|
46
- dir_name = File.basename(d)
47
- dir_version = version_for_dir(dir_name)
48
- spec = load_specification(d)
49
- if spec
50
- if spec.full_name != dir_name
51
- # mismatched directory name and gem spec - produced by 2.1.0-era unpack code
52
- if dir_version
53
- # fix the spec version - this is not optimal (spec.files may be wrong)
54
- # but it's better than breaking apps. Complain to remind users to get correct specs.
55
- # use ActiveSupport::Deprecation.warn, as the logger is not set yet
56
- $stderr.puts("config.gem: Unpacked gem #{dir_name} in vendor/gems has a mismatched specification file."+
57
- " Run 'rake gems:refresh_specs' to fix this.") unless @@silence_spec_warnings
58
- spec.version = dir_version
59
- else
60
- $stderr.puts("config.gem: Unpacked gem #{dir_name} in vendor/gems is not in a versioned directory"+
61
- "(should be #{spec.full_name}).") unless @@silence_spec_warnings
62
- # continue, assume everything is OK
63
- end
64
- end
65
- else
66
- # no spec - produced by early-2008 unpack code
67
- # emulate old behavior, and complain.
68
- $stderr.puts("config.gem: Unpacked gem #{dir_name} in vendor/gems has no specification file."+
69
- " Run 'rake gems:refresh_specs' to fix this.") unless @@silence_spec_warnings
70
- if dir_version
71
- spec = Gem::Specification.new
72
- spec.version = dir_version
73
- spec.require_paths = ['lib']
74
- ext_path = File.join(d, 'ext')
75
- spec.require_paths << 'ext' if File.exist?(ext_path)
76
- spec.name = /^(.*)-[^-]+$/.match(dir_name)[1]
77
- files = ['lib']
78
- # set files to everything in lib/
79
- files += Dir[File.join(d, 'lib', '*')].map { |v| v.gsub(/^#{d}\//, '') }
80
- files += Dir[File.join(d, 'ext', '*')].map { |v| v.gsub(/^#{d}\//, '') } if ext_path
81
- spec.files = files
82
- else
83
- $stderr.puts("config.gem: Unpacked gem #{dir_name} in vendor/gems not in a versioned directory."+
84
- " Giving up.") unless @@silence_spec_warnings
85
- next
86
- end
87
- end
88
- spec.loaded_from = File.join(d, '.specification')
89
- # finally, swap out full_gem_path
90
- # it would be better to use a Gem::Specification subclass, but the YAML loads an explicit class
91
- class << spec
92
- def full_gem_path
93
- path = File.join installation_path, full_name
94
- return path if File.directory? path
95
- File.join installation_path, original_name
96
- end
97
- end
98
- vendor_gems[File.basename(d)] = spec
99
- end
100
- @vendor_source_index = Gem::SourceIndex.new(vendor_gems)
101
- end
102
-
103
- def version_for_dir(d)
104
- version = d.split('-').find { |s| s.match(/^\d(\.\d|\.\w+)*$/) }
105
- Gem::Version.new(version)
106
- end
107
-
108
- def load_specification(gem_dir)
109
- spec_file = File.join(gem_dir, '.specification')
110
- YAML.load_file(spec_file) if File.exist?(spec_file)
111
- end
112
-
113
- def find_name(*args)
114
- @installed_source_index.find_name(*args) + @vendor_source_index.find_name(*args)
115
- end
116
-
117
- def search(*args)
118
- # look for vendor gems, and then installed gems - later elements take priority
119
- @installed_source_index.search(*args) + @vendor_source_index.search(*args)
120
- end
121
-
122
- def each(&block)
123
- @vendor_source_index.each(&block)
124
- @installed_source_index.each(&block)
125
- end
126
-
127
- def add_spec(spec)
128
- @vendor_source_index.add_spec spec
129
- end
130
-
131
- def remove_spec(spec)
132
- @vendor_source_index.remove_spec spec
133
- end
134
-
135
- def size
136
- @vendor_source_index.size + @installed_source_index.size
137
- end
138
-
139
- end
140
- end
data/lib/rails/version.rb DELETED
@@ -1,9 +0,0 @@
1
- module Rails
2
- module VERSION #:nodoc:
3
- MAJOR = 2
4
- MINOR = 3
5
- TINY = 18
6
-
7
- STRING = [MAJOR, MINOR, TINY].join('.')
8
- end
9
- end