Sha256: 1e301e31520897f929a4bd7ac06ef3046373365f0ed6684692acb9f0b4f6d6d5
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
module InspectPartials class RackHandler def initialize app @app = app end def call env status, headers, response = @app.call(env) new_response = transform_response(response) new_headers = transform_headers(new_response, headers) [status, new_headers, new_response] end private def transform_response response source = "" response.each {|_| source << _} source.blank? ? response : [add_stylesheet(source)] end def transform_headers(response, headers) length = 0 response.each {|_| length += _.size} headers.has_key?('Content-Length') ? headers.merge('Content-Length' => length.to_s) : headers end def add_stylesheet source head_open = source.index("<head") return source unless head_open head_pos = source.index(">", head_open) + 1 return source unless head_pos source.insert(head_pos, stylesheet_tag) end def stylesheet_tag %q{<link href="/assets/inspect_partials/inspect_partials.css" media="screen" rel="stylesheet" type="text/css"/>} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
inspect_partials-0.0.1 | lib/inspect_partials/rack_handler.rb |