aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails_generator/generators/components/metal/templates
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2008-12-16 13:11:51 -0600
committerJoshua Peek <josh@joshpeek.com>2008-12-16 13:15:06 -0600
commit8c3a54366435eebc2c8aa63b63e1349ce74a7b38 (patch)
tree547451f6c639994a948f8cba6505022458aedeac /railties/lib/rails_generator/generators/components/metal/templates
parentc4023cbe206415cf3ca1ca92cd9980a4aa4aed00 (diff)
downloadrails-8c3a54366435eebc2c8aa63b63e1349ce74a7b38.tar.gz
rails-8c3a54366435eebc2c8aa63b63e1349ce74a7b38.tar.bz2
rails-8c3a54366435eebc2c8aa63b63e1349ce74a7b38.zip
Introduce Rails Metal
# app/metal/poller.rb class Poller < Rails::Rack::Metal def call(env) if env["PATH_INFO"] =~ /^\/poller/ [200, {"Content-Type" => "application/json"}, Message.recent.to_json] else super end end end * There is a generator to help you get started `script/generate metal poller` * Also, metal bits can be ran standalone with rackup `rackup app/metal/poller.rb`
Diffstat (limited to 'railties/lib/rails_generator/generators/components/metal/templates')
-rw-r--r--railties/lib/rails_generator/generators/components/metal/templates/metal.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/railties/lib/rails_generator/generators/components/metal/templates/metal.rb b/railties/lib/rails_generator/generators/components/metal/templates/metal.rb
new file mode 100644
index 0000000000..39487263df
--- /dev/null
+++ b/railties/lib/rails_generator/generators/components/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 %> < Rails::Rack::Metal
+ def call(env)
+ if env["PATH_INFO"] =~ /^\/<%= file_name %>/
+ [200, {"Content-Type" => "text/html"}, "Hello, World!"]
+ else
+ super
+ end
+ end
+end