plus_log 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/lib/plus_log.rb +39 -0
- metadata +43 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YjAzZjgyYzEwNzMxYzNiMjc2ODY1Nzg0OGM0MjExOTE1MzdlZTM0ZA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NzM0MWYzZDFiY2VkMGNlYzU1NTI1OWYxMzkyOTIzZWVmYWM5MTY3Yw==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZWNlYzUwNTI5ZTdiZjExN2E5MzhlZDExOTYxNWQ2ZjVkMjczMjk1ZTA3MmQ1
|
10
|
+
MWZjNDVmZjRlODk3ZDJjMDA0MTRjNTFiMTI1YTlmNGYxOTkxOTJkMjI0M2M3
|
11
|
+
ZjMwMzJjMDhkMzYyOGMxZGI3YzRmOWFlNTNkMjc4MzczYTdkNTI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NGJkYTY2YzFhNmU4YjZhMzZkNjU3MGRlNDBhMjZmMjUwMDc3MGMxMThlYzA5
|
14
|
+
MzU1NTA3NDRlMzMwNjQzYjZhZDM1NzEwNWNlYTNhZjUwMTEzZmZjODdhNzBl
|
15
|
+
M2Q4ZTYyNjMyODY0OGIzZmViYThkOTlhYWE3MWNiOGRlMTAzNDI=
|
data/lib/plus_log.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
module Collector
|
2
|
+
class Object
|
3
|
+
def self.method_added(name)
|
4
|
+
Thread.current[:method] = [self, name]
|
5
|
+
super
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def nil.+@
|
10
|
+
klass, name = Thread.current[:method]
|
11
|
+
method = klass.instance_method(name)
|
12
|
+
klass.send(:define_method, name) do |*args, &block|
|
13
|
+
Collector.log "enter #{name}"
|
14
|
+
res = Collector.new { method.bind(self).call(*args, &block) }
|
15
|
+
Collector.log "exit #{name}"
|
16
|
+
res
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class Plus_log
|
21
|
+
def self.get_pretty_trace(thread = Thread.current)
|
22
|
+
thread[:log_buffer]
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.log(string)
|
26
|
+
Thread.current[:log_buffer] ||= ""
|
27
|
+
depth = Thread.current[:depth] || 0
|
28
|
+
Thread.current[:log_buffer] += "#{'| ' * depth}#{string} [#{Time.now}]\n"
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.new(&block)
|
32
|
+
Thread.current[:depth] ||= 0
|
33
|
+
Thread.current[:depth] += 1
|
34
|
+
res = block.call
|
35
|
+
Thread.current[:depth] -= 1
|
36
|
+
res
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
metadata
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: plus_log
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alexander Sh
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-09-29 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
14
|
+
email: iskender1990@yandex.ru
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/plus_log.rb
|
20
|
+
homepage:
|
21
|
+
licenses: []
|
22
|
+
metadata: {}
|
23
|
+
post_install_message:
|
24
|
+
rdoc_options: []
|
25
|
+
require_paths:
|
26
|
+
- lib
|
27
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ! '>='
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0'
|
32
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ! '>='
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
requirements: []
|
38
|
+
rubyforge_project:
|
39
|
+
rubygems_version: 2.1.5
|
40
|
+
signing_key:
|
41
|
+
specification_version: 4
|
42
|
+
summary: plus_log
|
43
|
+
test_files: []
|