safely 0.3.0 → 0.3.1
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 +17 -0
- data/Gemfile +3 -18
- data/Gemfile.lock +8 -7
- data/Rakefile +2 -36
- data/examples/backtrace.rb +9 -0
- data/lib/safely/backtrace.rb +4 -10
- data/lib/safely/version.rb +7 -0
- data/lib/safely.rb +1 -3
- data/safely.gemspec +21 -95
- metadata +90 -61
- data/VERSION +0 -1
data/.gitignore
ADDED
data/Gemfile
CHANGED
@@ -1,19 +1,4 @@
|
|
1
|
-
source
|
2
|
-
# Add dependencies required to use your gem here.
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
1
|
+
source 'http://rubygems.org'
|
5
2
|
|
6
|
-
#
|
7
|
-
|
8
|
-
|
9
|
-
group :development do
|
10
|
-
gem "toadhopper"
|
11
|
-
gem "mail"
|
12
|
-
|
13
|
-
gem "rspec", "~> 2.5.0"
|
14
|
-
gem "yard", "~> 0.6.0"
|
15
|
-
gem "bundler", "~> 1.0.0"
|
16
|
-
gem "jeweler", "~> 1.5.2"
|
17
|
-
gem "rcov", ">= 0"
|
18
|
-
gem "mocha"
|
19
|
-
end
|
3
|
+
# Specify your gem's dependencies in safely.gemspec
|
4
|
+
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
safely (0.3.1)
|
5
|
+
|
1
6
|
GEM
|
2
7
|
remote: http://rubygems.org/
|
3
8
|
specs:
|
4
9
|
activesupport (3.0.6)
|
5
10
|
diff-lcs (1.1.2)
|
6
|
-
git (1.2.5)
|
7
11
|
i18n (0.5.0)
|
8
|
-
jeweler (1.5.2)
|
9
|
-
bundler (~> 1.0.0)
|
10
|
-
git (>= 1.2.5)
|
11
|
-
rake
|
12
12
|
mail (2.2.15)
|
13
13
|
activesupport (>= 2.3.6)
|
14
14
|
i18n (>= 0.4.0)
|
@@ -36,11 +36,12 @@ PLATFORMS
|
|
36
36
|
ruby
|
37
37
|
|
38
38
|
DEPENDENCIES
|
39
|
-
bundler
|
40
|
-
jeweler (~> 1.5.2)
|
39
|
+
bundler
|
41
40
|
mail
|
42
41
|
mocha
|
42
|
+
rake
|
43
43
|
rcov
|
44
44
|
rspec (~> 2.5.0)
|
45
|
+
safely!
|
45
46
|
toadhopper
|
46
47
|
yard (~> 0.6.0)
|
data/Rakefile
CHANGED
@@ -1,34 +1,5 @@
|
|
1
|
-
|
2
|
-
require
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
|
-
require 'rake'
|
11
|
-
|
12
|
-
$:.unshift File.expand_path('../lib', __FILE__)
|
13
|
-
require 'safely'
|
14
|
-
|
15
|
-
require 'jeweler'
|
16
|
-
Jeweler::Tasks.new do |gem|
|
17
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
18
|
-
gem.name = "safely"
|
19
|
-
gem.homepage = "http://github.com/kennethkalmer/safely"
|
20
|
-
gem.license = "MIT"
|
21
|
-
gem.summary = %Q{Safely run your code, keep track of exceptions}
|
22
|
-
gem.description = %Q{Safely run your code in a loving error reporting embrace}
|
23
|
-
gem.email = "kenneth.kalmer@gmail.com"
|
24
|
-
gem.authors = ["Kenneth Kalmer"]
|
25
|
-
gem.version = Safely::VERSION
|
26
|
-
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
27
|
-
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
28
|
-
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
29
|
-
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
30
|
-
end
|
31
|
-
Jeweler::RubygemsDotOrgTasks.new
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
32
3
|
|
33
4
|
require 'rspec/core'
|
34
5
|
require 'rspec/core/rake_task'
|
@@ -36,11 +7,6 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
36
7
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
37
8
|
end
|
38
9
|
|
39
|
-
#RSpec::Core::RakeTask.new(:rcov) do |spec|
|
40
|
-
# spec.pattern = 'spec/**/*_spec.rb'
|
41
|
-
# spec.rcov = true
|
42
|
-
#end
|
43
|
-
|
44
10
|
task :default => :spec
|
45
11
|
|
46
12
|
require 'yard'
|
data/lib/safely/backtrace.rb
CHANGED
@@ -16,22 +16,16 @@ module Safely
|
|
16
16
|
|
17
17
|
def log_exceptions
|
18
18
|
return unless @enabled && self.trace_directory && File.directory?( self.trace_directory )
|
19
|
+
return if (last_exception = $!).nil?
|
19
20
|
|
20
21
|
require 'logger'
|
21
22
|
|
22
23
|
trace_file = File.join( self.trace_directory, "backtrace-#{Time.now.strftime('%Y%m%d%H%M%S')}-#{Process.pid}.log" )
|
23
24
|
trace_log = Logger.new( trace_file )
|
24
25
|
|
25
|
-
#
|
26
|
-
|
27
|
-
|
28
|
-
if ::Exception === o
|
29
|
-
e = o
|
30
|
-
end
|
31
|
-
}
|
32
|
-
|
33
|
-
trace_log.info "*** Below you'll find the most recent exception thrown, this will likely (but not certainly) be the exception that made #{DaemonKit.configuration.daemon_name} exit abnormally ***"
|
34
|
-
trace_log.error e
|
26
|
+
# Log the last exception
|
27
|
+
trace_log.info "*** Below you'll find the most recent exception thrown, this will likely (but not certainly) be the exception that made your application exit abnormally ***"
|
28
|
+
trace_log.error last_exception
|
35
29
|
|
36
30
|
trace_log.info "*** Below you'll find all the exception objects in memory, some of them may have been thrown in your application, others may just be in memory because they are standard exceptions ***"
|
37
31
|
ObjectSpace.each_object {|o|
|
data/lib/safely.rb
CHANGED
data/safely.gemspec
CHANGED
@@ -1,100 +1,26 @@
|
|
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 -*-
|
2
|
+
require File.expand_path('../lib/safely/version', __FILE__)
|
5
3
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Kenneth Kalmer"]
|
6
|
+
gem.email = ["kenneth.kalmer@gmail.com"]
|
7
|
+
gem.description = %q{Safely run your code in a loving error reporting embrace}
|
8
|
+
gem.summary = %q{Safely run your code, keep track of exceptions}
|
9
|
+
gem.homepage = "https://github.com/kennethkalmer/safely"
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
"LICENSE.txt",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
".rspec",
|
22
|
-
"CHANGES",
|
23
|
-
"Gemfile",
|
24
|
-
"Gemfile.lock",
|
25
|
-
"LICENSE.txt",
|
26
|
-
"README.rdoc",
|
27
|
-
"Rakefile",
|
28
|
-
"VERSION",
|
29
|
-
"lib/safely.rb",
|
30
|
-
"lib/safely/backtrace.rb",
|
31
|
-
"lib/safely/config.rb",
|
32
|
-
"lib/safely/mixin.rb",
|
33
|
-
"lib/safely/strategy.rb",
|
34
|
-
"lib/safely/strategy/hoptoad.rb",
|
35
|
-
"lib/safely/strategy/log.rb",
|
36
|
-
"lib/safely/strategy/mail.rb",
|
37
|
-
"safely.gemspec",
|
38
|
-
"spec/backtrace/safe.rb",
|
39
|
-
"spec/backtrace/unsafe.rb",
|
40
|
-
"spec/backtrace_spec.rb",
|
41
|
-
"spec/config_spec.rb",
|
42
|
-
"spec/safely_spec.rb",
|
43
|
-
"spec/spec_helper.rb",
|
44
|
-
"spec/strategies/hoptoad_spec.rb",
|
45
|
-
"spec/strategies/log_spec.rb",
|
46
|
-
"spec/strategies/mail_spec.rb",
|
47
|
-
"spec/support/fake_logger.rb"
|
48
|
-
]
|
49
|
-
s.homepage = %q{http://github.com/kennethkalmer/safely}
|
50
|
-
s.licenses = ["MIT"]
|
51
|
-
s.require_paths = ["lib"]
|
52
|
-
s.rubygems_version = %q{1.7.2}
|
53
|
-
s.summary = %q{Safely run your code, keep track of exceptions}
|
54
|
-
s.test_files = [
|
55
|
-
"spec/backtrace/safe.rb",
|
56
|
-
"spec/backtrace/unsafe.rb",
|
57
|
-
"spec/backtrace_spec.rb",
|
58
|
-
"spec/config_spec.rb",
|
59
|
-
"spec/safely_spec.rb",
|
60
|
-
"spec/spec_helper.rb",
|
61
|
-
"spec/strategies/hoptoad_spec.rb",
|
62
|
-
"spec/strategies/log_spec.rb",
|
63
|
-
"spec/strategies/mail_spec.rb",
|
64
|
-
"spec/support/fake_logger.rb"
|
65
|
-
]
|
11
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
12
|
+
gem.files = `git ls-files`.split("\n")
|
13
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
14
|
+
gem.name = "safely"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Safely.version
|
66
17
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
76
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
77
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
78
|
-
s.add_development_dependency(%q<mocha>, [">= 0"])
|
79
|
-
else
|
80
|
-
s.add_dependency(%q<toadhopper>, [">= 0"])
|
81
|
-
s.add_dependency(%q<mail>, [">= 0"])
|
82
|
-
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
83
|
-
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
84
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
85
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
86
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
87
|
-
s.add_dependency(%q<mocha>, [">= 0"])
|
88
|
-
end
|
89
|
-
else
|
90
|
-
s.add_dependency(%q<toadhopper>, [">= 0"])
|
91
|
-
s.add_dependency(%q<mail>, [">= 0"])
|
92
|
-
s.add_dependency(%q<rspec>, ["~> 2.5.0"])
|
93
|
-
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
94
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
95
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
96
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
97
|
-
s.add_dependency(%q<mocha>, [">= 0"])
|
98
|
-
end
|
18
|
+
gem.add_development_dependency(%q<bundler>)
|
19
|
+
gem.add_development_dependency(%q<rake>)
|
20
|
+
gem.add_development_dependency(%q<toadhopper>, [">= 0"])
|
21
|
+
gem.add_development_dependency(%q<mail>, [">= 0"])
|
22
|
+
gem.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
|
23
|
+
gem.add_development_dependency(%q<yard>, ["~> 0.6.0"])
|
24
|
+
gem.add_development_dependency(%q<rcov>, [">= 0"])
|
25
|
+
gem.add_development_dependency(%q<mocha>, [">= 0"])
|
99
26
|
end
|
100
|
-
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safely
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 1
|
10
|
+
version: 0.3.1
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Kenneth Kalmer
|
@@ -10,107 +15,136 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2011-
|
18
|
+
date: 2011-10-30 00:00:00 Z
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
|
-
|
17
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
18
22
|
none: false
|
19
23
|
requirements:
|
20
24
|
- - ">="
|
21
25
|
- !ruby/object:Gem::Version
|
26
|
+
hash: 3
|
27
|
+
segments:
|
28
|
+
- 0
|
22
29
|
version: "0"
|
23
|
-
type: :development
|
24
30
|
prerelease: false
|
25
|
-
|
31
|
+
requirement: *id001
|
32
|
+
type: :development
|
33
|
+
name: bundler
|
26
34
|
- !ruby/object:Gem::Dependency
|
27
|
-
|
28
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
35
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
29
36
|
none: false
|
30
37
|
requirements:
|
31
38
|
- - ">="
|
32
39
|
- !ruby/object:Gem::Version
|
40
|
+
hash: 3
|
41
|
+
segments:
|
42
|
+
- 0
|
33
43
|
version: "0"
|
34
|
-
type: :development
|
35
44
|
prerelease: false
|
36
|
-
|
45
|
+
requirement: *id002
|
46
|
+
type: :development
|
47
|
+
name: rake
|
37
48
|
- !ruby/object:Gem::Dependency
|
38
|
-
|
39
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
49
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
|
-
- -
|
52
|
+
- - ">="
|
43
53
|
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
|
54
|
+
hash: 3
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
version: "0"
|
46
58
|
prerelease: false
|
47
|
-
|
59
|
+
requirement: *id003
|
60
|
+
type: :development
|
61
|
+
name: toadhopper
|
48
62
|
- !ruby/object:Gem::Dependency
|
49
|
-
|
50
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
63
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
51
64
|
none: false
|
52
65
|
requirements:
|
53
|
-
- -
|
66
|
+
- - ">="
|
54
67
|
- !ruby/object:Gem::Version
|
55
|
-
|
56
|
-
|
68
|
+
hash: 3
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
version: "0"
|
57
72
|
prerelease: false
|
58
|
-
|
73
|
+
requirement: *id004
|
74
|
+
type: :development
|
75
|
+
name: mail
|
59
76
|
- !ruby/object:Gem::Dependency
|
60
|
-
|
61
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
77
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
62
78
|
none: false
|
63
79
|
requirements:
|
64
80
|
- - ~>
|
65
81
|
- !ruby/object:Gem::Version
|
66
|
-
|
67
|
-
|
82
|
+
hash: 27
|
83
|
+
segments:
|
84
|
+
- 2
|
85
|
+
- 5
|
86
|
+
- 0
|
87
|
+
version: 2.5.0
|
68
88
|
prerelease: false
|
69
|
-
|
89
|
+
requirement: *id005
|
90
|
+
type: :development
|
91
|
+
name: rspec
|
70
92
|
- !ruby/object:Gem::Dependency
|
71
|
-
|
72
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
93
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
73
94
|
none: false
|
74
95
|
requirements:
|
75
96
|
- - ~>
|
76
97
|
- !ruby/object:Gem::Version
|
77
|
-
|
78
|
-
|
98
|
+
hash: 7
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
- 6
|
102
|
+
- 0
|
103
|
+
version: 0.6.0
|
79
104
|
prerelease: false
|
80
|
-
|
105
|
+
requirement: *id006
|
106
|
+
type: :development
|
107
|
+
name: yard
|
81
108
|
- !ruby/object:Gem::Dependency
|
82
|
-
|
83
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
109
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
84
110
|
none: false
|
85
111
|
requirements:
|
86
112
|
- - ">="
|
87
113
|
- !ruby/object:Gem::Version
|
114
|
+
hash: 3
|
115
|
+
segments:
|
116
|
+
- 0
|
88
117
|
version: "0"
|
89
|
-
type: :development
|
90
118
|
prerelease: false
|
91
|
-
|
119
|
+
requirement: *id007
|
120
|
+
type: :development
|
121
|
+
name: rcov
|
92
122
|
- !ruby/object:Gem::Dependency
|
93
|
-
|
94
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
123
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
95
124
|
none: false
|
96
125
|
requirements:
|
97
126
|
- - ">="
|
98
127
|
- !ruby/object:Gem::Version
|
128
|
+
hash: 3
|
129
|
+
segments:
|
130
|
+
- 0
|
99
131
|
version: "0"
|
100
|
-
type: :development
|
101
132
|
prerelease: false
|
102
|
-
|
133
|
+
requirement: *id008
|
134
|
+
type: :development
|
135
|
+
name: mocha
|
103
136
|
description: Safely run your code in a loving error reporting embrace
|
104
|
-
email:
|
137
|
+
email:
|
138
|
+
- kenneth.kalmer@gmail.com
|
105
139
|
executables: []
|
106
140
|
|
107
141
|
extensions: []
|
108
142
|
|
109
|
-
extra_rdoc_files:
|
110
|
-
|
111
|
-
- README.rdoc
|
143
|
+
extra_rdoc_files: []
|
144
|
+
|
112
145
|
files:
|
113
146
|
- .document
|
147
|
+
- .gitignore
|
114
148
|
- .rspec
|
115
149
|
- CHANGES
|
116
150
|
- Gemfile
|
@@ -118,7 +152,7 @@ files:
|
|
118
152
|
- LICENSE.txt
|
119
153
|
- README.rdoc
|
120
154
|
- Rakefile
|
121
|
-
-
|
155
|
+
- examples/backtrace.rb
|
122
156
|
- lib/safely.rb
|
123
157
|
- lib/safely/backtrace.rb
|
124
158
|
- lib/safely/config.rb
|
@@ -127,6 +161,7 @@ files:
|
|
127
161
|
- lib/safely/strategy/hoptoad.rb
|
128
162
|
- lib/safely/strategy/log.rb
|
129
163
|
- lib/safely/strategy/mail.rb
|
164
|
+
- lib/safely/version.rb
|
130
165
|
- safely.gemspec
|
131
166
|
- spec/backtrace/safe.rb
|
132
167
|
- spec/backtrace/unsafe.rb
|
@@ -138,9 +173,9 @@ files:
|
|
138
173
|
- spec/strategies/log_spec.rb
|
139
174
|
- spec/strategies/mail_spec.rb
|
140
175
|
- spec/support/fake_logger.rb
|
141
|
-
homepage:
|
142
|
-
licenses:
|
143
|
-
|
176
|
+
homepage: https://github.com/kennethkalmer/safely
|
177
|
+
licenses: []
|
178
|
+
|
144
179
|
post_install_message:
|
145
180
|
rdoc_options: []
|
146
181
|
|
@@ -151,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
186
|
requirements:
|
152
187
|
- - ">="
|
153
188
|
- !ruby/object:Gem::Version
|
154
|
-
hash:
|
189
|
+
hash: 3
|
155
190
|
segments:
|
156
191
|
- 0
|
157
192
|
version: "0"
|
@@ -160,22 +195,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
195
|
requirements:
|
161
196
|
- - ">="
|
162
197
|
- !ruby/object:Gem::Version
|
198
|
+
hash: 3
|
199
|
+
segments:
|
200
|
+
- 0
|
163
201
|
version: "0"
|
164
202
|
requirements: []
|
165
203
|
|
166
204
|
rubyforge_project:
|
167
|
-
rubygems_version: 1.
|
205
|
+
rubygems_version: 1.8.11
|
168
206
|
signing_key:
|
169
207
|
specification_version: 3
|
170
208
|
summary: Safely run your code, keep track of exceptions
|
171
|
-
test_files:
|
172
|
-
|
173
|
-
- spec/backtrace/unsafe.rb
|
174
|
-
- spec/backtrace_spec.rb
|
175
|
-
- spec/config_spec.rb
|
176
|
-
- spec/safely_spec.rb
|
177
|
-
- spec/spec_helper.rb
|
178
|
-
- spec/strategies/hoptoad_spec.rb
|
179
|
-
- spec/strategies/log_spec.rb
|
180
|
-
- spec/strategies/mail_spec.rb
|
181
|
-
- spec/support/fake_logger.rb
|
209
|
+
test_files: []
|
210
|
+
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.1.0
|