toadhopper-sinatra 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +5 -0
- data/Gemfile +2 -18
- data/Rakefile +3 -15
- data/lib/sinatra/toadhopper.rb +45 -27
- data/lib/sinatra/toadhopper/version.rb +5 -0
- data/test_example.rb +6 -4
- data/toadhopper-sinatra.gemspec +23 -55
- metadata +24 -18
data/Gemfile
CHANGED
@@ -1,18 +1,2 @@
|
|
1
|
-
source :
|
2
|
-
|
3
|
-
gem 'toadhopper', '~> 1.0'
|
4
|
-
gem 'sinatra'
|
5
|
-
|
6
|
-
group :development do
|
7
|
-
gem 'bundler', '~> 1.0.11'
|
8
|
-
gem 'rake'
|
9
|
-
gem 'yard'
|
10
|
-
gem 'jeweler'
|
11
|
-
end
|
12
|
-
|
13
|
-
group :test do
|
14
|
-
gem 'rake'
|
15
|
-
gem 'exemplor'
|
16
|
-
gem 'rack-test', :require => "rack/test"
|
17
|
-
gem 'rr'
|
18
|
-
end
|
1
|
+
source :rubygems
|
2
|
+
gemspec
|
data/Rakefile
CHANGED
@@ -1,20 +1,8 @@
|
|
1
|
-
require 'bundler'
|
2
|
-
Bundler.setup(:default, :development, :test)
|
3
|
-
Bundler.require(:development, :test)
|
1
|
+
require 'bundler/setup'
|
4
2
|
|
5
|
-
|
6
|
-
s.name = "toadhopper-sinatra"
|
7
|
-
s.summary = "Post Hoptoad notifications from Sinatra"
|
8
|
-
s.email = "t.lucas@toolmantim.com"
|
9
|
-
s.homepage = "http://github.com/toolmantim/toadhopper-sinatra"
|
10
|
-
s.authors = ["Tim Lucas"]
|
11
|
-
s.extra_rdoc_files = ["README.md", "LICENSE", "example.rb"]
|
12
|
-
|
13
|
-
require File.join(File.dirname(__FILE__), 'lib', 'sinatra', 'toadhopper')
|
14
|
-
s.version = Sinatra::Toadhopper::VERSION
|
15
|
-
end
|
3
|
+
Bundler::GemHelper.install_tasks
|
16
4
|
|
17
5
|
desc "Run tests"
|
18
6
|
task :test do
|
19
|
-
exec "/usr/bin/env ruby #{File.dirname(__FILE__)}/test_example.rb"
|
7
|
+
exec "/usr/bin/env bundle exec ruby #{File.dirname(__FILE__)}/test_example.rb"
|
20
8
|
end
|
data/lib/sinatra/toadhopper.rb
CHANGED
@@ -1,35 +1,53 @@
|
|
1
1
|
require 'sinatra/base'
|
2
2
|
require 'toadhopper'
|
3
|
+
require 'sinatra/toadhopper/version'
|
3
4
|
|
4
5
|
module Sinatra
|
5
|
-
# The Toadhopper helper methods
|
6
6
|
module Toadhopper
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
|
8
|
+
module Helpers
|
9
|
+
# Reports the current sinatra error to Hoptoad
|
10
|
+
def post_error_to_hoptoad!
|
11
|
+
unless toadhopper_api_key
|
12
|
+
STDERR.puts "Toadhopper api key not set, e.g. set :toadhopper, :api_key => 'my api key'"
|
13
|
+
return
|
14
|
+
end
|
15
|
+
toadhopper = ::Toadhopper.new(toadhopper_api_key, toadhopper_options)
|
16
|
+
toadhopper.filters = toadhopper_filters if toadhopper_filters
|
17
|
+
toadhopper.post!(
|
18
|
+
env['sinatra.error'],
|
19
|
+
{
|
20
|
+
:url => request.url,
|
21
|
+
:params => request.params,
|
22
|
+
:session => session.to_hash,
|
23
|
+
:environment => ENV.to_hash,
|
24
|
+
:framework_env => options.environment.to_s,
|
25
|
+
:project_root => options.root,
|
26
|
+
:notifier_name => (notifier_name = "toadhopper-sinatra"),
|
27
|
+
:notifier_version => VERSION,
|
28
|
+
:notifier_url => 'http://github.com/toolmantim/toadhopper-sinatra'
|
29
|
+
},
|
30
|
+
{'X-Hoptoad-Client-Name' => notifier_name}
|
31
|
+
)
|
13
32
|
end
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
:
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
},
|
30
|
-
{'X-Hoptoad-Client-Name' => notifier_name}
|
31
|
-
)
|
33
|
+
private
|
34
|
+
def toadhopper_filters
|
35
|
+
settings.toadhopper[:filters]
|
36
|
+
end
|
37
|
+
def toadhopper_api_key
|
38
|
+
settings.toadhopper[:api_key]
|
39
|
+
end
|
40
|
+
def toadhopper_options
|
41
|
+
settings.toadhopper.reject {|k,_| [:api_key, :filters].include?(k)}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.registered(app)
|
46
|
+
app.helpers Toadhopper::Helpers
|
47
|
+
app.set :toadhopper, {}
|
32
48
|
end
|
49
|
+
|
33
50
|
end
|
34
|
-
|
35
|
-
|
51
|
+
|
52
|
+
register Toadhopper
|
53
|
+
end
|
data/test_example.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
-
Bundler.setup
|
2
|
-
|
1
|
+
Bundler.setup
|
2
|
+
|
3
|
+
require 'exemplor'
|
4
|
+
require 'rr'
|
5
|
+
require 'rack/test'
|
3
6
|
|
4
7
|
$:.unshift "#{File.dirname(__FILE__)}/lib"
|
5
8
|
require "#{File.dirname(__FILE__)}/example"
|
@@ -32,8 +35,7 @@ eg "Posting" do
|
|
32
35
|
post "/register", :name => "Billy", :password => "Bob"
|
33
36
|
|
34
37
|
Check(@api_key).is("apikey")
|
35
|
-
|
36
|
-
Check(@toadhopper.filters).is([/password/])
|
38
|
+
Check(@toadhopper.send(:filters)).is([/password/])
|
37
39
|
|
38
40
|
Check(@error.class).is(RuntimeError)
|
39
41
|
Check(@error.message).is("Kaboom!")
|
data/toadhopper-sinatra.gemspec
CHANGED
@@ -1,61 +1,29 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
$: << File.expand_path('../lib', __FILE__)
|
4
|
+
|
5
|
+
require 'sinatra/toadhopper/version'
|
9
6
|
|
10
|
-
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".yardopts",
|
21
|
-
"Gemfile",
|
22
|
-
"LICENSE",
|
23
|
-
"README.md",
|
24
|
-
"Rakefile",
|
25
|
-
"example.rb",
|
26
|
-
"lib/sinatra/toadhopper.rb",
|
27
|
-
"test_example.rb"
|
28
|
-
]
|
29
|
-
s.homepage = %q{http://github.com/toolmantim/toadhopper-sinatra}
|
30
|
-
s.require_paths = ["lib"]
|
31
|
-
s.rubygems_version = %q{1.6.2}
|
32
|
-
s.summary = %q{Post Hoptoad notifications from Sinatra}
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = 'toadhopper-sinatra'
|
9
|
+
s.version = Sinatra::Toadhopper::VERSION
|
10
|
+
s.platform = Gem::Platform::RUBY
|
11
|
+
s.authors = ['Tim Lucas', 'Gabriel Horner', 'Kyle Drake']
|
12
|
+
s.email = ['t.lucas@toolmantim.com']
|
13
|
+
s.homepage = 'http://github.com/toolmantim/toadhopper-sinatra'
|
14
|
+
s.summary = %q{Post Hoptoad notifications from Sinatra}
|
33
15
|
|
34
|
-
|
35
|
-
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ['lib']
|
20
|
+
s.extra_rdoc_files = ['README.md', 'LICENSE', 'example.rb']
|
36
21
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
else
|
45
|
-
s.add_dependency(%q<toadhopper>, ["~> 1.0"])
|
46
|
-
s.add_dependency(%q<sinatra>, [">= 0"])
|
47
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.11"])
|
48
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
49
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
50
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
51
|
-
end
|
52
|
-
else
|
53
|
-
s.add_dependency(%q<toadhopper>, ["~> 1.0"])
|
54
|
-
s.add_dependency(%q<sinatra>, [">= 0"])
|
55
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.11"])
|
56
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
57
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
58
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
59
|
-
end
|
22
|
+
s.add_dependency 'sinatra'
|
23
|
+
s.add_dependency 'toadhopper'
|
24
|
+
|
25
|
+
s.add_development_dependency 'rake'
|
26
|
+
s.add_development_dependency 'exemplor'
|
27
|
+
s.add_development_dependency 'rr'
|
28
|
+
s.add_development_dependency 'rack-test'
|
60
29
|
end
|
61
|
-
|
metadata
CHANGED
@@ -2,30 +2,31 @@
|
|
2
2
|
name: toadhopper-sinatra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.0.
|
5
|
+
version: 1.0.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Tim Lucas
|
9
|
+
- Gabriel Horner
|
10
|
+
- Kyle Drake
|
9
11
|
autorequire:
|
10
12
|
bindir: bin
|
11
13
|
cert_chain: []
|
12
14
|
|
13
|
-
date: 2011-07-
|
14
|
-
default_executable:
|
15
|
+
date: 2011-07-26 00:00:00 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
18
|
+
name: sinatra
|
18
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
19
20
|
none: false
|
20
21
|
requirements:
|
21
|
-
- -
|
22
|
+
- - ">="
|
22
23
|
- !ruby/object:Gem::Version
|
23
|
-
version: "
|
24
|
+
version: "0"
|
24
25
|
type: :runtime
|
25
26
|
prerelease: false
|
26
27
|
version_requirements: *id001
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
29
|
+
name: toadhopper
|
29
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
30
31
|
none: false
|
31
32
|
requirements:
|
@@ -36,18 +37,18 @@ dependencies:
|
|
36
37
|
prerelease: false
|
37
38
|
version_requirements: *id002
|
38
39
|
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
40
|
+
name: rake
|
40
41
|
requirement: &id003 !ruby/object:Gem::Requirement
|
41
42
|
none: false
|
42
43
|
requirements:
|
43
|
-
- -
|
44
|
+
- - ">="
|
44
45
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
46
|
+
version: "0"
|
46
47
|
type: :development
|
47
48
|
prerelease: false
|
48
49
|
version_requirements: *id003
|
49
50
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
51
|
+
name: exemplor
|
51
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
52
53
|
none: false
|
53
54
|
requirements:
|
@@ -58,7 +59,7 @@ dependencies:
|
|
58
59
|
prerelease: false
|
59
60
|
version_requirements: *id004
|
60
61
|
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
62
|
+
name: rr
|
62
63
|
requirement: &id005 !ruby/object:Gem::Requirement
|
63
64
|
none: false
|
64
65
|
requirements:
|
@@ -69,7 +70,7 @@ dependencies:
|
|
69
70
|
prerelease: false
|
70
71
|
version_requirements: *id005
|
71
72
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
73
|
+
name: rack-test
|
73
74
|
requirement: &id006 !ruby/object:Gem::Requirement
|
74
75
|
none: false
|
75
76
|
requirements:
|
@@ -80,16 +81,18 @@ dependencies:
|
|
80
81
|
prerelease: false
|
81
82
|
version_requirements: *id006
|
82
83
|
description:
|
83
|
-
email:
|
84
|
+
email:
|
85
|
+
- t.lucas@toolmantim.com
|
84
86
|
executables: []
|
85
87
|
|
86
88
|
extensions: []
|
87
89
|
|
88
90
|
extra_rdoc_files:
|
89
|
-
- LICENSE
|
90
91
|
- README.md
|
92
|
+
- LICENSE
|
91
93
|
- example.rb
|
92
94
|
files:
|
95
|
+
- .gitignore
|
93
96
|
- .yardopts
|
94
97
|
- Gemfile
|
95
98
|
- LICENSE
|
@@ -97,9 +100,9 @@ files:
|
|
97
100
|
- Rakefile
|
98
101
|
- example.rb
|
99
102
|
- lib/sinatra/toadhopper.rb
|
103
|
+
- lib/sinatra/toadhopper/version.rb
|
100
104
|
- test_example.rb
|
101
105
|
- toadhopper-sinatra.gemspec
|
102
|
-
has_rdoc: true
|
103
106
|
homepage: http://github.com/toolmantim/toadhopper-sinatra
|
104
107
|
licenses: []
|
105
108
|
|
@@ -113,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
116
|
requirements:
|
114
117
|
- - ">="
|
115
118
|
- !ruby/object:Gem::Version
|
116
|
-
hash:
|
119
|
+
hash: -2461237549134524370
|
117
120
|
segments:
|
118
121
|
- 0
|
119
122
|
version: "0"
|
@@ -122,11 +125,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
125
|
requirements:
|
123
126
|
- - ">="
|
124
127
|
- !ruby/object:Gem::Version
|
128
|
+
hash: -2461237549134524370
|
129
|
+
segments:
|
130
|
+
- 0
|
125
131
|
version: "0"
|
126
132
|
requirements: []
|
127
133
|
|
128
134
|
rubyforge_project:
|
129
|
-
rubygems_version: 1.
|
135
|
+
rubygems_version: 1.8.5
|
130
136
|
signing_key:
|
131
137
|
specification_version: 3
|
132
138
|
summary: Post Hoptoad notifications from Sinatra
|