Class: InlineStyle::Rack::Middleware
- Inherits:
-
Object
- Object
- InlineStyle::Rack::Middleware
- Defined in:
- lib/middleman-inline-style/rack-middleware.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, opts = {}) ⇒ Middleware
constructor
A new instance of Middleware.
Constructor Details
#initialize(app, opts = {}) ⇒ Middleware
Returns a new instance of Middleware.
16 17 18 19 20 |
# File 'lib/middleman-inline-style/rack-middleware.rb', line 16 def initialize app, opts = {} @app = app @opts = opts @paths = /^(?:#{ [*opts[:paths]].join('|') })/ end |
Instance Method Details
#call(env) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/middleman-inline-style/rack-middleware.rb', line 22 def call env response = @app.call env return response unless @paths === env['PATH_INFO'] status, headers, body = response newbody = [] body.each { |str| newbody << str } newbody = newbody.join('') newbody = InlineStyle.process(newbody, {:stylesheets_path => env['DOCUMENT_ROOT']}.merge(@opts)) headers['Content-Length'] = Rack::Utils.bytesize(newbody).to_s [status, headers, [newbody]] end |