terminal-notifier-guard 1.6.0 → 1.6.1
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 +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
|