Home

Awesome

JTRailsToolbox

Gem Version

JTRailsToolbox contains a list of common libs used for Ruby On Rails development.

Installation

JTRailsToolbox is distributed as a gem, which is how it should be used in your app.

Include the gem in your Gemfile:

gem 'jt-rails-toolbox', '~> 2.0'

Create a jt-toolbox.yml file:

rails g jt:toolbox

A simple configuration of jt-toolbox.yml file:

production:
  exception:
    slack:
      webhook_url: https://hooks.slack.com/services/XXXXXXXX
    email_prefix: '[ERROR]'
    sender_address: "Your website <error@example.com>"
    exception_recipients:
      - my_email_for_errors@example.com
  files:
    folder: upload
  mail:
    from: "Your website <contact@example.com>"
    delivery_method: smtp
    smtp_settings:
      address: smtp.gmail.com
      port: 587
      domain: example.com
      user_name: username
      password: password
      authentication: plain
      enable_starttls_auto: true
  hosts:
    host: https://www.example.com
    asset_host: https://asset.example.com
    cdn_host: https://cdn.example.com
  sidekiq:
    redis_url: redis://localhost:6379/my_app
    network_timeout: 5

What's in it?

http_accept_language

To install http_accept_language you just have to add a line in your ApplicationController

class ApplicationController < ActionController::Base
  include HttpAcceptLanguage::AutoLocale

end

Dotenv

It's a good practice to not include credentials for third party services in your code. You can defined it in a .env file which I recommend to not include in your git repository.

Exception Notification

If exception is not set in jt-toolbox.yml file, Exception Notification is disabled. In addition to the default ignored exceptions, the following exceptions are also muted:

Paperclip

Sidekiq

Warning

Don't forget to install redis server and to launch sidekiq with:

bundle exec sidekiq -e $RAILS_ENV -q default -q mailers -d -L log/sidekiq.log -P tmp/pids/sidekiq.pid

Hostname

It's a good practice to have a different domains for your web server and your file server (search "Cookieless Domain" on google for more informations).

ActionMailer

ActionMailer can be configured easily just with jt-toolbox.yml file.

Helper methods

google_anaytics_tag

It will add automatically in production environment the javascript code for Google Analytics. You just have add at the end of your app/views/layouts/application.html.erb file:

<%= google_anaytics_tag 'UA-XXXXXXX-X' %>

Author

License

JTRailsToolbox is released under the MIT license. See the LICENSE file for more info.