Skip to content

The most powerful (cross-platform) notifications handler & pusher API for Rails

License

Notifications You must be signed in to change notification settings

ETBD/notifications-rails

 
 

Repository files navigation

Notifications Rails

The most powerful notification solution for Rails. Notifications Rails simplifies the handling, rendering, user-integration and cross-platform pushing of notifications through its simple API.


Table of Contents


Philosophy

Notifications Rails has been built with modularity in mind. It currently consists of four components each of which bringing one essential functionality to the notification-integration in your Rails app.

NotificationHandler: Create and modify your notifications through a simple API.

NotificationRenderer: Render your notifications on multiple platforms by specifying notification types.

NotificationPusher: Push your notifications to various services. Including Email & OneSignal.

NotificationSettings: Integrates with your authentication solution to craft a personalized user notification platform.

You may just add the components you actually need, or instead use this gem to bundle everything for a complete notification solution.


Installation

Notifications Rails works with Rails 5 onwards. You can add it to your Gemfile with:

gem 'notifications-rails'

And then execute:

$ bundle

Or install it yourself as:

$ gem install notifications-rails

If you always want to be up to date fetch the latest from GitHub in your Gemfile:

gem 'notifications-rails', github: 'jonhue/notifications-rails'

Testing

Tests are written with RSpec. Integration tests are located in /spec, unit tests can be found in <module>/spec.

  1. Fork this repository

  2. Clone your forked git locally

  3. Install dependencies

    $ bundle install

  4. Run tests

    $ ./rspec

  5. Run RuboCop

    $ bundle exec rubocop


Release

  1. Review breaking changes and deprecations in CHANGELOG.md
  2. Change the gem version here
  3. Reset CHANGELOG.md
  4. Create a pull request to merge the changes into master
  5. After the pull request was merged, create a new release listing the breaking changes and commits on master since the last release.
  6. The release workflow will publish the gems to RubyGems and the GitHub Package Registry

To do

We use GitHub projects to coordinate the work on this project.

To propose your ideas, initiate the discussion by adding a new issue.


Contributing

We hope that you will consider contributing to Notifications Rails. Please read this short overview for some information about how to get started:

Learn more about contributing to this repository, Code of Conduct

Semantic Versioning

Notifications Rails follows Semantic Versioning 2.0 as defined at http://semver.org.

About

The most powerful (cross-platform) notifications handler & pusher API for Rails

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 98.3%
  • HTML 1.3%
  • Other 0.4%