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.
It integrates with the Native gem to allow you to create a cross platform Rails app.
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, ActionCable, 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.
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'
Tests are written with RSpec.
-
Fork this repository
-
Clone your forked git locally
-
Install dependencies
$ bundle install
-
Run tests
$ bundle exec rspec
-
Run RuboCop
$ bundle exec rubocop
-
Change the gem version here
-
Publish to https://rubygems.org
$ sh release.sh <version>
We use GitHub projects to coordinate the work on this project.
To propose your ideas, initiate the discussion by adding a new issue.
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
Notifications Rails follows Semantic Versioning 2.0 as defined at http://semver.org.