entraceable 0.1.4 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4299184285aed4622254778f520b24dc0f74b337
4
- data.tar.gz: be89e7838409359cb27f2248255f781637821eeb
3
+ metadata.gz: 3319743764d1749e083170ace3cf2e86c36e19cf
4
+ data.tar.gz: ea9fadd38d7e3e800819dc149a78740f8f7332a0
5
5
  SHA512:
6
- metadata.gz: d8a8cf332e58b9b20fa45ba415b49590a860f03028af6b30b7b1951912380b6ca7d4d8d4c734efa8b782bf6e4809418107405aee343a2baa3109f62402665141
7
- data.tar.gz: c9ab6fe3d106902fd8baed7f97724b0c38ee2d90b7ad92bb14d002b4d50cc8c468af7a7494c0ea936253f456665cc5af675073fcd2ae53380cef71ccc7fe4118
6
+ metadata.gz: 79bf32651952e6511b58937d508eeb9e8c2f55213c919cf131138fc437194aa93be75e29cca1996d4d6906364509dc6fb9703d4da1f520127ea1f9d23184b0c7
7
+ data.tar.gz: ebfe2c4187c98ada25e48bdb7adca5a263ab099df34d981c7fde9b70f66b3e2e316b6b4ccda1cc9b63e08a9ae3aac5f38a5e29ef3a73b7373a6a5c6b0e8ce8d2
data/README.md CHANGED
@@ -36,7 +36,7 @@ To make it garrulous:
36
36
  require 'entraceable'
37
37
 
38
38
  class Example
39
- entraceable :add, tag: :TRACE, level: :debug
39
+ entraceable :add
40
40
  end
41
41
  ```
42
42
 
@@ -48,6 +48,46 @@ class Example
48
48
  end
49
49
  ```
50
50
 
51
+ ### Tag and Level
52
+
53
+ Tag and level are available:
54
+
55
+ ```ruby
56
+ class Example
57
+ entraceable :add, tag: "Example"
58
+ entraceable :add, level: :warn
59
+ end
60
+ ```
61
+
62
+ ### Enable, or disable, all entracabled things
63
+
64
+ Entraceable is enabled only for development environment.
65
+ To enable for production environment:
66
+
67
+ ```ruby
68
+ Entraceable.enable
69
+ ```
70
+
71
+ To disable:
72
+
73
+ ```ruby
74
+ Entraceable.disable
75
+ ```
76
+
77
+ ### Preference
78
+
79
+ Entraceable is able to be configured also like below:
80
+
81
+ ```ruby
82
+ class MyEntraceablePreference < Entraceable::Preference
83
+ def enabled?
84
+ # fetch a column from your database
85
+ end
86
+ end
87
+
88
+ Entraceable.preference = MyEntraceablePreference.new
89
+ ```
90
+
51
91
  ## Development
52
92
 
53
93
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -1,3 +1,3 @@
1
1
  module Entraceable
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
data/lib/entraceable.rb CHANGED
@@ -1,23 +1,30 @@
1
1
  require "entraceable/version"
2
- require "rails"
2
+ require "entraceable_preference"
3
3
 
4
4
  module Entraceable
5
- @default_level = :debug
6
- @enabled = Rails.env.development?
5
+ @preference = Preference.new
7
6
 
8
7
  class << self
9
- attr_accessor :default_level
8
+ attr_accessor :preference
9
+
10
+ def default_level
11
+ preference.default_level
12
+ end
13
+
14
+ def default_level=(default_level)
15
+ preference.default_level = default_level
16
+ end
10
17
 
11
18
  def disable
12
- @enabled = false
19
+ preference.disable
13
20
  end
14
21
 
15
22
  def enable
16
- @enabled = true
23
+ preference.enable
17
24
  end
18
25
 
19
26
  def enabled?
20
- @enabled
27
+ preference.enabled?
21
28
  end
22
29
 
23
30
  def logger
@@ -0,0 +1,24 @@
1
+ require 'rails'
2
+
3
+ module Entraceable
4
+ class Preference
5
+ attr_accessor :default_level
6
+
7
+ def initialize
8
+ @default_level = :debug
9
+ @enabled = Rails.env.development?
10
+ end
11
+
12
+ def disable
13
+ @enabled = false
14
+ end
15
+
16
+ def enable
17
+ @enabled = true
18
+ end
19
+
20
+ def enabled?
21
+ @enabled
22
+ end
23
+ end
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: entraceable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
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-31 00:00:00.000000000 Z
11
+ date: 2017-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,6 +86,7 @@ files:
86
86
  - entraceable.gemspec
87
87
  - lib/entraceable.rb
88
88
  - lib/entraceable/version.rb
89
+ - lib/entraceable_preference.rb
89
90
  homepage: https://github.com/kei-g/entraceable
90
91
  licenses:
91
92
  - 3-Clause BSD