diff options
Diffstat (limited to 'railties/lib/generators/rails/metal')
-rw-r--r-- | railties/lib/generators/rails/metal/USAGE | 8 | ||||
-rw-r--r-- | railties/lib/generators/rails/metal/metal_generator.rb | 11 | ||||
-rw-r--r-- | railties/lib/generators/rails/metal/templates/metal.rb | 12 |
3 files changed, 31 insertions, 0 deletions
diff --git a/railties/lib/generators/rails/metal/USAGE b/railties/lib/generators/rails/metal/USAGE new file mode 100644 index 0000000000..123ec6c03f --- /dev/null +++ b/railties/lib/generators/rails/metal/USAGE @@ -0,0 +1,8 @@ +Description: + Cast some metal! + +Examples: + `./script/generate metal poller` + + This will create: + Metal: app/metal/poller.rb diff --git a/railties/lib/generators/rails/metal/metal_generator.rb b/railties/lib/generators/rails/metal/metal_generator.rb new file mode 100644 index 0000000000..fe4f945cad --- /dev/null +++ b/railties/lib/generators/rails/metal/metal_generator.rb @@ -0,0 +1,11 @@ +module Rails + module Generators + class MetalGenerator < NamedBase + check_class_collision + + def create_metal_file + template "metal.rb", "app/metal/#{file_name}.rb" + end + end + end +end diff --git a/railties/lib/generators/rails/metal/templates/metal.rb b/railties/lib/generators/rails/metal/templates/metal.rb new file mode 100644 index 0000000000..e94982b69a --- /dev/null +++ b/railties/lib/generators/rails/metal/templates/metal.rb @@ -0,0 +1,12 @@ +# Allow the metal piece to run in isolation +require(File.dirname(__FILE__) + "/../../config/environment") unless defined?(Rails) + +class <%= class_name %> + def self.call(env) + if env["PATH_INFO"] =~ /^\/<%= file_name %>/ + [200, {"Content-Type" => "text/html"}, ["Hello, World!"]] + else + [404, {"Content-Type" => "text/html"}, ["Not Found"]] + end + end +end |