Skip to content

Instantly share code, notes, and snippets.

View stevenkolstad's full-sized avatar

stevenkolstad

  • 23:22 (UTC -05:00)
View GitHub Profile
@stevenkolstad
stevenkolstad / avatar_uploader.rb
Created May 6, 2012 12:56 — forked from kirs/avatar_uploader.rb
Validation of image dimensions with CarrierWave
# encoding: utf-8
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
# Choose what kind of storage to use for this uploader:
storage :file
# Override the directory where uploaded files will be stored.
@stevenkolstad
stevenkolstad / README.md
Created May 6, 2012 13:34 — forked from chrisbloom7/01-validates-file-size-carrierwave.md
A cheap knock off of the default validates_length_of validator, but checks the filesize of a Carrierwave attachment

Note that this validation runs both after the file is uploaded and after CarrierWave has processed the image. If your base uploader includes a filter to resize the image then the validation will be run against the resized image, not the original one that was uploaded. If this causes a problem for you, then you should avoid using a resizing filter on the base uploader and put any specific size requirements in a version instead.

So instead of this:

require 'carrierwave/processing/mini_magick'

@stevenkolstad
stevenkolstad / gist:2907545
Created June 10, 2012 22:30 — forked from walterdavis/gist:1301612
Convert MP3 to OGG during upload using Paperclip
module Paperclip
# Converts ogg audio for Firefox
class Ogg < Processor
attr_accessor :whiny
# Creates an Ogg from MP3
def make
src = @file
dst = Tempfile.new([@basename, '.ogg'])
upstream app {
server unix:/srv/app/current/tmp/sockets/unicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name www.app.com;
rewrite ^/(.*) http://app.com/$1 permanent;
}
server {
# here's a quick recipe to run a performance test
# with this method, you can:
#-> easily choose the examples you want included from your existing specs
#-> define the target number of total iterations you'd like, no limit
#-> tune the transaction mix by specifying frequency metadata for each example
#-> be happy that the transaction mix is fairly homogeneous over the test interval
# (ideally you'd run this with acceptance (webrat/capybara) specs, but you
# could employ this technique for any rspec test)