entraceable 0.1.3 → 0.1.4
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.
- checksums.yaml +4 -4
- data/entraceable.gemspec +6 -4
- data/lib/entraceable/version.rb +1 -1
- data/lib/entraceable.rb +33 -4
- metadata +30 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4299184285aed4622254778f520b24dc0f74b337
|
|
4
|
+
data.tar.gz: be89e7838409359cb27f2248255f781637821eeb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d8a8cf332e58b9b20fa45ba415b49590a860f03028af6b30b7b1951912380b6ca7d4d8d4c734efa8b782bf6e4809418107405aee343a2baa3109f62402665141
|
|
7
|
+
data.tar.gz: c9ab6fe3d106902fd8baed7f97724b0c38ee2d90b7ad92bb14d002b4d50cc8c468af7a7494c0ea936253f456665cc5af675073fcd2ae53380cef71ccc7fe4118
|
data/entraceable.gemspec
CHANGED
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
|
9
9
|
spec.authors = ["Keiji Yoshida"]
|
|
10
10
|
|
|
11
11
|
spec.summary = %q{Make your methods garrulous.}
|
|
12
|
-
spec.description = %q{Make your
|
|
12
|
+
spec.description = %q{Make your method puts its actual arguments and return value using Rails logger.}
|
|
13
13
|
spec.homepage = "https://github.com/kei-g/entraceable"
|
|
14
14
|
spec.license = "3-Clause BSD"
|
|
15
15
|
|
|
@@ -20,7 +20,9 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
21
|
spec.require_paths = ["lib"]
|
|
22
22
|
|
|
23
|
-
spec.add_development_dependency "bundler"
|
|
24
|
-
spec.add_development_dependency "rake"
|
|
25
|
-
spec.add_development_dependency "rspec"
|
|
23
|
+
spec.add_development_dependency "bundler"
|
|
24
|
+
spec.add_development_dependency "rake"
|
|
25
|
+
spec.add_development_dependency "rspec"
|
|
26
|
+
|
|
27
|
+
spec.add_runtime_dependency "rails"
|
|
26
28
|
end
|
data/lib/entraceable/version.rb
CHANGED
data/lib/entraceable.rb
CHANGED
|
@@ -1,13 +1,42 @@
|
|
|
1
1
|
require "entraceable/version"
|
|
2
|
+
require "rails"
|
|
2
3
|
|
|
3
4
|
module Entraceable
|
|
4
|
-
|
|
5
|
+
@default_level = :debug
|
|
6
|
+
@enabled = Rails.env.development?
|
|
7
|
+
|
|
8
|
+
class << self
|
|
9
|
+
attr_accessor :default_level
|
|
10
|
+
|
|
11
|
+
def disable
|
|
12
|
+
@enabled = false
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def enable
|
|
16
|
+
@enabled = true
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def enabled?
|
|
20
|
+
@enabled
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def logger
|
|
24
|
+
@logger ||= Rails.logger
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def logger=(arg)
|
|
28
|
+
@logger = arg
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def entraceable(method, tag: nil, level: nil)
|
|
5
33
|
alias_name = alias_name_for method
|
|
6
|
-
class_eval <<-EOS
|
|
34
|
+
class_eval <<-EOS
|
|
7
35
|
alias_method :#{alias_name}, :#{method}
|
|
8
36
|
def #{method}(*args)
|
|
9
37
|
indent = " " * ((@indent_level ||= 0) * 2)
|
|
10
|
-
|
|
38
|
+
level = (#{level.inspect} || Entraceable.default_level).intern
|
|
39
|
+
puts = ->c{Entraceable.logger.tagged(%Q(#{tag})) {Entraceable.logger.send level, indent + c} if Entraceable.enabled?}
|
|
11
40
|
puts.call %Q(#{method} is called with arguments, \#\{args.map(&:inspect).join(", ")\})
|
|
12
41
|
@indent_level += 1
|
|
13
42
|
begin
|
|
@@ -21,7 +50,7 @@ module Entraceable
|
|
|
21
50
|
|
|
22
51
|
def distraceable(method)
|
|
23
52
|
alias_name = alias_name_for method
|
|
24
|
-
class_eval <<-EOS
|
|
53
|
+
class_eval <<-EOS
|
|
25
54
|
remove_method :#{method}
|
|
26
55
|
alias_method :#{method}, :#{alias_name}
|
|
27
56
|
remove_method :#{alias_name}
|
metadata
CHANGED
|
@@ -1,59 +1,73 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: entraceable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Keiji Yoshida
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-03-
|
|
11
|
+
date: 2017-03-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rails
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
description: Make your method puts its actual arguments and return value using Rails
|
|
70
|
+
logger.
|
|
57
71
|
email:
|
|
58
72
|
executables: []
|
|
59
73
|
extensions: []
|