Skip to content

Instantly share code, notes, and snippets.

@tomtaylor
Created April 23, 2009 08:03
Show Gist options
  • Save tomtaylor/100386 to your computer and use it in GitHub Desktop.
Save tomtaylor/100386 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'sinatra'
require 'dm-core'
require 'dm-validations'
require 'dm-timestamps'
DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/messages.sqlite3")
class Message
include DataMapper::Resource
property :id, Integer, :serial => true
property :body, Text, :nullable => false, :lazy => false
property :created_at, DateTime
end
DataMapper.auto_upgrade!
get '/' do
redirect '/messages'
end
get '/messages' do
haml :index
end
post '/messages' do
@message = Message.new(:body => params[:message])
if @message.save
haml :thanks
else
haml :error
end
end
get '/messages/next' do
if params[:secret] == INSERTYOUROWNSECRET
@message = Message.first
if @message
@message.destroy
erb :message
else
nil
end
else
throw :halt, [401, 'Not found']
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment