/usr/share/doc/ruby-ramaze/examples/app/wikore/src/controller.rb is in ruby-ramaze 2012.12.08-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | class Ramaze::Controller
Page = Model::Page
OldPage = Model::OldPage
end
class MainController < Ramaze::Controller
def index(title = 'Main', version = nil)
query = {:title => title}
query[:version] = version.to_i if version
model = version ? OldPage : Page
if page = model[query]
@text, @version = page.text, page.version
else
@text = "No Page known as '#{title}'"
@version = false
end
end
end
class Pages < Ramaze::Controller
map '/page'
def create
redirect_referer unless request.post?
change "Created Page '%s'" do |title, text|
Page.create(:title => title, :text => text, :version => 1)
redirect MainController.r(:/, title)
end
end
def save
redirect_referer unless request.post?
change "Updated Page '%s'" do |title, text|
page = Page[:title => title]
page.backup
page.text = text
page.version += 1
page.save
redirect MainController.r(:/, title)
end
end
def delete(title)
page = Page[:title => title]
page.backup
page.delete
end
def rename(title, to)
change("Renamed #{title} to '%s'", to) do |title, text|
page = Page[:title => title]
page.backup
page.title = to
page.version += 1
page.save
end
end
def revert(title)
page = Page[:title => title]
page.revert
redirect MainController.r(:/, title)
end
private
def change(message, redirect_to = '/')
if title = request['title'] and text = request['text']
yield(title, text)
message % title
end
redirect MainController.r(redirect_to)
end
end
|