remove growl support completely
This commit is contained in:
parent
facd4f2a0b
commit
7f87411189
2
Gemfile
2
Gemfile
@ -8,7 +8,7 @@ require 'rbconfig'
|
|||||||
|
|
||||||
if RbConfig::CONFIG['target_os'] =~ /darwin/i
|
if RbConfig::CONFIG['target_os'] =~ /darwin/i
|
||||||
gem 'rb-fsevent', '>= 0.4.0', :require => false
|
gem 'rb-fsevent', '>= 0.4.0', :require => false
|
||||||
gem 'growl', '~> 1.0.3', :require => false
|
gem 'growl_notify', :require => false
|
||||||
end
|
end
|
||||||
if RbConfig::CONFIG['target_os'] =~ /linux/i
|
if RbConfig::CONFIG['target_os'] =~ /linux/i
|
||||||
gem 'rb-inotify', '>= 0.8.5', :require => false
|
gem 'rb-inotify', '>= 0.8.5', :require => false
|
||||||
|
11
README.md
11
README.md
@ -50,24 +50,19 @@ Install the rb-fsevent gem for [FSEvent](http://en.wikipedia.org/wiki/FSEvents)
|
|||||||
$ gem install rb-fsevent
|
$ gem install rb-fsevent
|
||||||
```
|
```
|
||||||
|
|
||||||
Install either the growl_notify or the Growl gem if you want notification support:
|
Install the growl_notify gem if you want notification support:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
$ gem install growl_notify
|
$ gem install growl_notify
|
||||||
$ # or
|
|
||||||
$ gem install growl
|
|
||||||
```
|
```
|
||||||
|
|
||||||
And add them to your Gemfile:
|
And add it to your Gemfile:
|
||||||
|
|
||||||
``` ruby
|
``` ruby
|
||||||
gem 'rb-fsevent'
|
gem 'rb-fsevent'
|
||||||
gem 'growl'
|
gem 'growl_notify'
|
||||||
```
|
```
|
||||||
|
|
||||||
growl_notify uses AppleScript, the suggested method for interfacing with Growl,
|
|
||||||
rather than the `growlnotify` command to display messages.
|
|
||||||
|
|
||||||
### On Linux
|
### On Linux
|
||||||
|
|
||||||
Install the rb-inotify gem for [inotify](http://en.wikipedia.org/wiki/Inotify) support:
|
Install the rb-inotify gem for [inotify](http://en.wikipedia.org/wiki/Inotify) support:
|
||||||
|
@ -47,18 +47,10 @@ module Guard
|
|||||||
def self.notify_mac(title, message, image, options)
|
def self.notify_mac(title, message, image, options)
|
||||||
require_growl # need for guard-rspec formatter that is called out of guard scope
|
require_growl # need for guard-rspec formatter that is called out of guard scope
|
||||||
|
|
||||||
default_options = { :title => title, :icon => image_path(image), :name => APPLICATION_NAME }
|
options = { :description => message, :title => title, :icon => image_path(image), :application_name => APPLICATION_NAME }.merge(options)
|
||||||
default_options.merge!(options)
|
options.delete(:name)
|
||||||
|
|
||||||
if defined?(GrowlNotify)
|
GrowlNotify.send_notification(options) if enabled?
|
||||||
default_options[:description] = message
|
|
||||||
default_options[:application_name] = APPLICATION_NAME
|
|
||||||
default_options.delete(:name)
|
|
||||||
|
|
||||||
GrowlNotify.send_notification(default_options) if enabled?
|
|
||||||
else
|
|
||||||
Growl.notify message, default_options.merge(options) if enabled?
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.notify_linux(title, message, image, options)
|
def self.notify_linux(title, message, image, options)
|
||||||
@ -102,7 +94,6 @@ module Guard
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.require_growl
|
def self.require_growl
|
||||||
begin
|
|
||||||
require 'growl_notify'
|
require 'growl_notify'
|
||||||
|
|
||||||
if GrowlNotify.application_name != APPLICATION_NAME
|
if GrowlNotify.application_name != APPLICATION_NAME
|
||||||
@ -111,12 +102,9 @@ module Guard
|
|||||||
c.application_name = c.notifications.first
|
c.application_name = c.notifications.first
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
rescue LoadError
|
|
||||||
require 'growl'
|
|
||||||
end
|
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
turn_off
|
turn_off
|
||||||
UI.info "Please install growl or growl_notify gem for Mac OS X notification support and add it to your Gemfile"
|
UI.info "Please install growl_notify gem for Mac OS X notification support and add it to your Gemfile"
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.require_libnotify
|
def self.require_libnotify
|
||||||
|
@ -39,19 +39,9 @@ describe Guard::Notifier do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "with the Growl library available" do
|
context "without the GrowlNofity library available" do
|
||||||
it "loads the library and enables the notifications" do
|
|
||||||
subject.should_receive(:require).with('growl_notify').and_raise LoadError
|
|
||||||
subject.should_receive(:require).with('growl').and_return true
|
|
||||||
subject.turn_on
|
|
||||||
subject.should be_enabled
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "without the Growl library available" do
|
|
||||||
it "disables the notifications" do
|
it "disables the notifications" do
|
||||||
subject.should_receive(:require).with('growl_notify').and_raise LoadError
|
subject.should_receive(:require).with('growl_notify').and_raise LoadError
|
||||||
subject.should_receive(:require).with('growl').and_raise LoadError
|
|
||||||
subject.turn_on
|
subject.turn_on
|
||||||
subject.should_not be_enabled
|
subject.should_not be_enabled
|
||||||
end
|
end
|
||||||
@ -112,51 +102,6 @@ describe Guard::Notifier do
|
|||||||
subject.stub(:require_growl)
|
subject.stub(:require_growl)
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with growl gem' do
|
|
||||||
before do
|
|
||||||
Object.send(:remove_const, :Growl) if defined?(Growl)
|
|
||||||
Growl = Object.new
|
|
||||||
end
|
|
||||||
|
|
||||||
after do
|
|
||||||
Object.send(:remove_const, :Growl)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "passes the notification to Growl" do
|
|
||||||
Growl.should_receive(:notify).with("great",
|
|
||||||
:title => "Guard",
|
|
||||||
:icon => Pathname.new(File.dirname(__FILE__)).join('../../images/success.png').to_s,
|
|
||||||
:name => "Guard"
|
|
||||||
)
|
|
||||||
subject.notify 'great', :title => 'Guard'
|
|
||||||
end
|
|
||||||
|
|
||||||
it "don't passes the notification to Growl if library is not available" do
|
|
||||||
Growl.should_not_receive(:notify)
|
|
||||||
subject.should_receive(:enabled?).and_return(true, false)
|
|
||||||
subject.notify 'great', :title => 'Guard'
|
|
||||||
end
|
|
||||||
|
|
||||||
it "allows additional notification options" do
|
|
||||||
Growl.should_receive(:notify).with("great",
|
|
||||||
:title => "Guard",
|
|
||||||
:icon => Pathname.new(File.dirname(__FILE__)).join('../../images/success.png').to_s,
|
|
||||||
:name => "Guard",
|
|
||||||
:priority => 1
|
|
||||||
)
|
|
||||||
subject.notify 'great', :title => 'Guard', :priority => 1
|
|
||||||
end
|
|
||||||
|
|
||||||
it "allows to overwrite a default notification option" do
|
|
||||||
Growl.should_receive(:notify).with("great",
|
|
||||||
:title => "Guard",
|
|
||||||
:icon => Pathname.new(File.dirname(__FILE__)).join('../../images/success.png').to_s,
|
|
||||||
:name => "Guard-Cucumber"
|
|
||||||
)
|
|
||||||
subject.notify 'great', :title => 'Guard', :name => "Guard-Cucumber"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with growl_notify gem' do
|
context 'with growl_notify gem' do
|
||||||
before do
|
before do
|
||||||
Object.send(:remove_const, :GrowlNotify) if defined?(GrowlNotify)
|
Object.send(:remove_const, :GrowlNotify) if defined?(GrowlNotify)
|
||||||
|
Loading…
Reference in New Issue
Block a user