All Projects → jonhue → Notifications Rails

jonhue / Notifications Rails

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

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Notifications Rails

Octobox
📮Untangle your GitHub Notifications
Stars: ✭ 4,137 (+3082.31%)
Mutual labels:  rails, notifications
Materialize Sass
Materializecss rubygem for Rails Asset Pipeline / Sprockets
Stars: ✭ 785 (+503.85%)
Mutual labels:  rails, rubygem
Strip attributes
🔪 An ActiveModel extension that automatically strips all attributes of leading and trailing whitespace before validation. If the attribute is blank, it strips the value to nil.
Stars: ✭ 441 (+239.23%)
Mutual labels:  rails, rubygem
Tapping device
TappingDevice makes objects tell you what they do, so you don't need to track them yourself.
Stars: ✭ 296 (+127.69%)
Mutual labels:  rails, rubygem
Graphql devise
GraphQL interface on top devise_token_auth
Stars: ✭ 100 (-23.08%)
Mutual labels:  rails, rubygem
Clearance
Rails authentication with email & password.
Stars: ✭ 3,467 (+2566.92%)
Mutual labels:  rails, rubygem
Maily
📫 Rails Engine to preview emails in the browser
Stars: ✭ 502 (+286.15%)
Mutual labels:  rails, rubygem
Matestack Ui Core
Matestack enables you to create sophisticated, reactive UIs in pure Ruby, without touching JavaScript and HTML. You end up writing 50% less code while increasing productivity, maintainability and developer happiness.
Stars: ✭ 469 (+260.77%)
Mutual labels:  rails, rubygem
Karafka
Framework for Apache Kafka based Ruby and Rails applications development.
Stars: ✭ 1,223 (+840.77%)
Mutual labels:  rails, rubygem
Active enumerable
ActiveRecord like query methods for Ruby enumerable collections.
Stars: ✭ 73 (-43.85%)
Mutual labels:  rails, rubygem
Bugsnag Ruby
Bugsnag error monitoring & reporting software for rails, sinatra, rack and ruby
Stars: ✭ 211 (+62.31%)
Mutual labels:  rails, notifications
Apple id
Sign in with Apple backend library in Ruby
Stars: ✭ 115 (-11.54%)
Mutual labels:  rails, rubygem
Rpush
The push notification service for Ruby.
Stars: ✭ 1,886 (+1350.77%)
Mutual labels:  rails, notifications
Active delivery
Ruby framework for keeping all types of notifications (mailers, push notifications, whatever) in one place
Stars: ✭ 388 (+198.46%)
Mutual labels:  rails, notifications
Dry Rails
The official dry-rb railtie
Stars: ✭ 142 (+9.23%)
Mutual labels:  rails, rubygem
Ordinalize full
Turns a number into an ordinal string such as first, second, third or 1st, 2nd, 3rd.
Stars: ✭ 6 (-95.38%)
Mutual labels:  rails, rubygem
Rails server timings
Server Timing headers for Rails apps
Stars: ✭ 112 (-13.85%)
Mutual labels:  rails, rubygem
Activeinteractor
An implementation of the command pattern for Ruby with ActiveModel::Validations inspired by the interactor gem. Rich support for attributes, callbacks, and validations, and thread safe performance methods.
Stars: ✭ 118 (-9.23%)
Mutual labels:  rails, rubygem
Master rails by actions
Rails实战之B2C商城开发 http://eggman.tv/c/s-master-rails-by-actions
Stars: ✭ 127 (-2.31%)
Mutual labels:  rails
Sabisu Rails
Simple and powerful engine for exploring your Rails api application
Stars: ✭ 129 (-0.77%)
Mutual labels:  rails

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].