rails 1.0.0 → 7.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.

Files changed (156) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +103 -0
  3. metadata +228 -294
  4. data/CHANGELOG +0 -865
  5. data/MIT-LICENSE +0 -20
  6. data/README +0 -153
  7. data/Rakefile +0 -422
  8. data/bin/about +0 -3
  9. data/bin/breakpointer +0 -3
  10. data/bin/console +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/process/reaper +0 -3
  17. data/bin/process/spawner +0 -3
  18. data/bin/process/spinner +0 -3
  19. data/bin/rails +0 -21
  20. data/bin/runner +0 -3
  21. data/bin/server +0 -3
  22. data/builtin/controllers/rails_info_controller.rb +0 -11
  23. data/configs/apache.conf +0 -40
  24. data/configs/database.yml +0 -85
  25. data/configs/empty.log +0 -0
  26. data/configs/lighttpd.conf +0 -40
  27. data/configs/routes.rb +0 -19
  28. data/dispatches/dispatch.fcgi +0 -24
  29. data/dispatches/dispatch.rb +0 -10
  30. data/dispatches/gateway.cgi +0 -97
  31. data/doc/README_FOR_APP +0 -2
  32. data/environments/boot.rb +0 -19
  33. data/environments/development.rb +0 -19
  34. data/environments/environment.rb +0 -53
  35. data/environments/production.rb +0 -19
  36. data/environments/test.rb +0 -19
  37. data/fresh_rakefile +0 -10
  38. data/helpers/application.rb +0 -4
  39. data/helpers/application_helper.rb +0 -3
  40. data/helpers/test_helper.rb +0 -28
  41. data/html/404.html +0 -8
  42. data/html/500.html +0 -8
  43. data/html/favicon.ico +0 -0
  44. data/html/images/rails.png +0 -0
  45. data/html/index.html +0 -277
  46. data/html/javascripts/controls.js +0 -750
  47. data/html/javascripts/dragdrop.js +0 -584
  48. data/html/javascripts/effects.js +0 -854
  49. data/html/javascripts/prototype.js +0 -1785
  50. data/html/robots.txt +0 -1
  51. data/lib/binding_of_caller.rb +0 -85
  52. data/lib/breakpoint.rb +0 -523
  53. data/lib/breakpoint_client.rb +0 -196
  54. data/lib/code_statistics.rb +0 -107
  55. data/lib/commands/about.rb +0 -2
  56. data/lib/commands/breakpointer.rb +0 -1
  57. data/lib/commands/console.rb +0 -23
  58. data/lib/commands/destroy.rb +0 -6
  59. data/lib/commands/generate.rb +0 -6
  60. data/lib/commands/ncgi/listener +0 -86
  61. data/lib/commands/ncgi/tracker +0 -69
  62. data/lib/commands/performance/benchmarker.rb +0 -24
  63. data/lib/commands/performance/profiler.rb +0 -34
  64. data/lib/commands/plugin.rb +0 -823
  65. data/lib/commands/process/reaper.rb +0 -130
  66. data/lib/commands/process/spawner.rb +0 -52
  67. data/lib/commands/process/spinner.rb +0 -57
  68. data/lib/commands/runner.rb +0 -27
  69. data/lib/commands/server.rb +0 -28
  70. data/lib/commands/servers/lighttpd.rb +0 -60
  71. data/lib/commands/servers/webrick.rb +0 -59
  72. data/lib/commands/update.rb +0 -4
  73. data/lib/commands.rb +0 -17
  74. data/lib/console_sandbox.rb +0 -6
  75. data/lib/dispatcher.rb +0 -99
  76. data/lib/fcgi_handler.rb +0 -189
  77. data/lib/initializer.rb +0 -553
  78. data/lib/rails_generator/base.rb +0 -203
  79. data/lib/rails_generator/commands.rb +0 -509
  80. data/lib/rails_generator/generators/applications/app/USAGE +0 -16
  81. data/lib/rails_generator/generators/applications/app/app_generator.rb +0 -140
  82. data/lib/rails_generator/generators/components/controller/USAGE +0 -30
  83. data/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -38
  84. data/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -10
  85. data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -18
  86. data/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
  87. data/lib/rails_generator/generators/components/controller/templates/view.rhtml +0 -2
  88. data/lib/rails_generator/generators/components/mailer/USAGE +0 -18
  89. data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -32
  90. data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -3
  91. data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -13
  92. data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -37
  93. data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -3
  94. data/lib/rails_generator/generators/components/migration/USAGE +0 -14
  95. data/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -7
  96. data/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -7
  97. data/lib/rails_generator/generators/components/model/USAGE +0 -17
  98. data/lib/rails_generator/generators/components/model/model_generator.rb +0 -18
  99. data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -5
  100. data/lib/rails_generator/generators/components/model/templates/model.rb +0 -2
  101. data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -10
  102. data/lib/rails_generator/generators/components/plugin/USAGE +0 -33
  103. data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -33
  104. data/lib/rails_generator/generators/components/plugin/templates/README +0 -4
  105. data/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -22
  106. data/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
  107. data/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
  108. data/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
  109. data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
  110. data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
  111. data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
  112. data/lib/rails_generator/generators/components/scaffold/USAGE +0 -32
  113. data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -184
  114. data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -54
  115. data/lib/rails_generator/generators/components/scaffold/templates/form.rhtml +0 -3
  116. data/lib/rails_generator/generators/components/scaffold/templates/form_scaffolding.rhtml +0 -1
  117. data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -98
  118. data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
  119. data/lib/rails_generator/generators/components/scaffold/templates/layout.rhtml +0 -13
  120. data/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -74
  121. data/lib/rails_generator/generators/components/scaffold/templates/view_edit.rhtml +0 -9
  122. data/lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml +0 -27
  123. data/lib/rails_generator/generators/components/scaffold/templates/view_new.rhtml +0 -8
  124. data/lib/rails_generator/generators/components/scaffold/templates/view_show.rhtml +0 -8
  125. data/lib/rails_generator/generators/components/session_migration/USAGE +0 -15
  126. data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -12
  127. data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -15
  128. data/lib/rails_generator/generators/components/web_service/USAGE +0 -28
  129. data/lib/rails_generator/generators/components/web_service/templates/api_definition.rb +0 -5
  130. data/lib/rails_generator/generators/components/web_service/templates/controller.rb +0 -8
  131. data/lib/rails_generator/generators/components/web_service/templates/functional_test.rb +0 -19
  132. data/lib/rails_generator/generators/components/web_service/web_service_generator.rb +0 -29
  133. data/lib/rails_generator/lookup.rb +0 -210
  134. data/lib/rails_generator/manifest.rb +0 -53
  135. data/lib/rails_generator/options.rb +0 -140
  136. data/lib/rails_generator/scripts/destroy.rb +0 -7
  137. data/lib/rails_generator/scripts/generate.rb +0 -7
  138. data/lib/rails_generator/scripts/update.rb +0 -12
  139. data/lib/rails_generator/scripts.rb +0 -83
  140. data/lib/rails_generator/simple_logger.rb +0 -46
  141. data/lib/rails_generator/spec.rb +0 -44
  142. data/lib/rails_generator.rb +0 -43
  143. data/lib/rails_info.rb +0 -104
  144. data/lib/rails_version.rb +0 -9
  145. data/lib/railties_path.rb +0 -1
  146. data/lib/rubyprof_ext.rb +0 -35
  147. data/lib/tasks/databases.rake +0 -158
  148. data/lib/tasks/documentation.rake +0 -76
  149. data/lib/tasks/framework.rake +0 -71
  150. data/lib/tasks/javascripts.rake +0 -6
  151. data/lib/tasks/misc.rake +0 -19
  152. data/lib/tasks/rails.rb +0 -8
  153. data/lib/tasks/statistics.rake +0 -16
  154. data/lib/tasks/testing.rake +0 -50
  155. data/lib/test_help.rb +0 -17
  156. data/lib/webrick_server.rb +0 -170
@@ -1,53 +0,0 @@
1
- module Rails
2
- module Generator
3
-
4
- # Manifest captures the actions a generator performs. Instantiate
5
- # a manifest with an optional target object, hammer it with actions,
6
- # then replay or rewind on the object of your choice.
7
- #
8
- # Example:
9
- # manifest = Manifest.new { |m|
10
- # m.make_directory '/foo'
11
- # m.create_file '/foo/bar.txt'
12
- # }
13
- # manifest.replay(creator)
14
- # manifest.rewind(destroyer)
15
- class Manifest
16
- attr_reader :target
17
-
18
- # Take a default action target. Yield self if block given.
19
- def initialize(target = nil)
20
- @target, @actions = target, []
21
- yield self if block_given?
22
- end
23
-
24
- # Record an action.
25
- def method_missing(action, *args, &block)
26
- @actions << [action, args, block]
27
- end
28
-
29
- # Replay recorded actions.
30
- def replay(target = nil)
31
- send_actions(target || @target, @actions)
32
- end
33
-
34
- # Rewind recorded actions.
35
- def rewind(target = nil)
36
- send_actions(target || @target, @actions.reverse)
37
- end
38
-
39
- # Erase recorded actions.
40
- def erase
41
- @actions = []
42
- end
43
-
44
- private
45
- def send_actions(target, actions)
46
- actions.each do |method, args, block|
47
- target.send(method, *args, &block)
48
- end
49
- end
50
- end
51
-
52
- end
53
- end
@@ -1,140 +0,0 @@
1
- require 'optparse'
2
-
3
- module Rails
4
- module Generator
5
- module Options
6
- def self.append_features(base)
7
- super
8
- base.extend(ClassMethods)
9
- class << base
10
- if respond_to?(:inherited)
11
- alias_method :inherited_without_options, :inherited
12
- end
13
- alias_method :inherited, :inherited_with_options
14
- end
15
- end
16
-
17
- module ClassMethods
18
- def inherited_with_options(sub)
19
- inherited_without_options(sub) if respond_to?(:inherited_without_options)
20
- sub.extend(Rails::Generator::Options::ClassMethods)
21
- end
22
-
23
- def mandatory_options(options = nil)
24
- if options
25
- write_inheritable_attribute(:mandatory_options, options)
26
- else
27
- read_inheritable_attribute(:mandatory_options) or write_inheritable_attribute(:mandatory_options, {})
28
- end
29
- end
30
-
31
- def default_options(options = nil)
32
- if options
33
- write_inheritable_attribute(:default_options, options)
34
- else
35
- read_inheritable_attribute(:default_options) or write_inheritable_attribute(:default_options, {})
36
- end
37
- end
38
-
39
- # Merge together our class options. In increasing precedence:
40
- # default_options (class default options)
41
- # runtime_options (provided as argument)
42
- # mandatory_options (class mandatory options)
43
- def full_options(runtime_options = {})
44
- default_options.merge(runtime_options).merge(mandatory_options)
45
- end
46
-
47
- end
48
-
49
- # Each instance has an options hash that's populated by #parse.
50
- def options
51
- @options ||= {}
52
- end
53
- attr_writer :options
54
-
55
- protected
56
- # Convenient access to class mandatory options.
57
- def mandatory_options
58
- self.class.mandatory_options
59
- end
60
-
61
- # Convenient access to class default options.
62
- def default_options
63
- self.class.default_options
64
- end
65
-
66
- # Merge together our instance options. In increasing precedence:
67
- # default_options (class default options)
68
- # options (instance options)
69
- # runtime_options (provided as argument)
70
- # mandatory_options (class mandatory options)
71
- def full_options(runtime_options = {})
72
- self.class.full_options(options.merge(runtime_options))
73
- end
74
-
75
- # Parse arguments into the options hash. Classes may customize
76
- # parsing behavior by overriding these methods:
77
- # #banner Usage: ./script/generate [options]
78
- # #add_options! Options:
79
- # some options..
80
- # #add_general_options! General Options:
81
- # general options..
82
- def parse!(args, runtime_options = {})
83
- self.options = {}
84
-
85
- @option_parser = OptionParser.new do |opt|
86
- opt.banner = banner
87
- add_options!(opt)
88
- add_general_options!(opt)
89
- opt.parse!(args)
90
- end
91
-
92
- return args
93
- ensure
94
- self.options = full_options(runtime_options)
95
- end
96
-
97
- # Raise a usage error. Override usage_message to provide a blurb
98
- # after the option parser summary.
99
- def usage
100
- raise UsageError, "#{@option_parser}\n#{usage_message}"
101
- end
102
-
103
- def usage_message
104
- ''
105
- end
106
-
107
- # Override with your own usage banner.
108
- def banner
109
- "Usage: #{$0} [options]"
110
- end
111
-
112
- # Override to add your options to the parser:
113
- # def add_options!(opt)
114
- # opt.on('-v', '--verbose') { |value| options[:verbose] = value }
115
- # end
116
- def add_options!(opt)
117
- end
118
-
119
- # Adds general options like -h and --quiet. Usually don't override.
120
- def add_general_options!(opt)
121
- opt.separator ''
122
- opt.separator 'General Options:'
123
-
124
- opt.on('-p', '--pretend', 'Run but do not make any changes.') { |options[:pretend]| }
125
- opt.on('-f', '--force', 'Overwrite files that already exist.') { options[:collision] = :force }
126
- opt.on('-s', '--skip', 'Skip files that already exist.') { options[:collision] = :skip }
127
- opt.on('-q', '--quiet', 'Suppress normal output.') { |options[:quiet]| }
128
- opt.on('-t', '--backtrace', 'Debugging: show backtrace on errors.') { |options[:backtrace]| }
129
- opt.on('-h', '--help', 'Show this help message.') { |options[:help]| }
130
- opt.on('-c', '--svn', 'Modify files with subversion. (Note: svn must be in path)') do
131
- options[:svn] = `svn status`.inject({}) do |opt, e|
132
- opt[e.chomp[7..-1]] = true
133
- opt
134
- end
135
- end
136
- end
137
-
138
- end
139
- end
140
- end
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/../scripts'
2
-
3
- module Rails::Generator::Scripts
4
- class Destroy < Base
5
- mandatory_options :command => :destroy
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- require File.dirname(__FILE__) + '/../scripts'
2
-
3
- module Rails::Generator::Scripts
4
- class Generate < Base
5
- mandatory_options :command => :create
6
- end
7
- end
@@ -1,12 +0,0 @@
1
- require File.dirname(__FILE__) + '/../scripts'
2
-
3
- module Rails::Generator::Scripts
4
- class Update < Base
5
- mandatory_options :command => :update
6
-
7
- protected
8
- def banner
9
- "Usage: #{$0} [options] scaffold"
10
- end
11
- end
12
- end
@@ -1,83 +0,0 @@
1
- require File.dirname(__FILE__) + '/options'
2
-
3
- module Rails
4
- module Generator
5
- module Scripts
6
-
7
- # Generator scripts handle command-line invocation. Each script
8
- # responds to an invoke! class method which handles option parsing
9
- # and generator invocation.
10
- class Base
11
- include Options
12
- default_options :collision => :ask, :quiet => false
13
-
14
- # Run the generator script. Takes an array of unparsed arguments
15
- # and a hash of parsed arguments, takes the generator as an option
16
- # or first remaining argument, and invokes the requested command.
17
- def run(args = [], runtime_options = {})
18
- begin
19
- parse!(args.dup, runtime_options)
20
- rescue OptionParser::InvalidOption => e
21
- # Don't cry, script. Generators want what you think is invalid.
22
- end
23
-
24
- # Generator name is the only required option.
25
- unless options[:generator]
26
- usage if args.empty?
27
- options[:generator] ||= args.shift
28
- end
29
-
30
- # Look up generator instance and invoke command on it.
31
- Rails::Generator::Base.instance(options[:generator], args, options).command(options[:command]).invoke!
32
- rescue => e
33
- puts e
34
- puts " #{e.backtrace.join("\n ")}\n" if options[:backtrace]
35
- raise SystemExit
36
- end
37
-
38
- protected
39
- # Override with your own script usage banner.
40
- def banner
41
- "Usage: #{$0} [options] generator [args]"
42
- end
43
-
44
- def usage_message
45
- usage = "\nInstalled Generators\n"
46
- Rails::Generator::Base.sources.each do |source|
47
- label = source.label.to_s.capitalize
48
- names = source.names
49
- usage << " #{label}: #{names.join(', ')}\n" unless names.empty?
50
- end
51
-
52
- usage << <<end_blurb
53
-
54
- More are available at http://rubyonrails.org/show/Generators
55
- 1. Download, for example, login_generator.zip
56
- 2. Unzip to directory #{Dir.user_home}/.rails/generators/login
57
- to use the generator with all your Rails apps
58
- end_blurb
59
-
60
- if Object.const_defined?(:RAILS_ROOT)
61
- usage << <<end_blurb
62
- or to #{File.expand_path(RAILS_ROOT)}/generators/login
63
- to use with this app only.
64
- end_blurb
65
- end
66
-
67
- usage << <<end_blurb
68
- 3. Run generate with no arguments for usage information
69
- #{$0} login
70
-
71
- Generator gems are also available:
72
- 1. gem search -r generator
73
- 2. gem install login_generator
74
- 3. #{$0} login
75
-
76
- end_blurb
77
- return usage
78
- end
79
- end # Base
80
-
81
- end
82
- end
83
- end
@@ -1,46 +0,0 @@
1
- module Rails
2
- module Generator
3
- class SimpleLogger # :nodoc:
4
- attr_reader :out
5
- attr_accessor :quiet
6
-
7
- def initialize(out = $stdout)
8
- @out = out
9
- @quiet = false
10
- @level = 0
11
- end
12
-
13
- def log(status, message, &block)
14
- @out.print("%12s %s%s\n" % [status, ' ' * @level, message]) unless quiet
15
- indent(&block) if block_given?
16
- end
17
-
18
- def indent(&block)
19
- @level += 1
20
- if block_given?
21
- begin
22
- block.call
23
- ensure
24
- outdent
25
- end
26
- end
27
- end
28
-
29
- def outdent
30
- @level -= 1
31
- if block_given?
32
- begin
33
- block.call
34
- ensure
35
- indent
36
- end
37
- end
38
- end
39
-
40
- private
41
- def method_missing(method, *args, &block)
42
- log(method.to_s, args.first, &block)
43
- end
44
- end
45
- end
46
- end
@@ -1,44 +0,0 @@
1
- module Rails
2
- module Generator
3
- # A spec knows where a generator was found and how to instantiate it.
4
- # Metadata include the generator's name, its base path, and the source
5
- # which yielded it (PathSource, GemSource, etc.)
6
- class Spec
7
- attr_reader :name, :path, :source
8
-
9
- def initialize(name, path, source)
10
- @name, @path, @source = name, path, source
11
- end
12
-
13
- # Look up the generator class. Require its class file, find the class
14
- # in ObjectSpace, tag it with this spec, and return.
15
- def klass
16
- unless @klass
17
- require class_file
18
- @klass = lookup_class
19
- @klass.spec = self
20
- end
21
- @klass
22
- end
23
-
24
- def class_file
25
- "#{path}/#{name}_generator.rb"
26
- end
27
-
28
- def class_name
29
- "#{name.camelize}Generator"
30
- end
31
-
32
- private
33
- # Search for the first Class descending from Rails::Generator::Base
34
- # whose name matches the requested class name.
35
- def lookup_class
36
- ObjectSpace.each_object(Class) do |obj|
37
- return obj if obj.ancestors.include?(Rails::Generator::Base) and
38
- obj.name.split('::').last == class_name
39
- end
40
- raise NameError, "Missing #{class_name} class in #{class_file}"
41
- end
42
- end
43
- end
44
- end
@@ -1,43 +0,0 @@
1
- #--
2
- # Copyright (c) 2004 Jeremy Kemper
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
23
-
24
- $:.unshift(File.dirname(__FILE__))
25
- $:.unshift(File.dirname(__FILE__) + "/../../activesupport/lib")
26
-
27
- begin
28
- require 'active_support'
29
- rescue LoadError
30
- require 'rubygems'
31
- require_gem 'activesupport'
32
- end
33
-
34
- require 'rails_generator/base'
35
- require 'rails_generator/lookup'
36
- require 'rails_generator/commands'
37
-
38
- Rails::Generator::Base.send(:include, Rails::Generator::Lookup)
39
- Rails::Generator::Base.send(:include, Rails::Generator::Commands)
40
-
41
- # Set up a default logger for convenience.
42
- require 'rails_generator/simple_logger'
43
- Rails::Generator::Base.logger = Rails::Generator::SimpleLogger.new(STDOUT)
data/lib/rails_info.rb DELETED
@@ -1,104 +0,0 @@
1
- require 'rails_version'
2
-
3
- module Rails
4
- module Info
5
- mattr_accessor :properties
6
- class << (@@properties = [])
7
- def names
8
- map {|(name, )| name}
9
- end
10
-
11
- def value_for(property_name)
12
- find {|(name, )| name == property_name}.last rescue nil
13
- end
14
- end
15
-
16
- class << self #:nodoc:
17
- def property(name, value = nil)
18
- value ||= yield
19
- properties << [name, value] if value
20
- rescue Exception
21
- end
22
-
23
- def components
24
- %w( active_record action_pack action_web_service action_mailer active_support )
25
- end
26
-
27
- def component_version(component)
28
- require "#{component}/version"
29
- "#{component.classify}::VERSION::STRING".constantize
30
- end
31
-
32
- def edge_rails_revision(info = svn_info)
33
- info[/^Revision: (\d+)/, 1]
34
- end
35
-
36
- def to_s
37
- column_width = properties.names.map {|name| name.length}.max
38
- ["About your application's environment", *properties.map do |property|
39
- "%-#{column_width}s %s" % property
40
- end] * "\n"
41
- end
42
-
43
- alias inspect to_s
44
-
45
- def to_html
46
- returning table = '<table>' do
47
- properties.each do |(name, value)|
48
- table << %(<tr><td class="name">#{CGI.escapeHTML(name)}</td>)
49
- table << %(<td class="value">#{CGI.escapeHTML(value)}</td></tr>)
50
- end
51
- table << '</table>'
52
- end
53
- end
54
-
55
- protected
56
- def svn_info
57
- Dir.chdir("#{RAILS_ROOT}/vendor/rails") do
58
- silence_stderr { `svn info` }
59
- end
60
- end
61
- end
62
-
63
- # The Ruby version and platform, e.g. "1.8.2 (powerpc-darwin8.2.0)".
64
- property 'Ruby version', "#{RUBY_VERSION} (#{RUBY_PLATFORM})"
65
-
66
- # The RubyGems version, if it's installed.
67
- property 'RubyGems version' do
68
- Gem::RubyGemsVersion
69
- end
70
-
71
- # The Rails version.
72
- property 'Rails version' do
73
- Rails::VERSION::STRING
74
- end
75
-
76
- # Versions of each Rails component (Active Record, Action Pack,
77
- # Action Web Service, Action Mailer, and Active Support).
78
- components.each do |component|
79
- property "#{component.titlecase} version" do
80
- component_version(component)
81
- end
82
- end
83
-
84
- # The Rails SVN revision, if it's checked out into vendor/rails.
85
- property 'Edge Rails revision' do
86
- edge_rails_revision
87
- end
88
-
89
- # The application's location on the filesystem.
90
- property 'Application root' do
91
- File.expand_path(RAILS_ROOT)
92
- end
93
-
94
- # The current Rails environment (development, test, or production).
95
- property 'Environment' do
96
- RAILS_ENV
97
- end
98
-
99
- # The name of the database adapter for the current environment.
100
- property 'Database adapter' do
101
- ActiveRecord::Base.configurations[RAILS_ENV]['adapter']
102
- end
103
- end
104
- end
data/lib/rails_version.rb DELETED
@@ -1,9 +0,0 @@
1
- module Rails
2
- module VERSION #:nodoc:
3
- MAJOR = 1
4
- MINOR = 0
5
- TINY = 0
6
-
7
- STRING = [MAJOR, MINOR, TINY].join('.')
8
- end
9
- end
data/lib/railties_path.rb DELETED
@@ -1 +0,0 @@
1
- RAILTIES_PATH = File.expand_path(File.join(File.dirname(__FILE__), '..'))
data/lib/rubyprof_ext.rb DELETED
@@ -1,35 +0,0 @@
1
- require 'prof'
2
-
3
- module Prof #:nodoc:
4
- # Adapted from Shugo Maeda's unprof.rb
5
- def self.print_profile(results, io = $stderr)
6
- total = results.detect { |i|
7
- i.method_class.nil? && i.method_id == :"#toplevel"
8
- }.total_time
9
- total = 0.001 if total < 0.001
10
-
11
- io.puts " %% cumulative self self total"
12
- io.puts " time seconds seconds calls ms/call ms/call name"
13
-
14
- sum = 0.0
15
- for r in results
16
- sum += r.self_time
17
-
18
- name = if r.method_class.nil?
19
- r.method_id.to_s
20
- elsif r.method_class.is_a?(Class)
21
- "#{r.method_class}##{r.method_id}"
22
- else
23
- "#{r.method_class}.#{r.method_id}"
24
- end
25
- io.printf "%6.2f %8.3f %8.3f %8d %8.2f %8.2f %s\n",
26
- r.self_time / total * 100,
27
- sum,
28
- r.self_time,
29
- r.count,
30
- r.self_time * 1000 / r.count,
31
- r.total_time * 1000 / r.count,
32
- name
33
- end
34
- end
35
- end