From 2710d631aa4ecff45bf39374c5dd30de41d5cc23 Mon Sep 17 00:00:00 2001 From: Evan Weaver Date: Sat, 22 Nov 2008 12:47:59 -0800 Subject: Removed examples and debug.rb. --- examples/camping/tepee.rb | 149 ---------------------------------------------- 1 file changed, 149 deletions(-) delete mode 100644 examples/camping/tepee.rb (limited to 'examples/camping/tepee.rb') diff --git a/examples/camping/tepee.rb b/examples/camping/tepee.rb deleted file mode 100644 index 199be37..0000000 --- a/examples/camping/tepee.rb +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/ruby -$:.unshift File.dirname(__FILE__) + "/../../lib" -%w(rubygems redcloth camping acts_as_versioned).each { |lib| require lib } - -Camping.goes :Tepee - -module Tepee::Models - def self.schema(&block) - @@schema = block if block_given? - @@schema - end - - class Page < Base - PAGE_LINK = /\[\[([^\]|]*)[|]?([^\]]*)\]\]/ - validates_uniqueness_of :title - before_save { |r| r.title = r.title.underscore } - acts_as_versioned - end -end - -Tepee::Models.schema do - create_table :tepee_pages, :force => true do |t| - t.column :title, :string, :limit => 255 - t.column :body, :text - end - Tepee::Models::Page.create_versioned_table -end - -module Tepee::Controllers - class Index < R '/' - def get - redirect Show, 'home_page' - end - end - - class List < R '/list' - def get - @pages = Page.find :all, :order => 'title' - render :list - end - end - - class Show < R '/s/(\w+)', '/s/(\w+)/(\d+)' - def get page_name, version = nil - redirect(Edit, page_name, 1) and return unless @page = Page.find_by_title(page_name) - @version = (version.nil? or version == @page.version.to_s) ? @page : @page.versions.find_by_version(version) - render :show - end - end - - class Edit < R '/e/(\w+)/(\d+)', '/e/(\w+)' - def get page_name, version = nil - @page = Page.find_or_create_by_title(page_name) - @page = @page.versions.find_by_version(version) unless version.nil? or version == @page.version.to_s - render :edit - end - - def post page_name - Page.find_or_create_by_title(page_name).update_attributes :body => input.post_body and redirect Show, page_name - end - end -end - -module Tepee::Views - def layout - html do - head do - title 'test' - end - body do - p do - small do - span "welcome to " ; a 'tepee', :href => "http://code.whytheluckystiff.net/svn/camping/trunk/examples/tepee/" - span '. go ' ; a 'home', :href => R(Show, 'home_page') - span '. list all ' ; a 'pages', :href => R(List) - end - end - div.content do - self << yield - end - end - end - end - - def show - h1 @page.title - div { _markup @version.body } - p do - a 'edit', :href => R(Edit, @version.title, @version.version) - a 'back', :href => R(Show, @version.title, @version.version-1) unless @version.version == 1 - a 'next', :href => R(Show, @version.title, @version.version+1) unless @version.version == @page.version - a 'current', :href => R(Show, @version.title) unless @version.version == @page.version - end - end - - def edit - form :method => 'post', :action => R(Edit, @page.title) do - p do - label 'Body' ; br - textarea @page.body, :name => 'post_body', :rows => 50, :cols => 100 - end - - p do - input :type => 'submit' - a 'cancel', :href => R(Show, @page.title, @page.version) - end - end - end - - def list - h1 'all pages' - ul { @pages.each { |p| li { a p.title, :href => R(Show, p.title) } } } - end - - def _markup body - return '' if body.blank? - body.gsub!(Tepee::Models::Page::PAGE_LINK) do - page = title = $1 - title = $2 unless $2.empty? - page = page.gsub /\W/, '_' - if Tepee::Models::Page.find(:all, :select => 'title').collect { |p| p.title }.include?(page) - %Q{#{title}} - else - %Q{#{title}?} - end - end - RedCloth.new(body, [ :hard_breaks ]).to_html - end -end - -def Tepee.create - unless Tepee::Models::Page.table_exists? - ActiveRecord::Schema.define(&Tepee::Models.schema) - Tepee::Models::Page.reset_column_information - end -end - -if __FILE__ == $0 - require 'mongrel/camping' - - Tepee::Models::Base.establish_connection :adapter => 'sqlite3', :database => 'tepee.db' - Tepee::Models::Base.logger = Logger.new('camping.log') - Tepee::Models::Base.threaded_connections=false - Tepee.create - - server = Mongrel::Camping::start("0.0.0.0",3000,"/tepee",Tepee) - puts "** Tepee example is running at http://localhost:3000/tepee" - server.acceptor.join -end -- cgit v1.2.3-24-ge0c7