]> git.openstreetmap.org Git - rails.git/blobdiff - config/initializers/paperclip.rb
Serve up paperclip attachments in a cache friendly way
[rails.git] / config / initializers / paperclip.rb
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
new file mode 100644 (file)
index 0000000..6467348
--- /dev/null
@@ -0,0 +1,20 @@
+module Paperclip
+  class AssetUrlGenerator < UrlGenerator
+    include Sprockets::Helpers::IsolatedHelper
+    include Sprockets::Helpers::RailsHelper
+
+    def for(style_name, options)
+      url = super(style_name, options)
+
+      if url =~ /^\/assets\/(.*)$/
+        asset_path($1)
+      else
+        url
+      end
+    end
+  end
+end
+
+Paperclip::Attachment.default_options[:url] = "/attachments/:class/:attachment/:id_partition/:style/:fingerprint.:extension"
+Paperclip::Attachment.default_options[:path] = "#{ATTACHMENTS_DIR}/:class/:attachment/:id_partition/:style/:fingerprint.:extension"
+Paperclip::Attachment.default_options[:url_generator] = Paperclip::AssetUrlGenerator