- 01 Oct, 2010 1 commit
-
-
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.
Jon Yurek committed
-
- 19 Aug, 2010 1 commit
-
-
Jon Yurek committed
-
- 18 Aug, 2010 2 commits
- 17 Aug, 2010 2 commits
-
-
Fiona Foo & Nate Clark committed
-
Jon Yurek committed
-
- 16 Aug, 2010 3 commits
-
-
Jon Yurek 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: http://code.google.com/speed/page-speed/docs/caching.html
Mike Bailey committed -
Jon Yurek committed
-
- 10 Aug, 2010 1 commit
-
-
Jon Yurek committed
-
- 06 Aug, 2010 1 commit
-
-
Jon Yurek committed
-
- 01 Aug, 2010 1 commit
-
-
Jon Yurek committed
-
- 29 Jul, 2010 2 commits
- 28 Jul, 2010 1 commit
-
-
Jon Yurek committed
-
- 23 Jul, 2010 3 commits
- 21 Jul, 2010 2 commits
- 11 Jul, 2010 2 commits
- 01 Jul, 2010 2 commits
- 29 Jun, 2010 1 commit
-
-
Dan Croak committed
-
- 18 Jun, 2010 1 commit
-
-
Jon Yurek committed
-
- 16 Jun, 2010 1 commit
-
-
(cherry picked from commit 64ae23ba01885e22cc69bf1264f339784ce32fc9)
Tom Ward committed
-
- 10 Jun, 2010 1 commit
-
-
Jon Yurek committed
-
- 09 Jun, 2010 2 commits
-
-
joeljunstrom committed
-
Jon Yurek committed
-
- 08 Jun, 2010 6 commits
-
-
Jon Yurek committed
-
Jon Yurek committed
-
Jon Yurek committed
-
Jon Yurek committed
-
(cherry picked from commit 67865aac3227bd9c515052f6fbee446b4e724971)
Nick Ragaz committed -
(cherry picked from commit e053805f55b872e6926dfbfa14f38d1296e8b922)
Nick Ragaz committed
-
- 07 Jun, 2010 4 commits
-
-
Joshua Clayton committed
-
Joshua Clayton committed
-
Joshua Clayton committed
-
Jon Yurek committed
-