Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rails_toastify

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rails_toastify

  • 1.2.2
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

RailsToastify

Rails Toastify allows you to easily add notifications to your app. Please CONTRIBUTE.

The Rails Toastify gem is completely inspired by the React Toastify lib and is specially made for those React developers who are migrating to Rails thanks to Hotwire or for any other reason, and who love using Toasts and wanted a gem that makes it as easy as it is in React. 🎉

To see the pure html, css and javascript that originated this gem, just access this codepen link.

Installation

Add gem in your Gemfile:

gem 'rails_toastify'

and run bundle install

After run:

rails generate rails_toastify:install

This will create a file config/initializers/rails_toastify.rb where you can define what configuration you want to use:

RailsToastify.setup do |configuration|
  configuration.position = 'toast-container-top-right'
  configuration.notice_animation = 'bounce' # bounce, slide, flip, zoom 
  configuration.alert_animation = 'slide' # bounce, slide, flip, zoom
  configuration.notice_duration = 3000
  configuration.alert_duration = 3000
  configuration.notice_theme = 'light' # light, dark
  configuration.alert_theme = 'light' # light, dark
  configuration.notice_type = 'default' # default, success, warning, error, info
  configuration.alert_type = 'error' # default, success, warning, error, info
end

Usage

In your application.html.erb add in your header:

<%= stylesheet_link_tag 'rails_toastify', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'rails_toastify', 'data-turbo-track': 'reload' %>

And in your body:

<%= rails_toastify_container %>
<%= rails_toastify_script %>

And call function RailsToastify.show any javascript or console:

RailsToastify.show('This is a message!', { theme: 'light', type: 'default', animation: 'bounce', duration: 3000 });

To see notice or alert in a toast add this in application.html.erb:

<% if notice %>
  <script>
    RailsToastify.show('<%= notice %>',
      { theme: '<%= RailsToastify.configuration.notice_theme %>',
        type: '<%= RailsToastify.configuration.notice_type %>',
        animation: '<%= RailsToastify.configuration.notice_animation %>',
        duration: <%= RailsToastify.configuration.notice_duration %>
      })
  </script>
<% end %>

<% if alert %>
  <script>
    RailsToastify.show('<%= alert %>',
      { theme: '<%= RailsToastify.configuration.alert_theme %>',
        type: '<%= RailsToastify.configuration.alert_type %>',
        animation: '<%= RailsToastify.configuration.alert_animation %>',
        duration: <%= RailsToastify.configuration.alert_duration %>
      })
  </script>
<% end %>

** Note that toast can be configured for either notice type or alert type. Both types or just one of the types can be used.

Next steps

  • Add tests
  • Add others positions (left, center, bottom)
  • Add fade in and fade out animation
  • In addition to the colors, allow the user to choose any color for the progress bar

Requirements

  • Ruby >= 2.6.0 (recommended 2.7+)
  • Rails >= 6.0 (compatible up to Rails 7)

Contributing to Rails Toastify

Fork, fix, then send a pull request. Bug reports and pull requests are welcome on GitHub at https://github.com/eltonsantos/rails_toastify.

License

This gem is available as open-source under the terms of The MIT License (MIT).

Copyright (c) 2024 Elton Santos. See MIT-LICENSE for further details and see CHANGELOG to see what was changed.

FAQs

Package last updated on 19 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc