fix the wiki example.
* sort pages by name
* remove Document#first methods
don't mess with my wiki or I will send bender to kick your ass
| |   |
| 1 | 1 | ------------------------------------------------------------------------------ |
| 2 | 2 | WARNING |
| 3 | 3 | |
| 4 | | Storages have changed, make sure you start with a fresh database. |
| 4 | If you have problems running this example, make sure you start with a fresh |
| 5 | database first. |
| 5 | 6 | Delete .wiki.strokedb folder in current directory |
| 6 | 7 | ------------------------------------------------------------------------------ |
| 7 | 8 | |
| toggle raw diff |
--- a/examples/strokewiki/README
+++ b/examples/strokewiki/README
@@ -1,7 +1,8 @@
------------------------------------------------------------------------------
WARNING
-Storages have changed, make sure you start with a fresh database.
+If you have problems running this example, make sure you start with a fresh
+database first.
Delete .wiki.strokedb folder in current directory
------------------------------------------------------------------------------
|
| |   |
| 25 | 25 | end |
| 26 | 26 | |
| 27 | 27 | before_save do |doc| |
| 28 | | doc[:updated_at] = Time.now |
| 28 | doc[:updated_at] = Time.now.ctime |
| 29 | 29 | end |
| 30 | 30 | |
| 31 | 31 | def title |
| … | … | |
| 42 | 42 | title = $2 unless $2.empty? |
| 43 | 43 | page_url = page.gsub(/ /, '_') |
| 44 | 44 | |
| 45 | | if Page.first(:name => page_url) |
| 45 | if Page.find(:name => page_url).first |
| 46 | 46 | %Q{<a href="/show/#{page_url}">#{title}</a>} |
| 47 | 47 | else |
| 48 | 48 | %Q{<span>#{title}<a href="/new/#{page_url}">?</a></span>} |
| … | … | |
| 59 | 59 | end |
| 60 | 60 | |
| 61 | 61 | def pages |
| 62 | | @pages = Page.all |
| 62 | @pages = Page.find.sort { |a,b| a.name.downcase <=> b.name.downcase } |
| 63 | 63 | end |
| 64 | 64 | |
| 65 | 65 | def show name,version=nil |
| 66 | | @page = Page.first(:name => name) |
| 66 | @page = Page.find(:name => name).first |
| 67 | 67 | @page = @page.versions[version] if version |
| 68 | 68 | redirect("/new/#{name}") unless @page |
| 69 | 69 | end |
| 70 | 70 | |
| 71 | 71 | def versions name |
| 72 | | @page = Page.first(:name => name) |
| 72 | @page = Page.find(:name => name).first |
| 73 | @versions = @page.versions.all |
| 73 | 74 | redirect("/new/#{name}") unless @page |
| 74 | 75 | end |
| 75 | 76 | |
| … | … | |
| 85 | 85 | end |
| 86 | 86 | |
| 87 | 87 | def edit name |
| 88 | | @page = Page.first(:name => name) |
| 88 | @page = Page.find(:name => name).first |
| 89 | 89 | end |
| 90 | 90 | |
| 91 | 91 | def update name |
| 92 | | @page = Page.first(:name => name) |
| 92 | @page = Page.find(:name => name).first |
| 93 | 93 | @page.body = request['body'] |
| 94 | 94 | @page.save! |
| 95 | 95 | redirect("/show/#{@page.name}") |
| 96 | 96 | end |
| 97 | 97 | |
| 98 | 98 | def delete name |
| 99 | | @page = Page.first(:name => name) |
| 99 | @page = Page.find(:name => name).first |
| 100 | 100 | @page.delete! |
| 101 | 101 | redirect("/") |
| 102 | 102 | end |
| toggle raw diff |
--- a/examples/strokewiki/wiki.rb
+++ b/examples/strokewiki/wiki.rb
@@ -25,7 +25,7 @@ Page = StrokeDB::Meta.new do
end
before_save do |doc|
- doc[:updated_at] = Time.now
+ doc[:updated_at] = Time.now.ctime
end
def title
@@ -42,7 +42,7 @@ Page = StrokeDB::Meta.new do
title = $2 unless $2.empty?
page_url = page.gsub(/ /, '_')
- if Page.first(:name => page_url)
+ if Page.find(:name => page_url).first
%Q{<a href="/show/#{page_url}">#{title}</a>}
else
%Q{<span>#{title}<a href="/new/#{page_url}">?</a></span>}
@@ -59,17 +59,18 @@ class MainController < Ramaze::Controller
end
def pages
- @pages = Page.all
+ @pages = Page.find.sort { |a,b| a.name.downcase <=> b.name.downcase }
end
def show name,version=nil
- @page = Page.first(:name => name)
+ @page = Page.find(:name => name).first
@page = @page.versions[version] if version
redirect("/new/#{name}") unless @page
end
def versions name
- @page = Page.first(:name => name)
+ @page = Page.find(:name => name).first
+ @versions = @page.versions.all
redirect("/new/#{name}") unless @page
end
@@ -84,18 +85,18 @@ class MainController < Ramaze::Controller
end
def edit name
- @page = Page.first(:name => name)
+ @page = Page.find(:name => name).first
end
def update name
- @page = Page.first(:name => name)
+ @page = Page.find(:name => name).first
@page.body = request['body']
@page.save!
redirect("/show/#{@page.name}")
end
def delete name
- @page = Page.first(:name => name)
+ @page = Page.find(:name => name).first
@page.delete!
redirect("/")
end |