safely 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile CHANGED
@@ -1,19 +1,4 @@
1
- source "http://rubygems.org"
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
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
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 (~> 1.0.0)
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
- require 'rubygems'
2
- require 'bundler'
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'
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "safely"
4
+
5
+ log_dir = "/tmp"
6
+ Safely::Backtrace.trace_directory = log_dir
7
+ Safely::Backtrace.enable!
8
+
9
+ raise RuntimeError.new("Have a peek in #{log_dir}")
@@ -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
- # Find the last exception
26
- e = nil
27
- ObjectSpace.each_object {|o|
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|
@@ -0,0 +1,7 @@
1
+ module Safely
2
+
3
+ def version
4
+ "0.3.1"
5
+ end
6
+ module_function :version
7
+ end
data/lib/safely.rb CHANGED
@@ -1,9 +1,7 @@
1
- $:.unshift File.expand_path('../', __FILE__)
1
+ require "safely/version"
2
2
 
3
3
  module Safely
4
4
 
5
- VERSION = "0.3.0"
6
-
7
5
  autoload :Backtrace, 'safely/backtrace'
8
6
  autoload :Config, 'safely/config'
9
7
  autoload :Mixin, 'safely/mixin'
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 |s|
7
- s.name = %q{safely}
8
- s.version = "0.3.0"
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
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Kenneth Kalmer"]
12
- s.date = %q{2011-05-07}
13
- s.description = %q{Safely run your code in a loving error reporting embrace}
14
- s.email = %q{kenneth.kalmer@gmail.com}
15
- s.extra_rdoc_files = [
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
- if s.respond_to? :specification_version then
68
- s.specification_version = 3
69
-
70
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
71
- s.add_development_dependency(%q<toadhopper>, [">= 0"])
72
- s.add_development_dependency(%q<mail>, [">= 0"])
73
- s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
74
- s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
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
- version: 0.3.0
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-05-07 00:00:00 Z
18
+ date: 2011-10-30 00:00:00 Z
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
- name: toadhopper
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
- version_requirements: *id001
31
+ requirement: *id001
32
+ type: :development
33
+ name: bundler
26
34
  - !ruby/object:Gem::Dependency
27
- name: mail
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
- version_requirements: *id002
45
+ requirement: *id002
46
+ type: :development
47
+ name: rake
37
48
  - !ruby/object:Gem::Dependency
38
- name: rspec
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
- version: 2.5.0
45
- type: :development
54
+ hash: 3
55
+ segments:
56
+ - 0
57
+ version: "0"
46
58
  prerelease: false
47
- version_requirements: *id003
59
+ requirement: *id003
60
+ type: :development
61
+ name: toadhopper
48
62
  - !ruby/object:Gem::Dependency
49
- name: yard
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
- version: 0.6.0
56
- type: :development
68
+ hash: 3
69
+ segments:
70
+ - 0
71
+ version: "0"
57
72
  prerelease: false
58
- version_requirements: *id004
73
+ requirement: *id004
74
+ type: :development
75
+ name: mail
59
76
  - !ruby/object:Gem::Dependency
60
- name: bundler
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
- version: 1.0.0
67
- type: :development
82
+ hash: 27
83
+ segments:
84
+ - 2
85
+ - 5
86
+ - 0
87
+ version: 2.5.0
68
88
  prerelease: false
69
- version_requirements: *id005
89
+ requirement: *id005
90
+ type: :development
91
+ name: rspec
70
92
  - !ruby/object:Gem::Dependency
71
- name: jeweler
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
- version: 1.5.2
78
- type: :development
98
+ hash: 7
99
+ segments:
100
+ - 0
101
+ - 6
102
+ - 0
103
+ version: 0.6.0
79
104
  prerelease: false
80
- version_requirements: *id006
105
+ requirement: *id006
106
+ type: :development
107
+ name: yard
81
108
  - !ruby/object:Gem::Dependency
82
- name: rcov
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
- version_requirements: *id007
119
+ requirement: *id007
120
+ type: :development
121
+ name: rcov
92
122
  - !ruby/object:Gem::Dependency
93
- name: mocha
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
- version_requirements: *id008
133
+ requirement: *id008
134
+ type: :development
135
+ name: mocha
103
136
  description: Safely run your code in a loving error reporting embrace
104
- email: kenneth.kalmer@gmail.com
137
+ email:
138
+ - kenneth.kalmer@gmail.com
105
139
  executables: []
106
140
 
107
141
  extensions: []
108
142
 
109
- extra_rdoc_files:
110
- - LICENSE.txt
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
- - VERSION
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: http://github.com/kennethkalmer/safely
142
- licenses:
143
- - MIT
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: -1107195766842142569
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.7.2
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
- - spec/backtrace/safe.rb
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