mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
1f94ac2c45
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@264 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
69 lines
No EOL
1.9 KiB
Ruby
Executable file
69 lines
No EOL
1.9 KiB
Ruby
Executable file
#!/usr/local/bin/ruby
|
|
require File.dirname(__FILE__) + '/../config/environment'
|
|
require 'rails_generator'
|
|
|
|
ARGV.shift unless ARGV.empty? or not ['--help', '-h'].include?(ARGV[0])
|
|
|
|
def find_synonyms(word)
|
|
require 'open-uri'
|
|
uri = "http://wordnet.princeton.edu/cgi-bin/webwn2.0?stage=2" +
|
|
"&word=%s&posnumber=1&searchtypenumber=2&senses=&showglosses=1"
|
|
|
|
open(uri % word) do |stream|
|
|
data = stream.read.gsub(" ", " ").gsub("<BR>", "")
|
|
data.scan(/^Sense \d+\n.+?\n\n/m)
|
|
end
|
|
rescue 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 WordNets. 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 |