Sha256: fbcac6953f1c7454d033dd923934b7cc662f4a68f101b1b52bd475f6407de6a9
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
module Rack module DevMark class Middleware include Rack::Utils include Rack::DevMark::Utils def initialize(app, theme = :github_fork_ribbon) @app = app @title = Rack::DevMark::Title.new @theme = theme.is_a?(Symbol) ? Rack::DevMark::Theme.const_get(camelize(theme.to_s)).new : theme end def call(env) status, headers, response = @app.call(env) headers = HeaderHash.new(headers) if headers['Content-Type'].to_s =~ %r{^text/html;}i begin response = insert_dev_marks(response) rescue Rack::DevMark::Exception => e $stderr.write "Failed to insert dev marks: #{e.message}\n" end end [status, headers, response] end private def insert_dev_marks(response) body = "" response.each do |r| body.concat r.to_s end body = @title.insert_into(body, Rack::DevMark.env, Rack::DevMark.revision) body = @theme.insert_into(body, Rack::DevMark.env, Rack::DevMark.revision) [body] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-dev-mark-0.1.0 | lib/rack/dev-mark/middleware.rb |