Sha256: c12950b11c04652cbd372695e9c64428366fcdc132a17e3ee75c1866f7749c43
Contents?: true
Size: 849 Bytes
Versions: 2
Compression:
Stored size: 849 Bytes
Contents
# The minimal _why wiki in Innate %w[rubygems innate erb maruku yaml/store].each{|l| require(l) } DB = YAML::Store.new('wiki.yaml') unless defined?(DB) class Wiki include Innate::Node map '/' provide :html => :erb layout 'wiki' def index(page = 'Home') @page = page @text = 'foo' sync{ @text = DB[page].to_s.dup @text.gsub!(/\[\[(.*?)\]\]/) do %(<a href="#{r($1)}" class="#{DB[$1] ? 'exists' : 'missing'}">#{h($1)}</a>) end } end def edit(page) @page = page @text = sync{ DB[page].to_s } end def save redirect_referrer unless request.post? page, text = request[:page, :text] sync{ DB[page] = text } if page and text redirect(r(page)) end private def sync Innate::STATE.sync{ DB.transaction{ yield }} end end Innate.start :adapter => :mongrel
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
manveru-innate-2009.02.06 | example/app/whywiki_erb/start.rb |
manveru-innate-2009.02.21 | example/app/whywiki_erb/start.rb |