class Assets::Responder
Abstract base class for asset responders
Constants
- HEADERS
- NOT_FOUND
Public Class Methods
call(asset)
click to toggle source
Call responder
@param [Object] asset
@return [Response]
@api private
# File lib/assets/responder.rb, line 21 def self.call(asset) new(asset).response end
run(request, asset)
click to toggle source
Run responder
@param [Request] request @param [Asset] asset
@return [Response] response
@api private
# File lib/assets/responder.rb, line 34 def self.run(request, asset) timestamp = request.if_modified_since responder = if timestamp && asset.fresh_at?(timestamp) NotModified else New end responder.call(asset) end
Public Instance Methods
response()
click to toggle source
Return response
@return [Response]
@api private
# File lib/assets/responder.rb, line 53 def response Response.new(status, headers, body) end
Private Instance Methods
content_type()
click to toggle source
Return content type header value
@return [String]
@api private
# File lib/assets/responder.rb, line 85 def content_type asset.mime.content_type end
headers()
click to toggle source
Return headers
@return [Hash]
@api private
# File lib/assets/responder.rb, line 75 def headers HEADERS.merge('Last-Modified' => asset.created_at.httpdate) end
status()
click to toggle source
Return status code
@return [Fixnum]
@api private
# File lib/assets/responder.rb, line 65 def status self.class::STATUS end