aboutsummaryrefslogtreecommitdiffstats
path: root/railties/bin/generate
diff options
context:
space:
mode:
Diffstat (limited to 'railties/bin/generate')
-rwxr-xr-xrailties/bin/generate73
1 files changed, 4 insertions, 69 deletions
diff --git a/railties/bin/generate b/railties/bin/generate
index 42698f8be7..8bce002510 100755
--- a/railties/bin/generate
+++ b/railties/bin/generate
@@ -1,73 +1,8 @@
#!/usr/local/bin/ruby
require File.dirname(__FILE__) + '/../config/environment'
require 'rails_generator'
+require 'rails_generator/simple_logger'
+require 'rails_generator/scripts/generate'
-ARGV.shift unless ARGV.empty? or not ['--help', '-h'].include?(ARGV[0])
-
-def find_synonyms(word)
- require 'open-uri'
- require 'timeout'
-
- uri = "http://wordnet.princeton.edu/cgi-bin/webwn2.0?stage=2" +
- "&word=%s&posnumber=1&searchtypenumber=2&senses=&showglosses=1"
-
- timeout(5) do
- open(uri % word) do |stream|
- data = stream.read.gsub("&nbsp;", " ").gsub("<BR>", "")
- data.scan(/^Sense \d+\n.+?\n\n/m)
- end
- end
-rescue Timeout::Error, Exception
- return nil
-end
-
-unless ARGV.empty?
- begin
- name = ARGV.shift
- generator = Rails::Generator.instance(name, ARGV)
-
- if msg = generator.collision_with_builtin? then
- $stderr.puts msg
-
- if synonyms = find_synonyms(generator.class_name) then
- $stderr.puts(
- "", "Here are a few synonyms from WordNet. Maybe they will help you find an alternative name.",
- "", synonyms
- )
- end
- else
- generator.generate
- end
- rescue Rails::Generator::UsageError => e
- puts e.message
- end
-else
- builtin_generators = Rails::Generator.builtin_generators.join(', ')
- contrib_generators = Rails::Generator.contrib_generators.join(', ')
-
- $stderr.puts <<end_usage
- #{$0} generator [args]
-
- Rails comes with #{builtin_generators} generators.
- #{$0} controller Login login logout
- #{$0} model Account
- #{$0} mailer AccountMailer
- #{$0} scaffold Account action another_action
-
-end_usage
-
- unless contrib_generators.empty?
- $stderr.puts " Installed generators (in #{RAILS_ROOT}/script/generators):"
- $stderr.puts " #{contrib_generators}"
- $stderr.puts
- end
-
- $stderr.puts <<end_usage
- More generators are available at http://rubyonrails.org/show/Generators
- 1. Download, for example, login_generator.tar.gz
- 2. Unzip to directory #{RAILS_ROOT}/script/generators/login
- 3. Generate without args for usage information
- #{$0} login
-end_usage
- exit 0
-end
+Rails::Generator::Base.logger = Rails::Generator::SimpleLogger.new(STDOUT)
+Rails::Generator::Scripts::Generate.new.run(ARGV)