This patch looks like a good fix. I'm curious though. Should the call that runs the sass plugin be in Merb::Rack::Application#call or should it be in the Merb::Dispatcher#handle. My only thinking is that if something goes wrong in the handle then Merb::Rack::Application#call has a chance to rescue and display 500 error. Not sure if this is a concern or not.
see my pastie as the two varitions (one from the posted patch from Brian) and another spot it could possibly go. http://pastie.caboo.se/151938 On Feb 13, 7:31 pm, Nathan Weizenbaum <[EMAIL PROTECTED]> wrote: > Thanks, but please don't send git patches through Google Groups. It can > mangle them and add footers. Pastie it or email it directly. > > Also, please use git format-patch to preserve your commit message and > authorship. > > - Nathan > > Brian Johnson wrote: > > --- > > lib/sass/plugin/merb.rb | 36 ++++++++++++++++++++++++++++-------- > > 1 files changed, 28 insertions(+), 8 deletions(-) > > > diff --git a/lib/sass/plugin/merb.rb b/lib/sass/plugin/merb.rb > > index 9a7263e..e09b66c 100644 > > --- a/lib/sass/plugin/merb.rb > > +++ b/lib/sass/plugin/merb.rb > > @@ -18,16 +18,36 @@ unless defined?(Sass::MERB_LOADED) > > config.symbolize_keys! > > Sass::Plugin.options.merge!(config) > > > - class MerbHandler # :nodoc: > > - def process_with_sass(request, response) > > - if !Sass::Plugin.checked_for_updates || > > - Sass::Plugin.options[:always_update] || > > Sass::Plugin.options[:always_check] > > - Sass::Plugin.update_stylesheets > > + if version[0] > 0 || (version[0] <= 0 && version[1] >= 9) > > + > > + class Merb::Rack::Application # :nodoc: > > + def sass_handler(env) > > + if !Sass::Plugin.checked_for_updates || > > + Sass::Plugin.options[:always_update] || > > Sass::Plugin.options[:always_check] > > + Sass::Plugin.update_stylesheets > > + end > > + > > + orginal_handler(env) > > end > > + alias_method :orginal_handler, :call > > + alias_method :call, :sass_handler > > + end > > + > > + else > > > - process_without_sass(request, response) > > + class MerbHandler # :nodoc: > > + def sass_handler(request, response) > > + if !Sass::Plugin.checked_for_updates || > > + Sass::Plugin.options[:always_update] || > > Sass::Plugin.options[:always_check] > > + Sass::Plugin.update_stylesheets > > + end > > + > > + orginal_handler(request, response) > > + end > > + alias_method :orginal_handler, :process > > + alias_method :process, :sass_handler > > end > > - alias_method :process_without_sass, :process > > - alias_method :process, :process_with_sass > > + > > end > > + > > end --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Haml" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/haml?hl=en -~----------~----~----~----~------~----~------~--~---
