Sha256: 79715c69e2457e53dcb8c58012cc5d5e3e7a72d334f4ffddc1adf14264ecab59

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

require 'sinatra/base'
require 'toadhopper'

module Sinatra
  # The Toadhopper helper methods
  module Toadhopper
    VERSION = "1.0.3"
    # Reports the current sinatra error to Hoptoad
    def post_error_to_hoptoad!
      unless options.toadhopper && options.toadhopper[:api_key]
        STDERR.puts "Toadhopper api key not set, e.g. set :toadhopper, :api_key => 'my api key'"
        return
      end
      filters = options.toadhopper.delete(:filters)
      toadhopper = ::Toadhopper.new(options.toadhopper.delete(:api_key), options.toadhopper)
      toadhopper.filters = filters if filters
      toadhopper.post!(
        env['sinatra.error'],
        {
          :url => request.url,
          :params => request.params,
          :session => session.to_hash,
          :environment => ENV.to_hash,
          :framework_env => options.environment.to_s,
          :project_root => options.root,
          :notifier_name => (notifier_name = "toadhopper-sinatra"),
          :notifier_version => VERSION,
          :notifier_url => 'http://github.com/toolmantim/toadhopper-sinatra'
        },
        {'X-Hoptoad-Client-Name' => notifier_name}
      )
    end
  end
  helpers Toadhopper
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
toadhopper-sinatra-1.0.3 lib/sinatra/toadhopper.rb