prepor-ologger 0.1.3 → 0.1.5

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/Readme.rdoc CHANGED
@@ -16,11 +16,23 @@
16
16
 
17
17
  # Configs
18
18
  OLogger.path = Pathname('log/ologs')
19
+ OLogger.on_raise = lambda { |e| send_to_email(e) }
20
+
21
+
19
22
 
20
23
  # In objects
21
24
  def start!(character)
22
25
  ologger "Starting project", character
23
26
  end
27
+
28
+ # For raise exceptions to object log
29
+ class A
30
+ # definitions
31
+
32
+ # AFTER definition
33
+ include OLogger::Raiser
34
+ end
35
+
24
36
 
25
37
 
26
38
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.5
@@ -1,20 +1,18 @@
1
- class StandardError
2
- attr_accessor :obj
3
- end
4
- module Kernel
5
- def ologger_raise(*argv)
6
- if Thread.current[:ologger_raiser]
7
- argv.each do |e|
8
- e.obj = self if e.is_a?(StandardError)
1
+ module OLogger
2
+ module Raiser
3
+ def self.included(base)
4
+ base.instance_methods.each do |m|
5
+ unless m =~ /^__|instance_eval|=|`/
6
+ base.class_eval %Q{def with_ologger_#{m}(*args, &block)
7
+ Thread.current[:ologger_raiser] = self
8
+ without_ologger_#{m}(*args, &block)
9
+ end
10
+ }
11
+ base.send :alias_method, :"without_ologger_#{m}", m
12
+ base.send :alias_method, m, :"with_ologger_#{m}"
13
+ end
9
14
  end
10
- ologger_old_raise(*argv)
11
- else
12
- ologger_old_raise(*argv)
13
15
  end
14
16
  end
15
-
16
- alias_method :ologger_old_raise, :raise
17
- alias_method :raise, :ologger_raise
18
-
19
17
  end
20
18
 
data/lib/ologger.rb CHANGED
@@ -61,7 +61,7 @@ module OLogger
61
61
 
62
62
  def get_logs(log_module)
63
63
  path = OLogger.path + log_module
64
- path.entries.select { |v| not_self_and_parent v }.map{ |v| v.to_s.gsub /\.log$/, '' }
64
+ path.entries.select { |v| not_self_and_parent v }.map{ |v| v.to_s.gsub(/\.log$/, '') }
65
65
  end
66
66
 
67
67
  def parse_log_id(log_id)
@@ -86,17 +86,29 @@ module OLogger
86
86
 
87
87
  def enable(&block)
88
88
  buffer.flush
89
- Thread.current[:ologger_raiser] = true
90
89
  begin
91
90
  yield
92
91
  rescue StandardError => e
93
- e.obj.ologger "Exception:", :objs => [e, e.backtrace]
94
- on_raise.call(e) if on_raise && on_raise.is_a?(Proc)
92
+ Thread.current[:ologger_raiser].ologger "Exception:", :objs => [e, e.backtrace] if Thread.current[:ologger_raiser]
93
+ if on_raise && on_raise.is_a?(Proc)
94
+ on_raise.call(e)
95
+ else
96
+ raise e
97
+ end
95
98
  ensure
96
- Thread.current[:ologger_raiser] = false
99
+ Thread.current[:ologger_raiser] = nil
97
100
  buffer.write
98
- end
101
+ end
99
102
  end
103
+
104
+ #def exception_message(e)
105
+ #params = { :objs => [e, e.backtrace] }
106
+ #if Thread.current[:ologger_raiser]
107
+ #params[:ologger_module] = Thread.current[:ologger_raiser].ologger_module
108
+ #params[:ologger_id] = Thread.current[:ologger_raiser].ologger_id
109
+ #end
110
+ #params
111
+ #end
100
112
 
101
113
  def filter(controller, &block)
102
114
  enable(&block)
data/ologger.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ologger}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Rudenko"]
12
- s.date = %q{2009-09-14}
12
+ s.date = %q{2009-09-20}
13
13
  s.default_executable = %q{ologger}
14
14
  s.description = %q{}
15
15
  s.email = %q{ceo@prepor.ru}
@@ -27,7 +27,6 @@ Gem::Specification.new do |s|
27
27
  "lib/ologger/parser.rb",
28
28
  "lib/ologger/raise_patch.rb",
29
29
  "lib/ologger/tags",
30
- "memory",
31
30
  "ologger.gemspec",
32
31
  "test/test.rb",
33
32
  "test/test_helper.rb"
data/test/test.rb CHANGED
@@ -42,11 +42,20 @@ describe OLogger do
42
42
  @obj.ologger 'hi!', @ar_obj
43
43
  end
44
44
 
45
- it "should raise exceptions" do
46
- mock(OLogger.buffer).add(hash_including(:message => "Exception:"))
45
+ #it "should raise exceptions" do
46
+ #mock(OLogger.buffer).add(hash_including(:message => "Exception:"))
47
+ #OLogger.enable do
48
+ #Foo.find(10)
49
+ #end
50
+ #end
51
+
52
+ it "should raise exceptions on right level" do
53
+ OLogger.on_raise = lambda { |e| 0 }
54
+ mock(OLogger.buffer).add(hash_including(:message => "Exception:", :logger_module => 'test', :logger_id => 'test'))
47
55
  OLogger.enable do
48
- Foo.find(10)
56
+ A.new.foo
49
57
  end
58
+
50
59
  end
51
60
 
52
61
  describe "writing" do
data/test/test_helper.rb CHANGED
@@ -21,4 +21,24 @@ Artester.def :game_logger do
21
21
  t.string :bar
22
22
  end
23
23
  end
24
- end
24
+ end
25
+
26
+ class A
27
+ def foo
28
+ B.new.bar
29
+ end
30
+
31
+ def ologger_module
32
+ 'test'
33
+ end
34
+ def ologger_id
35
+ 'test'
36
+ end
37
+ include OLogger::Raiser
38
+ end
39
+
40
+ class B
41
+ def bar
42
+ raise 'hehe'
43
+ end
44
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prepor-ologger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Rudenko
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-14 00:00:00 -07:00
12
+ date: 2009-09-20 00:00:00 -07:00
13
13
  default_executable: ologger
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -53,12 +53,12 @@ files:
53
53
  - lib/ologger/parser.rb
54
54
  - lib/ologger/raise_patch.rb
55
55
  - lib/ologger/tags
56
- - memory
57
56
  - ologger.gemspec
58
57
  - test/test.rb
59
58
  - test/test_helper.rb
60
59
  has_rdoc: false
61
60
  homepage: http://github.com/prepor/olog
61
+ licenses:
62
62
  post_install_message:
63
63
  rdoc_options:
64
64
  - --charset=UTF-8
@@ -79,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  requirements: []
80
80
 
81
81
  rubyforge_project:
82
- rubygems_version: 1.2.0
82
+ rubygems_version: 1.3.5
83
83
  signing_key:
84
84
  specification_version: 3
85
85
  summary: Object separated logs
data/memory DELETED
Binary file