jmuheim/base

View on GitHub
Gemfile

Summary

Maintainability
Test Coverage
source 'https://rubygems.org'

gem 'rails', '< 6.1'

gem 'puma' # Use Puma as the app server

gem 'rails-i18n' # Locale data

gem 'mobility' # Pluggable Ruby translation framework

gem 'slim-rails' # Awesome template language that replaces ERB

gem 'uglifier' # Use Uglifier as compressor for JavaScript assets

gem 'coffee-rails' # Use CoffeeScript for .js.coffee assets and views

gem 'sass-rails' # Use Sass for stylesheets

gem 'compass-rails', '~> 3.1' # Compass framework

gem 'bootstrap-sass' # Sleek, intuitive, and powerful front-end framework

gem 'font-awesome-rails' # The iconic font and CSS toolkit

gem 'validate_url' # URL Validation for Rails

gem 'validates_email_format_of' # Validate e-mail addreses against RFC 2822 and RFC 3696

gem 'humanizer' # Very simple captcha

gem 'acts_as_tree' # Extends ActiveRecord to add simple support for organizing items into parent–children relationships

gem 'acts_as_list' # An ActiveRecord plugin for managing lists

gem 'premailer-rails' # CSS styled emails without the hassle

# jQuery
gem 'jquery-rails'

# Flexible authentication solution
gem 'devise'
gem 'devise-i18n' # Translations

gem 'cancancan' # Authorization library which restricts what resources a given user is allowed to access

gem 'responders' # A set of Rails responders

gem 'simple_form' # Forms made easy for Rails

gem 'gaffe' # Handles Rails error pages in a clean, simple way

gem 'cocoon' # Dynamic nested forms made easy

gem 'validates_timeliness' # Date and time validation plugin for ActiveModel and Rails

gem 'strip_attributes', git: 'https://github.com/jmuheim/strip_attributes.git' # Automatically strips all attributes of leading and trailing whitespace (or nilify if blank)

gem 'enumerize' # Enumerated attributes with I18n

gem 'paper_trail' # Track changes to your models' data. Good for auditing or versioning.

# Classier solution for file uploads for Rails
gem 'carrierwave'
gem 'carrierwave-base64' # Upload files encoded as base64 to carrierwave

gem 'mini_magick' # Mini replacement for RMagick

gem 'fancybox2-rails' # Fancybox (lightbox clone)

gem 'slugify' # Turn a string into its alphanumerical dashed equivalent

gem 'pandoc-ruby' # Markdown parser and format converter (from/to Markdown, HTML, Docx, PDF, Epub, ODT...)

gem 'ransack' # Object-based searching

gem 'actionview-encoded_mail_to' # Rails mail_to helper with obfuscation

gem 'wannabe_bool' # Converts strings, integers, etc. intuitively to boolean values

gem 'mysql2' # Use MySQL as the database for Active Record

# Optimize images using multiple utilities
gem 'image_optim'
gem 'image_optim_pack' # Precompiled binaries for image_optim

group :doc do
  gem 'sdoc', require: false # bundle exec rake doc:rails generates the API under doc/api.
end

group :development, :test do
  # Testing tool for the Ruby programming language
  gem 'rspec'
  gem 'rspec-rails' # RSpec for Rails

  gem 'factory_bot_rails' # Test data generator

  # Use Pry and its extensions to debug
  gem 'pry-rails' # Rails >= 3 pry initializer
  gem 'awesome_print' # Pretty print your Ruby objects with style
  gem 'pry-byebug'  # Pry navigation commands via debugger (formerly ruby-debug)
end

group :development do
  gem 'web-console' # Access an IRB console by using <%= console %> anywhere in the code

  gem 'listen' # Listens to file modifications and notifies you about the changes

  # Better Errors: Replaces the standard Rails error page with a more useful one
  gem 'better_errors'
  # gem 'binding_of_caller' # Adds a REPL console to error pages (disabled, because it's very slow, see https://github.com/charliesome/better_errors/issues/341)

  gem 'xray-rails' # Reveals your UI's bones with Cmd-X/Ctrl-X

  # Rails application preloader
  gem 'spring'
  gem 'spring-watcher-listen'
  gem 'spring-commands-rspec' # Commands for RSpec

  # Guard: automatically run commands when files are changed
  gem 'guard'
  gem 'guard-rspec', require: false      # Automatically run tests
  gem 'terminal-notifier-guard'          # Mac OS X User Notifications for Guard
  gem 'guard-livereload', require: false # Automatically reload your browser when 'view' files are modified
  gem 'guard-bundler'                    # Automatically install/update gem bundle when needed
  gem 'guard-migrate'                    # Automatically run migrations when they are edited
  gem 'guard-shell'                      # Automatically run shell commands

  gem 'rerun', require: false # Restarts an app when the filesystem changes

  gem 'rack-livereload' # Enable LiveReload in Rails

  gem 'rb-fsevent', require: false # FSEvents API with signals handled

  gem 'rubocop', require: false # A robust Ruby code analyzer, based on the community Ruby style guide

  gem 'capybara' # Acceptance test framework for web applications

  gem 'rails-footnotes', git: 'https://github.com/I-de-ya/rails-footnotes.git' # Every Rails page has footnotes that gives information about your application

  # Remote multi-server automation tool
  gem 'capistrano', '~>3.10', require: false
  gem 'capistrano-rails', '~>1.4', require: false
  gem 'capistrano3-puma', require: false

  gem 'i18n_yaml_sorter' # A I18n YAML deep sorter that will keep your locales organized
end

group :test do
  gem 'rspec-collection_matchers' # Collection cardinality matchers

  gem 'respec', require: false # Allows to rerun failed specs (first do `respec` to run all, then `respec f` or `respec 123` to run failed)

  gem 'fuubar' # The instafailing RSpec progress bar formatter

  gem 'email_spec' # Collection of RSpec matchers for testing email

  gem 'shoulda-matchers' # Collection of RSpec matchers

  gem 'database_cleaner' # Resets test database after each test

  # Capybara - Headless, JavaScript-executing browser for Selenium
  gem 'selenium-webdriver'  # Selenium webdriver (needed to use Chrome driver)
  gem 'webdrivers', '~> 4.0', require: false # Run Selenium tests more easily with automatic installation and updates for all supported webdrivers.
  gem 'capybara-screenshot' # Automatically save screen shots when a scenario fails

  gem 'i18n-tasks' # Manage translation and localization with static analysis

  gem 'simplecov'
end

group :production do
end

# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.1.2'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]