l2meter 0.1.1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 15213d02129fd57eaac81b808c9e568538827e16
4
- data.tar.gz: 110cf2c6e0bb6a123a07dbf4886caac80de50205
3
+ metadata.gz: 0868502cf903eb7f449e62707f784efb2f994b58
4
+ data.tar.gz: 8baf6a348d967c4b61ef8220ae0a1f8a56ec9cd9
5
5
  SHA512:
6
- metadata.gz: cd4581d8f1e118e6ed77f29c2d8a56f1004568a61d4da047d95cc4c86ea3387c32d0dd5cc14978668b619e900cc386f581fb3f62b512f37b83eba74e4b016cf0
7
- data.tar.gz: d87922d849a2d98f63557722c815798e119c890cd96b617bce93a2be02ae71cea8ccf75533010b0a89dd8182a0c61117eb3d4fca79cb320b05d9a43e4b01a5f4
6
+ metadata.gz: 9adac799a0be2ed07cbf0440e85bba82275e7ecb714488bfd673f28bebc8f516371a6473aa9ea28e611a5187ca0bc922b748beec15f655ba1876af3e889994ed
7
+ data.tar.gz: e5eafd660c8d9edb3d4f5c34c653ef0a28d9ad96b77d0b9cec243bd401d681a6cda18ad61406f453df7ace2d035a1d5d351347323ead781a24964f8fdd44c3b3
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # L2meter
2
2
  [![Gem Version](https://img.shields.io/gem/v/l2meter.svg)](https://rubygems.org/gems/l2meter)
3
- [![Build Status](https://img.shields.io/travis/heroku/l2meter.svg)](http://travis-ci.org/heroku/l2meter)
4
- [![Code Climate](https://img.shields.io/codeclimate/github/heroku/l2meter.svg)](https://codeclimate.com/github/heroku/l2meter)
3
+ [![Build Status](https://img.shields.io/travis/rwz/l2meter.svg)](http://travis-ci.org/rwz/l2meter)
4
+ [![Code Climate](https://img.shields.io/codeclimate/github/rwz/l2meter.svg)](https://codeclimate.com/github/rwz/l2meter)
5
5
 
6
6
  L2meter is a little gem that helps you build loggers that outputs things in
7
7
  l2met-friendly format.
@@ -208,12 +208,10 @@ end
208
208
  ```
209
209
 
210
210
  Note that this code will only silence logger in the current thread. It'll
211
- still produce ouput if you fire up a new thread. To silcene it completely,
212
- use `silence!` method, like so:
211
+ still produce ouput if you fire up a new thread. To silence it completely,
212
+ use `disable!` method, like so:
213
213
 
214
214
  ```ruby
215
215
  # spec/spec_helper.rb
216
- Metrics.silence!
216
+ Metrics.disable!
217
217
  ```
218
-
219
- You can unfo the effect of `silence!` by calling `unsilence!`.
@@ -1,5 +1,7 @@
1
1
  module L2meter
2
2
  class NullObject
3
- def method_missing(*); end
3
+ def method_missing(*)
4
+ yield if block_given?
5
+ end
4
6
  end
5
7
  end
@@ -6,7 +6,7 @@ module L2meter
6
6
  class ThreadSafe
7
7
  extend Forwardable
8
8
 
9
- PROXY_CLONE_METHODS = %i[
9
+ EMITTER_METHODS = %i[
10
10
  configuration
11
11
  context
12
12
  count
@@ -14,32 +14,40 @@ module L2meter
14
14
  measure
15
15
  sample
16
16
  silence
17
- unique
18
- with_elapsed
19
- ]
20
-
21
- PROXY_DIRECT_METHODS = %i[
22
17
  silence!
18
+ unique
23
19
  unsilence!
20
+ with_elapsed
24
21
  ]
25
22
 
26
- private_constant :PROXY_CLONE_METHODS, :PROXY_DIRECT_METHODS
23
+ private_constant :EMITTER_METHODS
27
24
 
28
25
  def initialize(emitter)
29
26
  @emitter = emitter.freeze
30
27
  end
31
28
 
32
- def_delegators :current_emitter, *PROXY_CLONE_METHODS
33
- def_delegators :emitter, *PROXY_DIRECT_METHODS
29
+ def_delegators :receiver, *EMITTER_METHODS
30
+
31
+ def disable!
32
+ @disabled = true
33
+ end
34
34
 
35
35
  private
36
36
 
37
37
  attr_reader :emitter
38
38
 
39
+ def receiver
40
+ @disabled ? null_emitter : current_emitter
41
+ end
42
+
39
43
  def current_emitter
40
44
  Thread.current[thread_key] ||= emitter.clone
41
45
  end
42
46
 
47
+ def null_emitter
48
+ @null_emitter ||= NullObject.new
49
+ end
50
+
43
51
  def thread_key
44
52
  @thread_key ||= "_l2meter_emitter_#{emitter.object_id}".freeze
45
53
  end
@@ -1,3 +1,3 @@
1
1
  module L2meter
2
- VERSION = "0.1.1".freeze
2
+ VERSION = "0.2.1".freeze
3
3
  end
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l2meter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Pravosud
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-21 00:00:00.000000000 Z
11
+ date: 2015-10-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
15
- - pavel@heroku.com
15
+ - pavel@pravosud.com
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
@@ -25,7 +25,7 @@ files:
25
25
  - lib/l2meter/null_object.rb
26
26
  - lib/l2meter/thread_safe.rb
27
27
  - lib/l2meter/version.rb
28
- homepage: https://github.com/heroku/l2meter
28
+ homepage: https://github.com/rwz/l2meter
29
29
  licenses:
30
30
  - MIT
31
31
  metadata: {}