1. 09 Nov, 2010 2 commits
  2. 26 Oct, 2010 3 commits
  3. 12 Oct, 2010 2 commits
  4. 08 Oct, 2010 1 commit
  5. 07 Oct, 2010 3 commits
  6. 06 Oct, 2010 3 commits
  7. 01 Oct, 2010 1 commit
  8. 19 Aug, 2010 1 commit
  9. 18 Aug, 2010 2 commits
  10. 17 Aug, 2010 2 commits
  11. 16 Aug, 2010 3 commits
    • Added fingerprinting support · 2cdeb39a
      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:
      
      http://code.google.com/speed/page-speed/docs/caching.html
      Mike Bailey committed
  12. 10 Aug, 2010 1 commit
  13. 06 Aug, 2010 1 commit
  14. 01 Aug, 2010 1 commit
  15. 29 Jul, 2010 2 commits
  16. 28 Jul, 2010 1 commit
  17. 23 Jul, 2010 3 commits
  18. 21 Jul, 2010 2 commits
  19. 11 Jul, 2010 2 commits
  20. 01 Jul, 2010 2 commits
  21. 29 Jun, 2010 1 commit
  22. 18 Jun, 2010 1 commit