Class: Notiffany::Notifier::Growl

Inherits:
Base
  • Object
show all
Defined in:
lib/notiffany/notifier/growl.rb

Overview

System notifications using the growl gem.

This gem is available for OS X and sends system notifications to Growl through the GrowlNotify executable.

The growlnotify executable must be installed manually or by using Homebrew.

Sending notifications with this notifier will not show the different notifications in the Growl preferences. Use the :gntp notifier if you want to customize each notification type in Growl.

your Guardfile notification :growl, sticky: true, host: '192.168.1.5', password: 'secret'

Examples:

Install growlnotify with Homebrew

brew install growlnotify

Add the growl gem to your Gemfile

group :development
  gem 'growl'
end

Add the :growl notifier to your Guardfile

notification :growl

Add the :growl_notify notifier with configuration options to


Constant Summary collapse

INSTALL_GROWLNOTIFY =
"Please install the 'growlnotify' executable'\
' (available by installing the 'growl' gem)."
DEFAULTS =

Default options for the growl notifications.

{
  sticky:   false,
  priority: 0
}

Constants inherited from Base

Base::ERROR_ADD_GEM_AND_RUN_BUNDLE, Base::HOSTS

Instance Attribute Summary

Attributes inherited from Base

#options

Instance Method Summary collapse

Methods inherited from Base

#_image_path, #initialize, #name, #notify, #title

Constructor Details

This class inherits a constructor from Notiffany::Notifier::Base

Instance Method Details

#_check_available(_opts = {}) ⇒ Object



48
49
50
# File 'lib/notiffany/notifier/growl.rb', line 48

def _check_available(_opts = {})
  fail UnavailableError, INSTALL_GROWLNOTIFY unless ::Growl.installed?
end

#_perform_notify(message, opts = {}) ⇒ Object

Shows a system notification.

The documented options are for GrowlNotify 1.3, but the older options are also supported. Please see growlnotify --help.

Priority can be one of the following named keys: Very Low, Moderate, Normal, High, Emergency. It can also be an integer between -2 and 2.

Options Hash (opts):

  • type (String)

    the notification type. Either 'success', 'pending', 'failed' or 'notify'

  • title (String)

    the notification title

  • image (String)

    the path to the notification image

  • sticky (Boolean)

    make the notification sticky

  • priority (String, Integer)

    specify an int or named key (default is 0)

  • host (String)

    the hostname or IP address to which to send a remote notification

  • password (String)

    the password used for remote notifications



75
76
77
78
79
# File 'lib/notiffany/notifier/growl.rb', line 75

def _perform_notify(message, opts = {})
  opts = { name: "Notiffany" }.merge(opts)
  opts.select! { |k, _| ::Growl::Base.switches.include?(k) }
  ::Growl.notify(message, opts)
end

#_supported_hostsObject



44
45
46
# File 'lib/notiffany/notifier/growl.rb', line 44

def _supported_hosts
  %w(darwin)
end