Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
require 'uuidtools' class Media < Application before :login_required before :localize_methods, :only => [:new] before :cleanse_empty_data_references, :only => [:create] # This default action (see router.rb) is just fodder to feed our redirect. # no one should be doing anything here except uploading. def index MERB_LOGGER.info('--BAD-URI') redirect 'http://api.jamlab.com/' end # GET /media/new def new @upid = UUID.random_create.to_s render end # POST /media # POST /media.xml def create @media = [params[:medium].delete(:data)].flatten @media.map! do |medium| Medium.new(medium.update(params[:medium])).to_hash end relay = MediaRelay.new(@media, :cookies => {_session_id_key => cookies[_session_id_key]}) @media = relay.response respond_to do |format| if relay.success? format.html { redirect(base_url(params[:medium][:project_id])) } format.js { redirect(finish_url(params[:medium][:project_id])) } format.xml { success_headers(@media, :xml); @media.to_xml } format.yaml { success_headers(@media, :yaml); @media.to_yaml } format.plist{ success_headers(@media, :plist);@media.to_plist } else session['flash'][:warning] = "#{relay.status} #{relay.reason}" if session["flash"] format.html { redirect request.env['HTTP_REFERER'] || Merb::Server.config[:jamlab_uri] } format.xml { @media.to_xml } format.yaml { @media.to_yaml } format.plist{ @media.to_plist } end end end def progress # Mongrel::Uploads.debug = true @upstatus = Mongrel::Uploads.check(params[:upload_id]) finishing = Mongrel::Uploads.instance_variable_get(:@counters) return if @upstatus.nil? && finishing && !finishing.empty? respond_to do |format| format.yaml { @upstatus.to_yaml } format.js { render_js 'progress' } end end protected def cleanse_empty_data_references params[:medium][:data].delete("") end def base_url(project_id) "http://#{Merb::Server.config[:jamlab_uri]}/projects/#{project_id}/versions" end def finish_url(project_id) "http://#{Merb::Server.config[:jamlab_uri]}/projects/#{project_id}/media/finish" end def success_headers(media,format) headers['Location'] = media.to_a.map{ |medium| location(medium,format) }.join(', ') @status = 201 end def location(medium,format=nil) "#{base_url(params[:medium][:project_id])}/#{medium.id}#{format ? ".#{format}" : ''}" end end
This paste will be private.
From the Design Piracy series on my blog: