aboutsummaryrefslogtreecommitdiffstats
path: root/railties/bin/gen
diff options
context:
space:
mode:
Diffstat (limited to 'railties/bin/gen')
-rwxr-xr-xrailties/bin/gen31
1 files changed, 31 insertions, 0 deletions
diff --git a/railties/bin/gen b/railties/bin/gen
new file mode 100755
index 0000000000..ad3a793610
--- /dev/null
+++ b/railties/bin/gen
@@ -0,0 +1,31 @@
+require File.dirname(__FILE__) + '/../lib/ruby_version_check'
+Signal.trap("INT") { puts; exit }
+
+require File.dirname(__FILE__) + '/../lib/rails/version'
+if %w(--version -v).include? ARGV.first
+ puts "Rails #{Rails::VERSION::STRING}"
+ exit(0)
+end
+
+if ARGV.size == 0
+ puts "Please select a generator. Options: foo, bar"
+ return
+else ARGV.size == 1
+ ARGV << "--help"
+end
+
+require File.dirname(__FILE__) + '/../lib/generators'
+
+Rails::Generators.builtin.each do |group, name|
+ require "generators/#{group}/#{name}/#{name}_generator"
+end
+
+name = ARGV.shift
+
+if klass = Thor::Util.find_by_namespace("rails:#{name}")
+ klass.start
+elsif klass = Thor::Util.find_by_namespace(name)
+ klass.start
+else
+ puts "Could not find generator #{name}."
+end