Sha256: fdb83c09c1f089971915c71bd1c33c26fe338bb6d3b2c7ed2ae6a4bffd57ba31

Contents?: true

Size: 747 Bytes

Versions: 2

Compression:

Stored size: 747 Bytes

Contents

require 'webmachine'
require 'webmachine/trace'

class MyTracedResource < Webmachine::Resource
  def trace?; true; end

  def resource_exists?
    case request.query['e']
    when 'true'
      true
    when 'fail'
      raise "BOOM"
    else
      false
    end
  end

  def to_html
    "<html>You found me.</html>"
  end
end

class MyTracer
  def call(name, payload)
    puts "MyTracer #{name} #{payload.inspect}"
  end
end

# Webmachine::Trace.trace_store = :pstore, "./trace"
# Webmachine::Trace.trace_listener = [Webmachine::Trace::Listener.new, MyTracer.new]

TraceExample = Webmachine::Application.new do |app|
  app.routes do
    add ['trace', '*'], Webmachine::Trace::TraceResource
    add [], MyTracedResource
  end
end

TraceExample.run

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webmachine-1.2.2 examples/debugger.rb
webmachine-1.2.0 examples/debugger.rb