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 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