Commits on Oct 15, 2010
Commits on Oct 12, 2010
  1. @nicksieger

    Don't monkeypatch IO, Tempfile, StringIO.

    For compatibility with Rails > 3.0.0.
    (cherry picked from commit 2e6d337)
    nicksieger committed with Oct 12, 2010
  2. Removed extraneous #p

    committed Oct 12, 2010
Commits on Oct 8, 2010
Commits on Oct 7, 2010
  1. Bumped version

    committed Oct 7, 2010
Commits on Oct 6, 2010
  1. @keithpitt

    CommandLine uses Paperclip.options[:swallow_stderr] as a default if n…

    …o :swallow_stderr option is specified.
    (cherry picked from commit 753b8b9fc2cb24c9006fe2e6f48d4fe57519eb7a)
    keithpitt committed with Oct 6, 2010
Commits on Oct 1, 2010
  1. Create a bucket if one doesn't exist.

    This method prevents excessive calls to the S3 API, creating a bucket
    only if the store method fails with a NoSuchBucket error instead of
    asking for the bucket before each request.
    committed Oct 1, 2010
Commits on Aug 19, 2010
Commits on Aug 18, 2010
Commits on Aug 17, 2010
  1. fixes issue where attachment styles are losing format options when ra…

    …ils class caching is turned on
    Fiona Foo & Nate Clark committed with Aug 13, 2010
Commits on Aug 16, 2010
  1. @mbailey

    Added fingerprinting support

    Leverage browser caching and proxy caching by setting far future Expires
    headers and changing filenames when file contents change. This can make
    your web app faster for users and also reduce your bandwidth costs.
    By adding the column :avatar_fingerprint to our db table and including
    :fingerprint in the attachment filename, we ensure the filename will
    change whenever the file contents do.
      has_attached_file :avatar,
        :styles => { :medium => "300x300>", :thumb => "100x100>" },
        :path => "users/:id/:attachment/:fingerprint-:style.:extension",
        :storage => :s3,
        :s3_headers => {'Expires' => 1.year.from_now.httpdate},
        :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
        :include_updated_timestamp => false
    This enables us to set far future expire headers so that browsers
    don't need to check for a newer version. If a change does occur,
    say because a user uploads a new avatar, the new filename will
    be rendered in your html and the cached version will be ignored.
    The example above will set Expires headers in S3. If you're using
    local storage you can configure your webserver to do something similar.
    We disable the timestamped query string because some proxies refuse
    to cache items with query strings.
    For more info on optimizing for caching:
    mbailey committed with Jun 10, 2010
Commits on Aug 10, 2010
Commits on Aug 6, 2010
Commits on Aug 1, 2010
Commits on Jul 29, 2010
  1. Formatting of the features

    committed Jul 28, 2010
Commits on Jul 28, 2010
Commits on Jul 23, 2010
Commits on Jul 21, 2010
Commits on Jul 11, 2010
Commits on Jul 1, 2010
  1. @jakepaul
Commits on Jun 29, 2010
  1. @croaky