toadhopper-sinatra 0.10.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sinatra/toadhopper.rb +2 -2
- data/test_example.rb +38 -49
- metadata +3 -3
data/lib/sinatra/toadhopper.rb
CHANGED
@@ -4,7 +4,7 @@ require 'toadhopper'
|
|
4
4
|
module Sinatra
|
5
5
|
# The Toadhopper helper methods
|
6
6
|
module ToadHopper
|
7
|
-
VERSION = "0.
|
7
|
+
VERSION = "1.0.0"
|
8
8
|
# Reports the current sinatra error to Hoptoad
|
9
9
|
def post_error_to_hoptoad!
|
10
10
|
unless options.toadhopper && options.toadhopper[:api_key]
|
@@ -17,7 +17,7 @@ module Sinatra
|
|
17
17
|
env['sinatra.error'],
|
18
18
|
{
|
19
19
|
:url => request.url,
|
20
|
-
:
|
20
|
+
:params => request.params,
|
21
21
|
:session => session.to_hash,
|
22
22
|
:environment => ENV.to_hash,
|
23
23
|
:framework_env => options.environment.to_s,
|
data/test_example.rb
CHANGED
@@ -1,12 +1,3 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
|
3
|
-
require 'rr'
|
4
|
-
class Test::Unit::TestCase
|
5
|
-
include RR::Adapters::TestUnit
|
6
|
-
end
|
7
|
-
|
8
|
-
require 'rack/test'
|
9
|
-
|
10
1
|
toadhopper_dir = "#{File.dirname(__FILE__)}/../toadhopper"
|
11
2
|
raise "#{toadhopper_dir} does not exist" unless File.directory?(toadhopper_dir)
|
12
3
|
$:.unshift "#{toadhopper_dir}/lib"
|
@@ -14,54 +5,52 @@ $:.unshift "#{toadhopper_dir}/lib"
|
|
14
5
|
$:.unshift "#{File.dirname(__FILE__)}/lib"
|
15
6
|
|
16
7
|
require "#{File.dirname(__FILE__)}/example"
|
17
|
-
|
18
8
|
Sinatra::Application.set :environment, :production
|
19
9
|
|
20
|
-
|
21
|
-
|
22
|
-
include Rack::Test::Methods
|
23
|
-
|
24
|
-
def app; Sinatra::Application end
|
10
|
+
require 'exemplor'
|
25
11
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
@toadhopper = ::ToadHopper.new("")
|
30
|
-
stub(::ToadHopper).new do |api_key|
|
31
|
-
@api_key = api_key
|
32
|
-
@toadhopper
|
33
|
-
end
|
34
|
-
stub(@toadhopper).post! do |*args|
|
35
|
-
@error, @options, @header = *args
|
36
|
-
end
|
37
|
-
|
38
|
-
post "/register", :name => "Billy", :password => "Bob"
|
39
|
-
end
|
12
|
+
require 'rack/test'
|
13
|
+
require 'rr'
|
40
14
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
def
|
45
|
-
|
46
|
-
end
|
47
|
-
def test_reported_error
|
48
|
-
assert_equal RuntimeError, @error.class
|
49
|
-
assert_equal "Kaboom!", @error.message
|
15
|
+
eg.helpers do
|
16
|
+
include Rack::Test::Methods
|
17
|
+
include RR::Adapters::RRMethods
|
18
|
+
def app
|
19
|
+
Sinatra::Application
|
50
20
|
end
|
21
|
+
end
|
51
22
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
assert @options[:session] = {:user_id => 42}
|
60
|
-
assert @options[:notifier_name] = "toadhopper-sinatra"
|
23
|
+
eg.setup do
|
24
|
+
RR.reset
|
25
|
+
|
26
|
+
@toadhopper = ::ToadHopper.new("")
|
27
|
+
stub(::ToadHopper).new do |api_key|
|
28
|
+
@api_key = api_key
|
29
|
+
@toadhopper
|
61
30
|
end
|
62
31
|
|
63
|
-
|
64
|
-
|
32
|
+
stub(@toadhopper).post! do |*args|
|
33
|
+
@error, @options, @header = *args
|
65
34
|
end
|
35
|
+
end
|
36
|
+
|
37
|
+
eg "Posting" do
|
38
|
+
post "/register", :name => "Billy", :password => "Bob"
|
66
39
|
|
40
|
+
Check(@api_key).is("apikey")
|
41
|
+
|
42
|
+
Check(@toadhopper.filters).is([/password/])
|
43
|
+
|
44
|
+
Check(@error.class).is(RuntimeError)
|
45
|
+
Check(@error.message).is("Kaboom!")
|
46
|
+
|
47
|
+
Check(@options[:environment]).is(ENV.to_hash)
|
48
|
+
Check(@options[:url]).is("http://example.org/register")
|
49
|
+
Check(@options[:params]).is({"name"=>"Billy", "password"=>"Bob"})
|
50
|
+
Check(@options[:framework_env]).is("production")
|
51
|
+
Check(@options[:project_root]).is(app.root)
|
52
|
+
Check(@options[:session]).is({:user_id => 42})
|
53
|
+
Check(@options[:notifier_name]).is("toadhopper-sinatra")
|
54
|
+
|
55
|
+
Check(@header['X-Hoptoad-Client-Name']).is("toadhopper-sinatra")
|
67
56
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toadhopper-sinatra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Lucas
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-02-23 00:00:00 +11:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.9.
|
23
|
+
version: 0.9.8
|
24
24
|
version:
|
25
25
|
description: Post Hoptoad notifications from Sinatra
|
26
26
|
email: t.lucas@toolmantim.com
|