Sha256: 18edec653e934d79e50206e2e334d55baedb8d86d633ebb068cf4687ed25f6e1

Contents?: true

Size: 1.63 KB

Versions: 1

Compression:

Stored size: 1.63 KB

Contents

[![Build Status](https://travis-ci.org/dscout/nuge.png?branch=master)](https://travis-ci.org/dscout/nuge)
[![Code Climate](https://codeclimate.com/github/dscout/nuge.png)](https://codeclimate.com/github/dscout/nuge)

# Nuge

The biz of pushing to multiple notification clients from a single source. Nuge
presents a uniform interface for pushing out messages from a single source.

Supported services (some pending):

* Grocer
* Urbanairship

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'nuge'
```

## Usage

By default Nuge is a no-op. You'll need to configure any clients that you wish
to push with.

### Grocer Client

```ruby
require 'nuge/clients/grocer'

Nuge::Pusher.clients << Nuge::Clients::Grocer(certificate: '/path/to/cert.pem')
```

### Urbanairship Client

```ruby
require 'nuge/clients/urbanairship'

# Using the alternate config block style
Nuge.configure do |config|
  config.clients << Nuge::Clients::Urbanairship.new(
    application_key:    ENV['URBANAIRSHIP_APPLICATION_KEY'],
    application_secret: ENV['URBANAIRSHIP_APPLICATION_SECRET'],
    master_secret:      ENV['URBANAIRSHIP_MASTER_SECRET']
  )
end
```

You can then register devices:

```ruby
pusher = Nuge.pusher
pusher.register(token)
pusher.register(token, provider: 'android')
```

Notification pushing can be configured with custom expanders and formatters:

```ruby
Nuge.pusher.push(['1234abcd'], alert: 'hello!')
```

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nuge-0.1.0 README.md