From 45d41d8012c605f21de51e7018fa31e1d07776eb Mon Sep 17 00:00:00 2001 From: Yehuda Katz Date: Sun, 19 Jul 2009 23:24:19 +0900 Subject: Add some simple examples for unconventional AMo and AP use --- actionpack/examples/very_simple.rb | 50 ++++++++++++++++++++++++ actionpack/examples/views/layouts/alt.html.erb | 1 + actionpack/examples/views/layouts/kaigi.html.erb | 1 + actionpack/examples/views/template.html.erb | 1 + 4 files changed, 53 insertions(+) create mode 100644 actionpack/examples/very_simple.rb create mode 100644 actionpack/examples/views/layouts/alt.html.erb create mode 100644 actionpack/examples/views/layouts/kaigi.html.erb create mode 100644 actionpack/examples/views/template.html.erb (limited to 'actionpack') diff --git a/actionpack/examples/very_simple.rb b/actionpack/examples/very_simple.rb new file mode 100644 index 0000000000..8d01cb39bd --- /dev/null +++ b/actionpack/examples/very_simple.rb @@ -0,0 +1,50 @@ +$:.push "rails/activesupport/lib" +$:.push "rails/actionpack/lib" + +require "action_controller" + +class Kaigi < ActionController::Http + include AbstractController::Callbacks + include ActionController::RackConvenience + include ActionController::Renderer + include ActionController::Layouts + include ActionView::Context + + before_filter :set_name + append_view_path "views" + + def _action_view + self + end + + def controller + self + end + + DEFAULT_LAYOUT = Object.new.tap {|l| def l.render(*) yield end } + + def _render_template_from_controller(template, layout = DEFAULT_LAYOUT, options = {}, partial = false) + ret = template.render(self, {}) + layout.render(self, {}) { ret } + end + + def index + render :template => "template" + end + + def alt + render :template => "template", :layout => "alt" + end + + private + def set_name + @name = params[:name] + end +end + +app = Rack::Builder.new do + map("/kaigi") { run Kaigi.action(:index) } + map("/kaigi/alt") { run Kaigi.action(:alt) } +end.to_app + +Rack::Handler::Mongrel.run app, :Port => 3000 \ No newline at end of file diff --git a/actionpack/examples/views/layouts/alt.html.erb b/actionpack/examples/views/layouts/alt.html.erb new file mode 100644 index 0000000000..c4816337a6 --- /dev/null +++ b/actionpack/examples/views/layouts/alt.html.erb @@ -0,0 +1 @@ ++ <%= yield %> + \ No newline at end of file diff --git a/actionpack/examples/views/layouts/kaigi.html.erb b/actionpack/examples/views/layouts/kaigi.html.erb new file mode 100644 index 0000000000..274607a96a --- /dev/null +++ b/actionpack/examples/views/layouts/kaigi.html.erb @@ -0,0 +1 @@ +Hello <%= yield %> Goodbye \ No newline at end of file diff --git a/actionpack/examples/views/template.html.erb b/actionpack/examples/views/template.html.erb new file mode 100644 index 0000000000..3108e9ad70 --- /dev/null +++ b/actionpack/examples/views/template.html.erb @@ -0,0 +1 @@ +Hello <%= @name %> \ No newline at end of file -- cgit v1.2.3