• Stars
    star
    242
  • Rank 167,048 (Top 4 %)
  • Language
    Ruby
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A flexible notification library supporting the delivery to external services, rendering in various environments, and user configuration by category.

notifications-rails

A flexible notification library supporting the delivery to external services, rendering in various environments, and user configuration by category.

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 integration of notifications in your Rails app.

notification-handler: Create and modify your notifications through a simple API.

notification-renderer: Render your notifications in various contexts.

notification-pusher: Deliver your notifications to various services, including Email and OneSignal.

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

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

Installation

You can add notifications-rails to your Gemfile with:

gem 'notifications-rails'

And then run:

$ bundle install

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'

Usage

Details on usage are provided in the documentation of the specific modules.

Development

To start development you first have to fork this repository and locally clone your fork.

Install the projects dependencies by running:

$ bundle install

Testing

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

To run all tests:

$ ./rspec

To run RuboCop:

$ bundle exec rubocop

You can find all commands run by the CI workflow in .github/workflows/ci.yml.

Contributing

We warmly welcome everyone who is intersted in contributing. Please reference our contributing guidelines and our Code of Conduct.

Releases

Here you can find details on all past releases. Unreleased breaking changes that are on the current master can be found here.

notifications-rails follows Semantic Versioning 2.0 as defined at http://semver.org. Reference our security policy.

Publishing

  1. Review breaking changes and deprecations in CHANGELOG.md.
  2. Change the gem version in VERSION.
  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.

More Repositories

1

acts_as_favoritor

Adds Favorite, Follow, Vote, etc. functionality to ActiveRecord models
Ruby
346
star
2

pwa

Progressive Web Apps for Rails
Ruby
144
star
3

turbolinks-animate

Rich & adaptive animations for apps using Turbolinks
JavaScript
134
star
4

pubtex

Publicly host LaTeX files on GitHub Pages
18
star
5

turbolinks-animate-rails

Rich & adaptive animations for apps using Rails with Turbolinks
Ruby
13
star
6

amp-html

Reliable high-âš¡ apps across devices and distribution platforms with AMP & Rails.
Ruby
6
star
7

omniauth-paypal-oauth2

OAuth2 strategy for PayPal
Ruby
6
star
8

plaain

A serverless web app to organize and stream media from anywhere.
TypeScript
5
star
9

onsignal-rails

OneSignal API wrapper simplifying user targeted cross platform notifications
Ruby
5
star
10

onsignal

OneSignal API wrapper simplifying user targeted cross platform notifications
JavaScript
4
star
11

themer

Themes for Rails apps
Ruby
3
star
12

soco

Algorithms for Smoothed Online Convex Optimization
Jupyter Notebook
2
star
13

teaching-fpv-rev

Functional Programming and Verification revision course
TeX
2
star
14

modalist

A powerful & (really) lightweight asynchronous modal plugin
JavaScript
2
star
15

myg-rails

Myg on Rails
Ruby
2
star
16

ahoy-views

Track views of ActiveRecord objects in Rails
Ruby
2
star
17

pubtex-action

A GitHub action to publicly host LaTeX files on GitHub Pages
Shell
2
star
18

blurry.js

Blurry image loading with StackBlur
JavaScript
2
star
19

sandboxy

Virtual data-oriented environments for Rails
Ruby
2
star
20

tip-the-world-cup

Tip the 2018 World Cup with friends & family
Ruby
2
star
21

graph-algorithms-and-optimization

TeX
1
star
22

transductive-active-learning

Transductive Active Learning with Application to Safe Bayesian Optimization
Python
1
star
23

teaching-dwt-rev

Discrete Probability Theory revision course
TeX
1
star
24

learning-halfspaces-with-massart-noise

Implementation of "Distribution-Independent PAC Learning of Halfspaces with Massart Noise"
Jupyter Notebook
1
star
25

mozaic

An opinionated layout engine for Rails
Ruby
1
star
26

myg

An opinionated & modular state-of-the-web framework
CSS
1
star
27

r404

Error handler & renderer for Rails
Ruby
1
star
28

vscode-cyp

VS Code syntax highlighting for cyp
1
star
29

material-components-web

Provides a set of helpers simplifying the use of the Material Components Web library
Ruby
1
star
30

lovasz-local-lemma-deterministic-algorithms

Talk on Deterministic Algorithms for the Lovász Local Lemma
TeX
1
star
31

algorithms-lab

Solutions for the problems posed during the Algorithms Lab of 2021 at ETH Zurich.
C++
1
star
32

cancancan-system

Conventions & helpers simplifying the use of CanCanCan in complex Rails applications
Ruby
1
star
33

teaching-theo

Theoretical Computer Science teaching materials
TeX
1
star