Skip to content

Instantly share code, notes, and snippets.

@anotherjesse
Created February 8, 2010 23:11
Show Gist options
  • Select an option

  • Save anotherjesse/298707 to your computer and use it in GitHub Desktop.

Select an option

Save anotherjesse/298707 to your computer and use it in GitHub Desktop.
simple riak powered wiki
require 'rubygems'
require 'sinatra'
require 'rest_client'
require 'json'
RIAK_SERVER = "192.168.2.2"
get '/:bucket' do
keys = JSON.parse(RestClient.get "http://#{RIAK_SERVER}:8098/raw/#{params[:bucket]}")['keys']
"<ul>" + keys.collect { |k| "<li><a href='/#{params[:bucket]}/#{k}'>#{k}</a>" }.join('')
end
get '/:bucket/:key' do
body = (RestClient.get "http://#{RIAK_SERVER}:8098/raw/#{params[:bucket]}/#{params[:key]}" rescue '').gsub('<', '&lt;')
"<form method='post'><textarea name='body' cols='80' rows='20'>#{body}</textarea><br><input type='submit' value='update'></form>"
end
post '/:bucket/:key' do
RestClient.put "http://#{RIAK_SERVER}:8098/raw/#{params[:bucket]}/#{params[:key]}", params[:body], "content-type" => "text/plain"
redirect request.path_info
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment