class Paperclip::RemoteAssets::Middleware
Constants
- SYSTEM_PREFIX_REGEX
Attributes
app[R]
Public Class Methods
new(app)
click to toggle source
# File lib/paperclip/remote_assets/middleware.rb, line 8 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/paperclip/remote_assets/middleware.rb, line 12 def call(env) if remote_asset?(env['REQUEST_PATH']) [302, { "Location" => remote_asset_path_for(env['REQUEST_PATH']) }, []] else app.call(env) end end
Private Instance Methods
remote_asset?(path)
click to toggle source
# File lib/paperclip/remote_assets/middleware.rb, line 22 def remote_asset?(path) path.match(SYSTEM_PREFIX_REGEX) && !File.exist?(Rails.root.join('public', path)) end
remote_asset_path_for(path)
click to toggle source
# File lib/paperclip/remote_assets/middleware.rb, line 26 def remote_asset_path_for(path) unless Paperclip::RemoteAssets.remote_root_includes_system? path = path.gsub(SYSTEM_PREFIX_REGEX, '/') end File.join(Paperclip::RemoteAssets.remote_root, path) end