hoptoad_notifier 2.4.10 → 2.4.11
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/Rakefile +1 -1
- data/SUPPORTED_RAILS_VERSIONS +2 -0
- data/lib/hoptoad_notifier/notice.rb +12 -1
- data/lib/hoptoad_notifier/rails/controller_methods.rb +1 -1
- data/lib/hoptoad_notifier/version.rb +1 -1
- data/test/catcher_test.rb +2 -0
- data/test/notice_test.rb +12 -1
- metadata +4 -4
data/Rakefile
CHANGED
@@ -155,7 +155,7 @@ end
|
|
155
155
|
|
156
156
|
LOCAL_GEM_ROOT = File.join(GEM_ROOT, 'tmp', 'local_gems').freeze
|
157
157
|
RAILS_VERSIONS = IO.read('SUPPORTED_RAILS_VERSIONS').strip.split("\n")
|
158
|
-
LOCAL_GEMS = [['sham_rack', nil], ['capistrano', nil], ['sqlite3-ruby', nil], ['sinatra', nil]] +
|
158
|
+
LOCAL_GEMS = [['sham_rack', nil], ['capistrano', nil], ['sqlite3-ruby', nil], ['sinatra', nil], ['rake', '0.8.7']] +
|
159
159
|
RAILS_VERSIONS.collect { |version| ['rails', version] }
|
160
160
|
|
161
161
|
desc "Vendor test gems: Run this once to prepare your test environment"
|
data/SUPPORTED_RAILS_VERSIONS
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'builder'
|
2
|
+
require 'socket'
|
2
3
|
|
3
4
|
module HoptoadNotifier
|
4
5
|
class Notice
|
@@ -65,6 +66,9 @@ module HoptoadNotifier
|
|
65
66
|
# A URL for more information about the notifier library sending this notice
|
66
67
|
attr_reader :notifier_url
|
67
68
|
|
69
|
+
# The host name where this error occurred (if any)
|
70
|
+
attr_reader :hostname
|
71
|
+
|
68
72
|
def initialize(args)
|
69
73
|
self.args = args
|
70
74
|
self.exception = args[:exception]
|
@@ -95,6 +99,8 @@ module HoptoadNotifier
|
|
95
99
|
"#{exception.class.name}: #{exception.message}"
|
96
100
|
end
|
97
101
|
|
102
|
+
self.hostname = local_hostname
|
103
|
+
|
98
104
|
also_use_rack_params_filters
|
99
105
|
find_session_data
|
100
106
|
clean_params
|
@@ -153,6 +159,7 @@ module HoptoadNotifier
|
|
153
159
|
notice.tag!("server-environment") do |env|
|
154
160
|
env.tag!("project-root", project_root)
|
155
161
|
env.tag!("environment-name", environment_name)
|
162
|
+
env.tag!("hostname", hostname)
|
156
163
|
end
|
157
164
|
end
|
158
165
|
xml.to_s
|
@@ -185,7 +192,7 @@ module HoptoadNotifier
|
|
185
192
|
:backtrace_filters, :parameters, :params_filters,
|
186
193
|
:environment_filters, :session_data, :project_root, :url, :ignore,
|
187
194
|
:ignore_by_filters, :notifier_name, :notifier_url, :notifier_version,
|
188
|
-
:component, :action, :cgi_data, :environment_name
|
195
|
+
:component, :action, :cgi_data, :environment_name, :hostname
|
189
196
|
|
190
197
|
# Arguments given in the initializer
|
191
198
|
attr_accessor :args
|
@@ -333,5 +340,9 @@ module HoptoadNotifier
|
|
333
340
|
end
|
334
341
|
end
|
335
342
|
|
343
|
+
def local_hostname
|
344
|
+
Socket.gethostname
|
345
|
+
end
|
346
|
+
|
336
347
|
end
|
337
348
|
end
|
data/test/catcher_test.rb
CHANGED
@@ -112,6 +112,8 @@ class ActionControllerCatcherTest < Test::Unit::TestCase
|
|
112
112
|
controller.stubs(:rescue_action_in_public_without_hoptoad)
|
113
113
|
opts[:request].query_parameters = opts[:request].query_parameters.merge(opts[:params] || {})
|
114
114
|
opts[:request].session = ActionController::TestSession.new(opts[:session] || {})
|
115
|
+
# Prevents request.fullpath from crashing Rails in tests
|
116
|
+
opts[:request].env['REQUEST_URI'] = opts[:request].request_uri
|
115
117
|
controller.process(opts[:request], opts[:response])
|
116
118
|
controller
|
117
119
|
end
|
data/test/notice_test.rb
CHANGED
@@ -55,6 +55,11 @@ class NoticeTest < Test::Unit::TestCase
|
|
55
55
|
assert_equal url, notice.url
|
56
56
|
end
|
57
57
|
|
58
|
+
should "set the host name" do
|
59
|
+
notice = build_notice
|
60
|
+
assert_equal hostname, notice.hostname
|
61
|
+
end
|
62
|
+
|
58
63
|
should "accept a backtrace from an exception or hash" do
|
59
64
|
array = ["user.rb:34:in `crazy'"]
|
60
65
|
exception = build_exception
|
@@ -241,6 +246,7 @@ class NoticeTest < Test::Unit::TestCase
|
|
241
246
|
|
242
247
|
assert_valid_node(@document, "//server-environment/project-root", "RAILS_ROOT")
|
243
248
|
assert_valid_node(@document, "//server-environment/environment-name", "RAILS_ENV")
|
249
|
+
assert_valid_node(@document, "//server-environment/hostname", hostname)
|
244
250
|
end
|
245
251
|
end
|
246
252
|
|
@@ -421,7 +427,7 @@ class NoticeTest < Test::Unit::TestCase
|
|
421
427
|
end
|
422
428
|
|
423
429
|
def assert_valid_notice_document(document)
|
424
|
-
xsd_path = File.join(File.dirname(__FILE__), "
|
430
|
+
xsd_path = File.join(File.dirname(__FILE__), "hoptoad_2_2.xsd")
|
425
431
|
schema = Nokogiri::XML::Schema.new(IO.read(xsd_path))
|
426
432
|
errors = schema.validate(document)
|
427
433
|
assert errors.empty?, errors.collect{|e| e.message }.join
|
@@ -445,4 +451,9 @@ class NoticeTest < Test::Unit::TestCase
|
|
445
451
|
["app/models/user.rb:13:in `magic'",
|
446
452
|
"app/controllers/users_controller.rb:8:in `index'"]
|
447
453
|
end
|
454
|
+
|
455
|
+
def hostname
|
456
|
+
`hostname`.chomp
|
457
|
+
end
|
458
|
+
|
448
459
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoptoad_notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 9
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 2.4.
|
9
|
+
- 11
|
10
|
+
version: 2.4.11
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- thoughtbot, inc
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-26 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: builder
|