uniform_notifier 1.4.0 → 1.5.0

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: a1cdd4e6dd5a7f24432b9735f9763f7210ac7cce
4
- data.tar.gz: 4155ea762efc4bf52c6d7ece08d3d4a7feba4b21
3
+ metadata.gz: 26d6f86098312bf5878fca405b3bf651089d4c5b
4
+ data.tar.gz: e71a2a6610ac742438c4d113af2be3622e736ae1
5
5
  SHA512:
6
- metadata.gz: 9a2d86407e43b9abd9426c0df5efd413b9a6f1707f2d5130c9491a2450a14ec5baccb10466ace3f5ac31db7732abbfb1eb9192771bf43a0ccb19b616bc0899b6
7
- data.tar.gz: dbc9f1f60ede3a46afcbabdc44ed97dfe5710a1ec45153b5440745a67a261080de425bfe679e342448730378f3c0e049aef81752b94757e4fbd63edfe43fc452
6
+ metadata.gz: 31e976a8477db1b6e0828f68f96f649817f1fd83442f26cc2432035a8bed44fb13181b116f39d10c4423703b27e1ff8881a1ecb2c523197eecfd3fa60a539931
7
+ data.tar.gz: e0f3976a882378ad18457852c595eddf2c7c83461e476683a179d477354c3d31adb24350bca4a44702a0886b27d825d56b175e744c110b06361c047a777f03a6
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
- UniformNotifier
2
- ===============
1
+ # UniformNotifier
3
2
 
4
3
  uniform_notifier is extracted from [bullet][0], it gives you the ability to send notification through rails logger, customized logger, javascript alert, javascript console, growl, xmpp and airbrake.
5
4
 
6
- Install
7
- -------
5
+ ## Install
8
6
 
9
7
  ### install directly
10
8
 
@@ -26,14 +24,17 @@ if you want to notify by airbrake, you should install airbrake first
26
24
 
27
25
  gem install airbrake
28
26
 
27
+ if you want to notify by bugsnag, you should install bugsnag first
28
+
29
+ gem install bugsnag
30
+
29
31
  ### add it into Gemfile (Bundler)
30
32
 
31
33
  gem "uniform_notifier"
32
34
 
33
35
  you should add ruby-growl, ruby_gntp, xmpp4r, airbrake gem if you want.
34
36
 
35
- Usage
36
- -----
37
+ ## Usage
37
38
 
38
39
  There are two types of notifications,
39
40
  one is <code>inline_notify</code>, for javascript alert and javascript console notifiers, which returns a string and will be combined,
@@ -53,6 +54,9 @@ By default, all notifiers are disabled, you should enable them first.
53
54
  # airbrake
54
55
  UniformNotifier.airbrake = true
55
56
 
57
+ # bugsnag
58
+ UniformNotifier.bugsnag = true
59
+
56
60
  # customized logger
57
61
  logger = File.open('notify.log', 'a+')
58
62
  logger.sync = true
@@ -93,8 +97,7 @@ After that, you can enjoy the notifiers, that's cool!
93
97
  end
94
98
  javascript_str = responses.join("\n")
95
99
 
96
- Growl Support
97
- -------------
100
+ ## Growl Support
98
101
 
99
102
  To get Growl support up-and-running, follow the steps below:
100
103
 
@@ -110,8 +113,7 @@ To get Growl support up-and-running, follow the steps below:
110
113
 
111
114
  ruby-growl gem has an issue about md5 in ruby 1.9, if you use growl and ruby 1.9, check this [gist][1]
112
115
 
113
- XMPP/Jabber Support
114
- -------------------
116
+ ## XMPP/Jabber Support
115
117
 
116
118
  To get XMPP support up-and-running, follow the steps below:
117
119
 
@@ -1,4 +1,5 @@
1
1
  require 'uniform_notifier/base'
2
+ require 'uniform_notifier/errors'
2
3
  require 'uniform_notifier/javascript_alert'
3
4
  require 'uniform_notifier/javascript_console'
4
5
  require 'uniform_notifier/growl'
@@ -6,13 +7,14 @@ require 'uniform_notifier/xmpp'
6
7
  require 'uniform_notifier/rails_logger'
7
8
  require 'uniform_notifier/customized_logger'
8
9
  require 'uniform_notifier/airbrake'
10
+ require 'uniform_notifier/bugsnag'
9
11
  require 'uniform_notifier/raise'
10
12
 
11
13
  module UniformNotifier
12
14
  class NotificationError < StandardError; end
13
15
 
14
16
  class <<self
15
- attr_accessor :alert, :console, :growl, :rails_logger, :xmpp, :airbrake, :raise
17
+ attr_accessor :alert, :console, :growl, :rails_logger, :xmpp, :airbrake, :bugsnag, :raise
16
18
 
17
19
  NOTIFIERS = [JavascriptAlert, JavascriptConsole, Growl, Xmpp, RailsLogger, CustomizedLogger, AirbrakeNotifier, Raise]
18
20
 
@@ -0,0 +1,13 @@
1
+ module UniformNotifier
2
+ class BugsnagNotifier < Base
3
+ def self.active?
4
+ UniformNotifier.bugsnag
5
+ end
6
+
7
+ def self.out_of_channel_notify(message)
8
+ return unless active?
9
+ exception = Exception.new(message)
10
+ Bugsnag.notify(exception)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ module UniformNotifier
2
+ class Exception < ::Exception; end
3
+ end
@@ -30,7 +30,7 @@ module UniformNotifier
30
30
  @growl.add_notification 'uniform_notifier'
31
31
  @growl.password = @password
32
32
 
33
- notify 'Uniform Notifier Growl has been turned on'
33
+ notify 'Uniform Notifier Growl has been turned on' if !growl.instance_of?(Hash) || !growl[:quiet]
34
34
  end
35
35
 
36
36
  def self.setup_connection_gntp( growl )
@@ -43,7 +43,7 @@ module UniformNotifier
43
43
  :enabled => true,
44
44
  }]})
45
45
 
46
- notify 'Uniform Notifier Growl has been turned on (using GNTP)'
46
+ notify 'Uniform Notifier Growl has been turned on (using GNTP)' if !growl.instance_of?(Hash) || !growl[:quiet]
47
47
  end
48
48
 
49
49
  private
@@ -1,7 +1,5 @@
1
1
  module UniformNotifier
2
2
  class Raise < Base
3
- class UniformNotifierException < Exception; end
4
-
5
3
  def self.active?
6
4
  @exception_class
7
5
  end
@@ -13,7 +11,7 @@ module UniformNotifier
13
11
  end
14
12
 
15
13
  def self.setup_connection(exception_class)
16
- @exception_class = exception_class == true ? UniformNotifierException : exception_class
14
+ @exception_class = exception_class == true ? Exception : exception_class
17
15
  end
18
16
  end
19
17
  end
@@ -1,3 +1,3 @@
1
1
  module UniformNotifier
2
- VERSION = "1.4.0"
2
+ VERSION = "1.5.0"
3
3
  end
@@ -10,7 +10,7 @@ describe UniformNotifier::AirbrakeNotifier do
10
10
  end
11
11
 
12
12
  it "should notify airbrake" do
13
- Airbrake.should_receive(:notify).with(Exception.new("notify airbrake"))
13
+ Airbrake.should_receive(:notify).with(UniformNotifier::Exception.new("notify airbrake"))
14
14
 
15
15
  UniformNotifier.airbrake = true
16
16
  UniformNotifier::AirbrakeNotifier.out_of_channel_notify("notify airbrake")
@@ -0,0 +1,18 @@
1
+ require "spec_helper"
2
+
3
+ class Bugsnag
4
+ # mock Bugsnag
5
+ end
6
+
7
+ describe UniformNotifier::BugsnagNotifier do
8
+ it "should not notify bugsnag" do
9
+ UniformNotifier::BugsnagNotifier.out_of_channel_notify("notify bugsnag").should be_nil
10
+ end
11
+
12
+ it "should notify bugsnag" do
13
+ Bugsnag.should_receive(:notify).with(UniformNotifier::Exception.new("notify bugsnag"))
14
+
15
+ UniformNotifier.bugsnag = true
16
+ UniformNotifier::BugsnagNotifier.out_of_channel_notify("notify bugsnag")
17
+ end
18
+ end
@@ -29,4 +29,16 @@ describe UniformNotifier::Growl do
29
29
  UniformNotifier.growl = { :password => '123456' }
30
30
  UniformNotifier::Growl.out_of_channel_notify('notify growl with password')
31
31
  end
32
+
33
+ it "should notify growl with quiet" do
34
+ growl = double('growl', :is_a? => true)
35
+ Growl.should_receive(:new).with('localhost', 'uniform_notifier').and_return(growl)
36
+ growl.should_receive(:add_notification).with('uniform_notifier')
37
+ growl.should_receive(:password=).with('123456')
38
+ growl.should_not_receive(:notify).with('uniform_notifier', 'Uniform Notifier', 'Uniform Notifier Growl has been turned on')
39
+ growl.should_receive(:notify).with('uniform_notifier', 'Uniform Notifier', 'notify growl with password')
40
+
41
+ UniformNotifier.growl = { :password => '123456', :quiet => true }
42
+ UniformNotifier::Growl.out_of_channel_notify('notify growl with password')
43
+ end
32
44
  end
@@ -9,7 +9,7 @@ describe UniformNotifier::Raise do
9
9
  UniformNotifier.raise = true
10
10
  expect {
11
11
  UniformNotifier::Raise.out_of_channel_notify("notification")
12
- }.to raise_error(UniformNotifier::Raise::UniformNotifierException, "notification")
12
+ }.to raise_error(UniformNotifier::Exception, "notification")
13
13
  end
14
14
 
15
15
  it "allows the user to override the default exception class" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uniform_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-03 00:00:00.000000000 Z
11
+ date: 2014-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-growl
@@ -56,14 +56,14 @@ dependencies:
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>'
59
+ - - ">"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>'
66
+ - - ">"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: uniform notifier for rails logger, customized logger, javascript alert,
@@ -74,9 +74,8 @@ executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - .gitignore
78
- - .travis.yml
79
- - CONTRIBUTORS
77
+ - ".gitignore"
78
+ - ".travis.yml"
80
79
  - Gemfile
81
80
  - LICENSE
82
81
  - README.md
@@ -84,7 +83,9 @@ files:
84
83
  - lib/uniform_notifier.rb
85
84
  - lib/uniform_notifier/airbrake.rb
86
85
  - lib/uniform_notifier/base.rb
86
+ - lib/uniform_notifier/bugsnag.rb
87
87
  - lib/uniform_notifier/customized_logger.rb
88
+ - lib/uniform_notifier/errors.rb
88
89
  - lib/uniform_notifier/growl.rb
89
90
  - lib/uniform_notifier/javascript_alert.rb
90
91
  - lib/uniform_notifier/javascript_console.rb
@@ -94,6 +95,7 @@ files:
94
95
  - lib/uniform_notifier/xmpp.rb
95
96
  - spec/spec_helper.rb
96
97
  - spec/uniform_notifier/airbrake_spec.rb
98
+ - spec/uniform_notifier/bugsnag_spec.rb
97
99
  - spec/uniform_notifier/customized_logger_spec.rb
98
100
  - spec/uniform_notifier/growl_spec.rb
99
101
  - spec/uniform_notifier/javascript_alert_spec.rb
@@ -111,17 +113,17 @@ require_paths:
111
113
  - lib
112
114
  required_ruby_version: !ruby/object:Gem::Requirement
113
115
  requirements:
114
- - - '>='
116
+ - - ">="
115
117
  - !ruby/object:Gem::Version
116
118
  version: '0'
117
119
  required_rubygems_version: !ruby/object:Gem::Requirement
118
120
  requirements:
119
- - - '>='
121
+ - - ">="
120
122
  - !ruby/object:Gem::Version
121
123
  version: '0'
122
124
  requirements: []
123
125
  rubyforge_project: uniform_notifier
124
- rubygems_version: 2.0.6
126
+ rubygems_version: 2.2.2
125
127
  signing_key:
126
128
  specification_version: 4
127
129
  summary: uniform notifier for rails logger, customized logger, javascript alert, javascript
@@ -129,6 +131,7 @@ summary: uniform notifier for rails logger, customized logger, javascript alert,
129
131
  test_files:
130
132
  - spec/spec_helper.rb
131
133
  - spec/uniform_notifier/airbrake_spec.rb
134
+ - spec/uniform_notifier/bugsnag_spec.rb
132
135
  - spec/uniform_notifier/customized_logger_spec.rb
133
136
  - spec/uniform_notifier/growl_spec.rb
134
137
  - spec/uniform_notifier/javascript_alert_spec.rb
@@ -136,3 +139,4 @@ test_files:
136
139
  - spec/uniform_notifier/rails_logger_spec.rb
137
140
  - spec/uniform_notifier/raise_spec.rb
138
141
  - spec/uniform_notifier/xmpp_spec.rb
142
+ has_rdoc:
data/CONTRIBUTORS DELETED
@@ -1,9 +0,0 @@
1
- Alexey Bobyrev <alexey.bobyrev@gmail.com>
2
- Brian Kelly <polymonic@gmail.com>
3
- Dan Finnie <dan@danfinnie.com>
4
- Flip Sasser <flip@x451.com>
5
- Ian Duggan <ian@ianduggan.net>
6
- Konstantin Kosmatov <key@kosmatov.su>
7
- Richard Huang <flyerhzm@gmail.com>
8
- Steven Soroka <ssoroka78@gmail.com>
9
- tinogomes <tinorj@gmail.com>