Sha256: 899dac6aa4beeb05f733094c23feb1560de6608db4aa9e2f9386b1e57d4a4dff
Contents?: true
Size: 889 Bytes
Versions: 2
Compression:
Stored size: 889 Bytes
Contents
require 'sinatra/base' require 'base64' require 'uri' module Monocle class Server < Sinatra::Base post '/:type/:id.:format' do view_object(params[:type], params[:id]) end get '/:type/:id.gif' do view_object(params[:type], params[:id]) content_type('image/gif') Base64.decode64('R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==') end get '/:type/click/:redirect_to/:id' do click_object(params[:type], params[:id], params[:redirect_to]) end def view_object(type, id) if object = type.classify.constantize.find(id) object.view! 'o_0 +1' else 'o_0' end end def click_object(type, id, redirect_to) if object = type.classify.constantize.find(id) object.click! redirect(Base64.decode64(URI.unescape(redirect_to)), 301) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
monocle-0.2.6 | lib/monocle/server.rb |
monocle-0.2.5 | lib/monocle/server.rb |