terminal-notifier-guard 1.6.0 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.markdown +14 -5
- data/lib/terminal-notifier-guard.rb +39 -29
- metadata +3 -29
- data/bin/terminal-notifier-failed +0 -9
- data/bin/terminal-notifier-notify +0 -9
- data/bin/terminal-notifier-pending +0 -9
- data/bin/terminal-notifier-success +0 -9
- data/lib/terminal_notifier/guard/failed.rb +0 -12
- data/lib/terminal_notifier/guard/notify.rb +0 -12
- data/lib/terminal_notifier/guard/pending.rb +0 -12
- data/lib/terminal_notifier/guard/success.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ae13fa13ff54e5b948035e9c41e0fd5b5bda057
|
4
|
+
data.tar.gz: f5dbeb151daa73937ad14d38ddbeab8b1b5c9fa2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 553858a9ab227318be15aac89fc178b030dfd10a651a1f0776f49d2d042abb4605c82879746242e445b88a503f80e653d79d052b5c8746f8d6d261e2d5a995f2
|
7
|
+
data.tar.gz: ce7341119a38f58b9e8f10e2f0c3f0021799ad5218acc8b8683a09886aa99bab2948c4034f91af190edf9c1cbfdf4d8ce4a59a0dce5250b737ca4c650c9ab0b9
|
data/README.markdown
CHANGED
@@ -4,7 +4,7 @@ A simple Ruby wrapper around the [`terminal-notifier`][HOMEPAGE] command-line
|
|
4
4
|
tool, which allows you to send User Notifications to the Notification Center on
|
5
5
|
Mac OS X 10.8, or higher.
|
6
6
|
|
7
|
-
This version has 4 different
|
7
|
+
This version has 4 different icons included for each status that
|
8
8
|
[Guard][GUARD] supports:
|
9
9
|
|
10
10
|
1. Failed
|
@@ -12,8 +12,6 @@ This version has 4 different `terminal-notifiers` included for each status that
|
|
12
12
|
3. Pending
|
13
13
|
4. Success
|
14
14
|
|
15
|
-
And each one with their own icon representing it's status.
|
16
|
-
|
17
15
|
|
18
16
|
## Installation
|
19
17
|
|
@@ -21,10 +19,15 @@ And each one with their own icon representing it's status.
|
|
21
19
|
$ gem install terminal-notifier-guard
|
22
20
|
```
|
23
21
|
|
22
|
+
### OSX 10.8 users
|
23
|
+
|
24
|
+
As of version `1.6.1`, we no longer bundle notifiers binaries in this gem. Please revert to
|
25
|
+
version `1.5.3` for OSX 10.8 support.
|
26
|
+
|
24
27
|
|
25
28
|
## Usage
|
26
29
|
|
27
|
-
|
30
|
+
You could also use the notifier directly.
|
28
31
|
|
29
32
|
Examples are:
|
30
33
|
|
@@ -55,5 +58,11 @@ See [LICENSE][LICENSE] for details.
|
|
55
58
|
|
56
59
|
[HOMEPAGE]: https://github.com/Springest/terminal-notifier-guard
|
57
60
|
[GUARD]: https://github.com/guard/guard
|
58
|
-
[README]: https://github.com/Springest/terminal-notifier-guard/blob/master/README.markdown
|
59
61
|
[LICENSE]: https://github.com/Springest/terminal-notifier-guard/blob/master/Ruby/LICENSE
|
62
|
+
|
63
|
+
|
64
|
+
## Contributors & Thanks to
|
65
|
+
|
66
|
+
- @alloy (For the terminal-notifier)
|
67
|
+
- @railsme (For a clean way to test for OSX version #15)
|
68
|
+
- @jamilbx (For support for local terminal-notifier command #8)
|
@@ -1,38 +1,40 @@
|
|
1
|
-
%w(failed notify pending success).each do |type|
|
2
|
-
require File.expand_path("../terminal_notifier/guard/#{type}", __FILE__)
|
3
|
-
end
|
4
|
-
|
5
1
|
module TerminalNotifier
|
6
2
|
module Guard
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
VERSION = "1.6.1"
|
4
|
+
BIN_PATH = "/usr/local/Cellar/terminal-notifier/1.6.1/terminal-notifier.app/Contents/MacOS/terminal-notifier"
|
5
|
+
ICONS_PATH = File.expand_path("../../icons", __FILE__)
|
6
|
+
GUARD_ICON = File.join(ICONS_PATH, 'guard.png')
|
7
|
+
|
8
|
+
def self.osx_version
|
9
|
+
Gem::Version.new(`sw_vers -productVersion`.strip)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.deprecation_check
|
13
|
+
if osx_version <= Gem::Version.new('10.8')
|
14
|
+
raise "OSX 10.8 is no longer supported by this gem. Please revert to version <= 1.5.3."
|
15
|
+
end
|
16
|
+
end
|
11
17
|
|
12
18
|
# Returns wether or not the current platform is Mac OS X 10.8, or higher.
|
13
19
|
def self.available?
|
20
|
+
deprecation_check
|
14
21
|
if @available.nil?
|
15
22
|
@available = `uname`.strip == 'Darwin' &&
|
16
|
-
|
23
|
+
osx_version >= Gem::Version.new('10.9')
|
17
24
|
end
|
18
25
|
@available
|
19
26
|
end
|
20
27
|
|
28
|
+
# Whether or not the terminal notifier is installed
|
29
|
+
def self.installed?
|
30
|
+
return true if File.exist? BIN_PATH
|
31
|
+
end
|
32
|
+
|
21
33
|
def self.execute(verbose, options)
|
22
|
-
if available?
|
23
|
-
|
24
|
-
when :failed
|
25
|
-
bin_path = TerminalNotifier::Guard::Failed::BIN_PATH
|
26
|
-
when :success
|
27
|
-
bin_path = TerminalNotifier::Guard::Success::BIN_PATH
|
28
|
-
when :pending
|
29
|
-
bin_path = TerminalNotifier::Guard::Pending::BIN_PATH
|
30
|
-
else
|
31
|
-
bin_path = TerminalNotifier::Guard::Notify::BIN_PATH
|
32
|
-
end
|
33
|
-
options.delete(:type) if options[:type]
|
34
|
+
if available? && installed?
|
35
|
+
options.merge!({ :appIcon => GUARD_ICON, :contentImage => icon(options.delete(:type)) })
|
34
36
|
|
35
|
-
command = [
|
37
|
+
command = [BIN_PATH, *options.map { |k,v| ["-#{k}", v.to_s] }.flatten]
|
36
38
|
if RUBY_VERSION < '1.9'
|
37
39
|
require 'shellwords'
|
38
40
|
command = Shellwords.shelljoin(command)
|
@@ -45,7 +47,8 @@ module TerminalNotifier
|
|
45
47
|
end
|
46
48
|
result
|
47
49
|
else
|
48
|
-
raise "terminal-notifier is only supported on Mac OS X 10.8, or higher."
|
50
|
+
raise "terminal-notifier is only supported on Mac OS X 10.8, or higher." if !available?
|
51
|
+
raise "TerminalNotifier not installed. Please do so by running `brew install terminal-notifier`" if !installed?
|
49
52
|
end
|
50
53
|
end
|
51
54
|
|
@@ -58,12 +61,12 @@ module TerminalNotifier
|
|
58
61
|
#
|
59
62
|
# Examples are:
|
60
63
|
#
|
61
|
-
# TerminalNotifier.notify('Hello World')
|
62
|
-
# TerminalNotifier.notify('Hello World', :title => 'Ruby')
|
63
|
-
# TerminalNotifier.notify('Hello World', :group => Process.pid)
|
64
|
-
# TerminalNotifier.notify('Hello World', :activate => 'com.apple.Safari')
|
65
|
-
# TerminalNotifier.notify('Hello World', :open => 'http://twitter.com/alloy')
|
66
|
-
# TerminalNotifier.notify('Hello World', :execute => 'say "OMG"')
|
64
|
+
# TerminalNotifier::Guard.notify('Hello World')
|
65
|
+
# TerminalNotifier::Guard.notify('Hello World', :title => 'Ruby')
|
66
|
+
# TerminalNotifier::Guard.notify('Hello World', :group => Process.pid)
|
67
|
+
# TerminalNotifier::Guard.notify('Hello World', :activate => 'com.apple.Safari')
|
68
|
+
# TerminalNotifier::Guard.notify('Hello World', :open => 'http://twitter.com/alloy')
|
69
|
+
# TerminalNotifier::Guard.notify('Hello World', :execute => 'say "OMG"')
|
67
70
|
#
|
68
71
|
# Raises if not supported on the current platform.
|
69
72
|
def notify(message, options = {}, verbose = false)
|
@@ -90,6 +93,13 @@ module TerminalNotifier
|
|
90
93
|
end
|
91
94
|
module_function :success
|
92
95
|
|
96
|
+
def icon(type = :notify)
|
97
|
+
type ||= :notify
|
98
|
+
file_name = "#{type}.icns".capitalize
|
99
|
+
File.join(ICONS_PATH, file_name)
|
100
|
+
end
|
101
|
+
module_function :icon
|
102
|
+
|
93
103
|
# Removes a notification that was previously sent with the specified
|
94
104
|
# ‘group’ ID, if one exists.
|
95
105
|
#
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: terminal-notifier-guard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-10-
|
12
|
+
date: 2014-10-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -67,42 +67,16 @@ dependencies:
|
|
67
67
|
- - '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: terminal-notifier
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - '>='
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - '>='
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
84
70
|
description:
|
85
71
|
email:
|
86
72
|
- wouter@springest.com
|
87
|
-
executables:
|
88
|
-
- terminal-notifier-notify
|
89
|
-
- terminal-notifier-success
|
90
|
-
- terminal-notifier-failed
|
91
|
-
- terminal-notifier-pending
|
73
|
+
executables: []
|
92
74
|
extensions: []
|
93
75
|
extra_rdoc_files:
|
94
76
|
- README.markdown
|
95
77
|
files:
|
96
78
|
- README.markdown
|
97
|
-
- bin/terminal-notifier-failed
|
98
|
-
- bin/terminal-notifier-notify
|
99
|
-
- bin/terminal-notifier-pending
|
100
|
-
- bin/terminal-notifier-success
|
101
79
|
- lib/terminal-notifier-guard.rb
|
102
|
-
- lib/terminal_notifier/guard/failed.rb
|
103
|
-
- lib/terminal_notifier/guard/notify.rb
|
104
|
-
- lib/terminal_notifier/guard/pending.rb
|
105
|
-
- lib/terminal_notifier/guard/success.rb
|
106
80
|
homepage: https://github.com/Springest/terminal-notifier-guard
|
107
81
|
licenses: []
|
108
82
|
metadata: {}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module TerminalNotifier
|
2
|
-
module Guard
|
3
|
-
module Failed
|
4
|
-
terminal_notifier_path = `which terminal-notifier`.strip
|
5
|
-
|
6
|
-
BIN_PATH = terminal_notifier_path.empty? ?
|
7
|
-
File.expand_path('../../../../vendor/terminal-notifier-failed.app/Contents/MacOS/terminal-notifier', __FILE__)
|
8
|
-
:
|
9
|
-
terminal_notifier_path
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module TerminalNotifier
|
2
|
-
module Guard
|
3
|
-
module Notify
|
4
|
-
terminal_notifier_path = `which terminal-notifier`.strip
|
5
|
-
|
6
|
-
BIN_PATH = terminal_notifier_path.empty? ?
|
7
|
-
File.expand_path('../../../../vendor/terminal-notifier-notify.app/Contents/MacOS/terminal-notifier', __FILE__)
|
8
|
-
:
|
9
|
-
terminal_notifier_path
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module TerminalNotifier
|
2
|
-
module Guard
|
3
|
-
module Pending
|
4
|
-
terminal_notifier_path = `which terminal-notifier`.strip
|
5
|
-
|
6
|
-
BIN_PATH = terminal_notifier_path.empty? ?
|
7
|
-
File.expand_path('../../../../vendor/terminal-notifier-pending.app/Contents/MacOS/terminal-notifier', __FILE__)
|
8
|
-
:
|
9
|
-
terminal_notifier_path
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module TerminalNotifier
|
2
|
-
module Guard
|
3
|
-
module Success
|
4
|
-
terminal_notifier_path = `which terminal-notifier`.strip
|
5
|
-
|
6
|
-
BIN_PATH = terminal_notifier_path.empty? ?
|
7
|
-
File.expand_path('../../../../vendor/terminal-notifier-success.app/Contents/MacOS/terminal-notifier', __FILE__)
|
8
|
-
:
|
9
|
-
terminal_notifier_path
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|