simple_monitor 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -50,7 +50,7 @@ monitor = HighJobMonitor.new(:job_count_threshold => 99)
50
50
  monitor.check
51
51
  ```
52
52
 
53
- For a typical application, it could be desireable to define an
53
+ For a typical application, it could be desirable to define an
54
54
  AppMonitor class with a default send_alert method, and have your
55
55
  individual monitor classes inherit from that.
56
56
 
@@ -1,3 +1,3 @@
1
1
  module SimpleMonitor
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -4,9 +4,14 @@ module SimpleMonitor
4
4
  attr_reader :options
5
5
  attr_accessor :logger
6
6
 
7
+ # Sets if logging should only occur when
8
+ # you call it, skips implementation logging
9
+ attr_accessor :only_explicit_logging
10
+
7
11
  LOG_METHODS = %w[info warn error debug].freeze
8
12
 
9
13
  def initialize(options = {})
14
+ self.only_explicit_logging = options.delete(:only_explicit_logging)
10
15
  @options = options
11
16
  end
12
17
 
@@ -25,7 +30,9 @@ module SimpleMonitor
25
30
  end
26
31
 
27
32
  def warn_alert
28
- warn(alert_log_message)
33
+ unless only_explicit_logging
34
+ warn(alert_log_message)
35
+ end
29
36
  end
30
37
 
31
38
  # Public: Message to log in case of an alert
@@ -38,7 +45,9 @@ module SimpleMonitor
38
45
  end
39
46
 
40
47
  def info_passed
41
- info(passed_log_message)
48
+ unless only_explicit_logging
49
+ info(passed_log_message)
50
+ end
42
51
  end
43
52
 
44
53
  # Public: Message to log in case of a check passing
@@ -20,6 +20,11 @@ describe SimpleMonitor do
20
20
  monitor = TestMonitor.new(:foo => :bar)
21
21
  monitor.options[:foo].should == :bar
22
22
  end
23
+
24
+ it "extacts :only_explicit_logging from the passed options" do
25
+ TestMonitor.new.only_explicit_logging.should be_nil
26
+ TestMonitor.new(:only_explicit_logging => true).only_explicit_logging.should be_true
27
+ end
23
28
  end
24
29
 
25
30
  describe SimpleMonitor, "logger" do
@@ -66,6 +71,12 @@ describe SimpleMonitor, "running the check" do
66
71
  subject.check
67
72
  end
68
73
 
74
+ it "can bypass the logging if only_explicit_logging is set" do
75
+ subject.only_explicit_logging = true
76
+ logger.should_not_receive(:warn)
77
+ subject.check
78
+ end
79
+
69
80
  it "sends an alert" do
70
81
  subject.check
71
82
  subject.last_alert.should == "Test Monitor Alert"
@@ -84,6 +95,12 @@ describe SimpleMonitor, "running the check" do
84
95
  subject.check
85
96
  end
86
97
 
98
+ it "can bypass the logging if only_explicit_logging is set" do
99
+ subject.only_explicit_logging = true
100
+ logger.should_not_receive(:info)
101
+ subject.check
102
+ end
103
+
87
104
  it "doesn't send an alert" do
88
105
  subject.check
89
106
  subject.last_alert.should be_nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_monitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
17
- requirement: &2160677420 !ruby/object:Gem::Requirement
17
+ requirement: &2155990900 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *2160677420
25
+ version_requirements: *2155990900
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &2160677000 !ruby/object:Gem::Requirement
28
+ requirement: &2155968720 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *2160677000
36
+ version_requirements: *2155968720
37
37
  description: ''
38
38
  email:
39
39
  - xternal1+github@gmail.com