notifier 0.4.1 → 0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: dd923128a3458ecd262b6bb21a948fa6a626ea43
4
+ data.tar.gz: 2954f0a783b91705f4b389c670a09611808e1242
5
+ SHA512:
6
+ metadata.gz: 71c15cf0499fb9e8896108ee4bba840313c142c79fc19ac0be6faee5fa0b4f38e47cd41f673eaa6e37e2600d75bd37539557eb974607696e7d991f149e4277e2
7
+ data.tar.gz: 066b7ee6f3fa640f7909d03640a65a9f0f29119b60d137edf97b3641c145fe88ec5738fe1b5c2cc8e2f82e0cfb2f43d6aeeae61a6dd0bc0a556b78bdae1195c6
data/.rspec CHANGED
@@ -1 +1 @@
1
- --color --format documentation
1
+ --color
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source :rubygems
1
+ source "http://rubygems.org"
2
2
  gemspec
@@ -1,21 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- notifier (0.4.1)
4
+ notifier (0.5.0)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
8
8
  specs:
9
- diff-lcs (1.1.3)
10
- rake (0.9.2.2)
11
- rspec (2.11.0)
12
- rspec-core (~> 2.11.0)
13
- rspec-expectations (~> 2.11.0)
14
- rspec-mocks (~> 2.11.0)
15
- rspec-core (2.11.1)
16
- rspec-expectations (2.11.3)
17
- diff-lcs (~> 1.1.3)
18
- rspec-mocks (2.11.2)
9
+ diff-lcs (1.2.5)
10
+ rake (10.3.1)
11
+ rspec (2.14.1)
12
+ rspec-core (~> 2.14.0)
13
+ rspec-expectations (~> 2.14.0)
14
+ rspec-mocks (~> 2.14.0)
15
+ rspec-core (2.14.8)
16
+ rspec-expectations (2.14.5)
17
+ diff-lcs (>= 1.1.3, < 2.0)
18
+ rspec-mocks (2.14.6)
19
19
 
20
20
  PLATFORMS
21
21
  ruby
@@ -3,6 +3,7 @@
3
3
  Send system notifications on several platforms with a simple and unified API. Currently supports:
4
4
 
5
5
  * Growl (Mac OS X)
6
+ * terminal-notifier (Notification Center wrapper for Mac OS X)
6
7
  * GNTP Protocol (Growl, with Vagrant support)
7
8
  * Kdialog (Linux/KDE)
8
9
  * Knotify (Linux/KDE)
@@ -16,10 +17,16 @@ Send system notifications on several platforms with a simple and unified API. Cu
16
17
 
17
18
  === Mac OS X
18
19
 
20
+ Growl:
21
+
19
22
  * Install Growl - http://growl.info/
20
23
  * Install the growlnotify script located on the "Extras" directory
21
24
  * Open the Growl Preference Panel (System > Growl) and activate "Listen for incoming notifications" and "Allow remote application registration" options on the Network tab.
22
25
 
26
+ terminal-notifier:
27
+
28
+ * Install terminal-notifier - https://github.com/alloy/terminal-notifier
29
+
23
30
  === Linux
24
31
 
25
32
  If you're a linux guy, you can choose one of these methods:
@@ -5,16 +5,17 @@ require "timeout"
5
5
  require "rbconfig"
6
6
 
7
7
  module Notifier
8
- autoload :Growl, "notifier/growl"
9
- autoload :GNTP, "notifier/gntp"
10
- autoload :Snarl, "notifier/snarl"
11
- autoload :OsdCat, "notifier/osd_cat"
12
- autoload :Knotify, "notifier/knotify"
13
- autoload :Kdialog, "notifier/kdialog"
14
- autoload :NotifySend, "notifier/notify_send"
15
- autoload :Placebo, "notifier/placebo"
16
- autoload :Version, "notifier/version"
17
- autoload :Adapters, "notifier/adapters"
8
+ require "notifier/growl"
9
+ require "notifier/gntp"
10
+ require "notifier/snarl"
11
+ require "notifier/osd_cat"
12
+ require "notifier/knotify"
13
+ require "notifier/kdialog"
14
+ require "notifier/notify_send"
15
+ require "notifier/placebo"
16
+ require "notifier/terminal_notifier"
17
+ require "notifier/version"
18
+ require "notifier/adapters"
18
19
 
19
20
  extend self
20
21
 
@@ -46,18 +46,18 @@ module Notifier
46
46
 
47
47
  icon = fetch_icon(options[:icon])
48
48
 
49
- result = write "GNTP/1.0 NOTIFY NONE",
50
- "Application-Name: #{application_name}",
51
- "Notification-Name: #{name}",
52
- "Notification-Title: #{options[:title]}",
53
- "Notification-Text: #{options[:message]}",
54
- "Notification-Icon: x-growl-resource://#{icon[:identifier]}",
55
- "Notification-Sticky: #{bool options[:sticky]}",
56
- nil,
57
- "Identifier: #{icon[:identifier]}",
58
- "Length: #{icon[:size]}",
59
- nil,
60
- icon[:contents]
49
+ write "GNTP/1.0 NOTIFY NONE",
50
+ "Application-Name: #{application_name}",
51
+ "Notification-Name: #{name}",
52
+ "Notification-Title: #{options[:title]}",
53
+ "Notification-Text: #{options[:message]}",
54
+ "Notification-Icon: x-growl-resource://#{icon[:identifier]}",
55
+ "Notification-Sticky: #{bool options[:sticky]}",
56
+ nil,
57
+ "Identifier: #{icon[:identifier]}",
58
+ "Length: #{icon[:size]}",
59
+ nil,
60
+ icon[:contents]
61
61
  end
62
62
 
63
63
  def fetch_icon(path)
@@ -75,14 +75,12 @@ module Notifier
75
75
  end
76
76
 
77
77
  def register(name)
78
- result = write(
79
- "GNTP/1.0 REGISTER NONE",
80
- "Application-Name: #{application_name}",
81
- "Notifications-count: 1",
82
- nil,
83
- "Notification-Name: #{name}",
84
- "Notification-Enabled: True"
85
- )
78
+ write "GNTP/1.0 REGISTER NONE",
79
+ "Application-Name: #{application_name}",
80
+ "Notifications-count: 1",
81
+ nil,
82
+ "Notification-Name: #{name}",
83
+ "Notification-Enabled: True"
86
84
  end
87
85
  end
88
86
  end
@@ -0,0 +1,21 @@
1
+ module Notifier
2
+ module TerminalNotifier
3
+ extend self
4
+
5
+ def supported?
6
+ Notifier.os?(/darwin/) && `which terminal-notifier` && $? == 0
7
+ end
8
+
9
+ def notify(options)
10
+ command = [
11
+ "terminal-notifier",
12
+ "-group", "notifier-rubygems",
13
+ "-title", options[:title],
14
+ "-appIcon", options.fetch(:image, ""),
15
+ "-message", options[:message]
16
+ ]
17
+
18
+ Thread.new { system(*command) }
19
+ end
20
+ end
21
+ end
@@ -1,8 +1,8 @@
1
1
  module Notifier
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 4
5
- PATCH = 1
4
+ MINOR = 5
5
+ PATCH = 0
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
8
  end
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ["lib"]
19
19
 
20
- s.requirements << "Growl, Libnotify, OSD, KDE (Knotify and Kdialog) or Snarl"
20
+ s.requirements << "Growl, terminal-notifier, Libnotify, OSD, KDE (Knotify and Kdialog) or Snarl"
21
21
 
22
22
  s.add_development_dependency "rspec"
23
23
  s.add_development_dependency "rake"
@@ -43,7 +43,7 @@ describe Notifier do
43
43
  end
44
44
 
45
45
  it "retrieves list of all notifiers" do
46
- expect(Notifier.notifiers.size).to eql(8)
46
+ expect(Notifier.notifiers.size).to eql(9)
47
47
  end
48
48
 
49
49
  it "considers Placebo as fallback notifier" do
metadata CHANGED
@@ -1,46 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Nando Vieira
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-27 00:00:00.000000000 Z
11
+ date: 2014-04-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  description: Send system notifications on several platforms with a simple and unified
@@ -51,8 +46,8 @@ executables: []
51
46
  extensions: []
52
47
  extra_rdoc_files: []
53
48
  files:
54
- - .gitignore
55
- - .rspec
49
+ - ".gitignore"
50
+ - ".rspec"
56
51
  - Gemfile
57
52
  - Gemfile.lock
58
53
  - README.rdoc
@@ -68,6 +63,7 @@ files:
68
63
  - lib/notifier/osd_cat.rb
69
64
  - lib/notifier/placebo.rb
70
65
  - lib/notifier/snarl.rb
66
+ - lib/notifier/terminal_notifier.rb
71
67
  - lib/notifier/version.rb
72
68
  - notifier.gemspec
73
69
  - resources/register-growl.scpt
@@ -75,28 +71,29 @@ files:
75
71
  - spec/spec_helper.rb
76
72
  homepage: http://rubygems.org/gems/notifier
77
73
  licenses: []
74
+ metadata: {}
78
75
  post_install_message:
79
76
  rdoc_options: []
80
77
  require_paths:
81
78
  - lib
82
79
  required_ruby_version: !ruby/object:Gem::Requirement
83
- none: false
84
80
  requirements:
85
- - - ! '>='
81
+ - - ">="
86
82
  - !ruby/object:Gem::Version
87
83
  version: '0'
88
84
  required_rubygems_version: !ruby/object:Gem::Requirement
89
- none: false
90
85
  requirements:
91
- - - ! '>='
86
+ - - ">="
92
87
  - !ruby/object:Gem::Version
93
88
  version: '0'
94
89
  requirements:
95
- - Growl, Libnotify, OSD, KDE (Knotify and Kdialog) or Snarl
90
+ - Growl, terminal-notifier, Libnotify, OSD, KDE (Knotify and Kdialog) or Snarl
96
91
  rubyforge_project:
97
- rubygems_version: 1.8.23
92
+ rubygems_version: 2.2.2
98
93
  signing_key:
99
- specification_version: 3
94
+ specification_version: 4
100
95
  summary: Send system notifications on several platforms with a simple and unified
101
96
  API. Currently supports Growl, Libnotify, OSD, KDE (Knotify and Kdialog) and Snarl
102
- test_files: []
97
+ test_files:
98
+ - spec/notifier_spec.rb
99
+ - spec/spec_helper.rb