Sha256: 8b9dfe7642aee6d77f6b8c0091e9f6f2816856f32d1f7f235c9c3c8be5ca65c2

Contents?: true

Size: 1.24 KB

Versions: 21

Compression:

Stored size: 1.24 KB

Contents

require 'orange-core/middleware/base'

module Orange::Middleware
  class Debugger < Base
    def init(opts = {})
      orange.add_pulp Orange::Pulp::DebuggerHelpers if orange.options[:development_mode]
      orange.mixin Orange::Mixins::DebuggerMixin if orange.options[:development_mode]
    end
    
    # Passes packet then parses the return
    def packet_call(packet)
      if orange.options[:development_mode]
        packet.flash['redirect_to'] = packet.request.path
        packet.add_css('debug_bar.css', :module => '_debugger_')
      end
      pass packet
      if orange.options[:development_mode]
        bar = orange[:parser].haml('debug_bar.haml', packet)
        packet[:content] = packet[:content].gsub('</body>', bar + '</body>')
      end
      packet.finish
    end
    
  end
end

module Orange::Pulp::DebuggerHelpers
  def h_debug(obj)                  # :nodoc:
    case obj
    when String
      Rack::Utils.escape_html(obj)
    else
      Rack::Utils.escape_html(obj.inspect)
    end
  end
end


module Orange::Mixins::DebuggerMixin
  def resources
    @resources
  end
end

class Rack::Builder 
  def inspect
    "#<Rack::Builder:#{self.object_id.to_s(16)} @ins=#{@ins.map{|x| x.instance_of?(Proc)? x.call(nil) : x }.inspect} >"
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
orange-more-0.6.5 lib/orange-more/debugger/middleware/debugger.rb
orange-more-0.6.4 lib/orange-more/debugger/middleware/debugger.rb
orange-more-0.6.3 lib/orange-more/debugger/middleware/debugger.rb
orange-more-0.6.2 lib/orange-more/debugger/middleware/debugger.rb
orange-more-0.6.0 lib/orange-more/debugger/middleware/debugger.rb
orange-more-0.5.8 lib/orange-more/debugger/middleware/debugger.rb
orange-more-0.5.7 lib/orange-more/debugger/middleware/debugger.rb
orange-0.5.5 lib/orange-more/debugger/middleware/debugger.rb
orange-0.5.4 lib/orange-more/debugger/middleware/debugger.rb
orange-0.5.3 lib/orange-more/debugger/middleware/debugger.rb
orange-0.5.2 lib/orange-more/debugger/middleware/debugger.rb
orange-0.5.1 lib/orange-more/debugger/middleware/debugger.rb
orange-0.4.0 lib/orange-more/debugger/middleware/debugger.rb
orange-0.3.9 lib/orange-more/debugger/middleware/debugger.rb
orange-0.3.8 lib/orange-more/debugger/middleware/debugger.rb
orange-0.3.7 lib/orange-more/debugger/middleware/debugger.rb
orange-0.3.6 lib/orange-more/debugger/middleware/debugger.rb
orange-0.3.5 lib/orange-more/debugger/middleware/debugger.rb
orange-0.3.4 lib/orange-more/debugger/middleware/debugger.rb
orange-0.3.3 lib/orange-more/debugger/middleware/debugger.rb