Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A plugin for integrating apps with the Prowl iPhone application

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 tasks
Octocat-spinner-32 test
Octocat-spinner-32 .gemtest
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 CHANGELOG
Octocat-spinner-32 Gemfile
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 init.rb
Octocat-spinner-32 install.rb
Octocat-spinner-32 prowler.gemspec


Build Status Dependency Status

This is a plugin/gem for integrating apps with the Prowl iPhone application.


To install as a plugin from your application root, run:

Rails 2.x:

script/plugin install git://

Rails 3.x:

script/rails plugin install git://

To install as a gem configure your config.gems or Gemfile:

Rails 2.x:

config.gems 'prowler', :version => '~> 1.2'

Rails 3.x:

gem 'prowler', '~> 1.2'

Prowler is not limited to Rails apps - it can be used in any situation where you need to send push notifications to your iPhone.


You should have something like this in config/initializers/prowler.rb.

Prowler.configure do |config|
  config.api_key = 'ffffffffffffffffffffffffffffffffffffffff'
  config.application = ''

You can test that Prowler is working in your production environment by using this rake task (from your application root):

rake prowler:test

If everything is configured properly the task will send a request to which will be appear on your iPhone after a short delay.


To use Prowler within your application just call the notify method, e.g.

Prowler.notify "Event", "Description"

If you need to send to multiple accounts from within a single application you can create an instance of the Prowler class to override the global settings, e.g.

prowler = => 'application', :api_key => 'apikey')
prowler.notify "Event", "Description"

If performance is a concern then there is built in support for Delayed::Job. This can done either on a global basis, e.g.

Prowler.configure do |config|
  config.delayed = true

or on a individual message basis, e.g.

Prowler.notify "Event", "Description", :delayed => true


Prowler relies upon the Prowl iPhone application which is advertised as a Growl notification forwarder from your Mac. However they provide an API which can be called by a generic script which allows you to use the application as a general push notification application for your iPhone.

For more about the Prowl application see:


Bug fixes and new feature patches are welcome. Please provide tests and documentation wherever possible - without them it is unlikely your patch will be accepted. If you're fixing a bug then a failing test for the bug is essential. Once you have completed your patch please open a GitHub pull request and I will review it and respond as quickly as possible.

Copyright (c) 2011 Andrew White, released under the MIT license

Something went wrong with that request. Please try again.