Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Sep 30, 2011
  1. Jon Yurek
Commits on Sep 23, 2011
  1. Aditya Sanghi Prem Sichanugrist

    fixes #588 . Attempt to log warning message when 2 models use same at…

    asanghi authored sikachu committed
    …tachment name with default url interpolation
Commits on Sep 3, 2011
  1. Prem Sichanugrist
Commits on Aug 25, 2011
  1. Marcin Urbański
Commits on Aug 24, 2011
  1. Jon Yurek

    Rakes green

    jyurek authored
Commits on Jun 29, 2011
  1. Alex Godin
Commits on May 23, 2011
  1. Prem Sichanugrist
Commits on Feb 10, 2011
  1. John Mileham
Commits on Nov 22, 2010
  1. Jon Yurek
Commits on Nov 9, 2010
  1. Larry Sprock
Commits on Aug 19, 2010
  1. Jon Yurek
Commits on Aug 16, 2010
  1. Mike Bailey Jon Yurek

    Added fingerprinting support

    mbailey authored jyurek committed
    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:
  2. Jon Yurek
Commits on Aug 1, 2010
  1. Jon Yurek
Commits on Jul 11, 2010
  1. Jon Yurek
  2. Jon Yurek
Commits on Jun 7, 2010
  1. Joshua Clayton

    Clean up whitespace

    joshuaclayton authored
  2. Joshua Clayton

    Fix spelling error

    joshuaclayton authored
Commits on Apr 27, 2010
  1. Jon Yurek

    Added a rake task for testing all versions. Changed gem statements to…

    jyurek authored
    … use ~> instead of hard versions.
Commits on Apr 26, 2010
  1. Jon Yurek
  2. Jon Yurek
  3. Jon Yurek
  4. Dan Croak Jon Yurek
Commits on Mar 17, 2010
  1. Joe Ferris
Commits on Nov 4, 2009
  1. Jon Yurek

    Fixed an error where ImageMagick wasn't identifying images because th…

    jyurek authored
    …e Tempfiles did not have the right extension.
Commits on Aug 10, 2009
  1. Damian Janowski Jon Yurek

    Make the build more friendly.

    djanowski authored jyurek committed
    (cherry picked from commit f58f732)
Commits on Jun 30, 2009
  1. Nick Quaranto
  2. Nick Quaranto
Commits on May 11, 2009
  1. Jon Yurek
  2. Jon Yurek
Commits on May 8, 2009
  1. Jon Yurek

    Verified :url interpolation. Added FakeModel for testing. Fixed defau…

    jyurek authored
    …lt_options merging race test problem.
  2. Jon Yurek
Commits on May 6, 2009
  1. Jon Yurek
Commits on Feb 17, 2009
  1. Jon Yurek
Commits on Feb 8, 2009
  1. Jon Yurek
Something went wrong with that request. Please try again.