Sha256: fcb4a770ddbec795ee9f587c9b832d0ae75e5c0c8d15e3cf22e302dba460de7f

Contents?: true

Size: 798 Bytes

Versions: 27

Compression:

Stored size: 798 Bytes

Contents

# The minimal _why wiki in Innate with ERB

%w[rubygems innate erb maruku yaml/store].each{|l| require(l) }

DB = YAML::Store.new('wiki.yaml') unless defined?(DB)

class Wiki
  Innate.node '/'
  layout 'wiki'
  provide :html, :engine => :ERB

  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
    page, text = request[:page, :text]
    sync{ DB[page] = text } if request.post? and page and text

    redirect(r(page))
  end

  private

  def sync
    Innate.sync{ DB.transaction{ yield }}
  end
end

Innate.start

Version data entries

27 entries across 27 versions & 3 rubygems

Version Path
innate-2023.01.06 example/app/whywiki_erb/start.rb
innate-2015.10.28 example/app/whywiki_erb/start.rb
manveru-innate-2009.05 example/app/whywiki_erb/start.rb
manveru-innate-2009.06.12 example/app/whywiki_erb/start.rb
manveru-innate-2009.06 example/app/whywiki_erb/start.rb
manveru-innate-2009.07 example/app/whywiki_erb/start.rb
rjspotter-innate-2009.06.29 example/app/whywiki_erb/start.rb
rjspotter-innate-2009.06.30 example/app/whywiki_erb/start.rb
rjspotter-innate-2009.06.31 example/app/whywiki_erb/start.rb
innate-2013.02.21 example/app/whywiki_erb/start.rb
innate-2013.02 example/app/whywiki_erb/start.rb
innate-2012.12 example/app/whywiki_erb/start.rb
innate-2012.03 example/app/whywiki_erb/start.rb
innate-2011.12 example/app/whywiki_erb/start.rb
innate-2011.10 example/app/whywiki_erb/start.rb
innate-2011.04 example/app/whywiki_erb/start.rb
innate-2011.01 example/app/whywiki_erb/start.rb
innate-2010.07 example/app/whywiki_erb/start.rb
innate-2010.06.18 example/app/whywiki_erb/start.rb
innate-2010.04 example/app/whywiki_erb/start.rb