# frozen_string_literal: true ruby '2.6.2' source 'https://rubygems.org' git_source(:github) { |s| "https://github.com/#{s}.git" } # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'. gem 'rails', '~> 6.0.0' # A set of common locale data and translations # to internationalize and/or localize your Rails applications. gem 'rails-i18n', '~> 6.0.0' # Use postgresql as the database for Active Record. gem 'pg', '~> 1.1' # Use Puma as the app server. gem 'puma', '~> 4.2' # Use Uglifier as compressor for JavaScript assets. gem 'uglifier', '>= 4.0' # Turbolinks makes navigating your web application faster. # Read more: https://github.com/turbolinks/turbolinks. gem 'turbolinks', '~> 5.2' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder. # gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production. gem 'redis', '~> 4.1' # Use ActiveModel has_secure_password. gem 'bcrypt', '~> 3.1' # Use ActiveStorage variant. # gem 'mini_magick', '~> 4.8' # Reduces boot times through caching; required in config/boot.rb. gem 'bootsnap', '>= 1.4.0', require: false # Provides extended documentation support for the REPL # by means of improving the `show-doc` and `show-source` commands. # With help of the plugin the commands are be able to display the source code # and the docs of Ruby methods and classes implemented in C. gem 'pry-doc', '~> 1.0' # Use Pry as your Rails console. gem 'pry-rails', '~> 0.3' # This gem provides jQuery and the jQuery-ujs driver # for your Rails 4+ application. gem 'jquery-rails', '~> 4.3' # The most popular HTML, CSS, and JavaScript framework for developing # responsive, mobile first projects on the web. gem 'bootstrap', '~> 4.3.1' # Font-Awesome SASS gem for use in Ruby projects. gem 'font-awesome-sass', '~> 5.5.0' # Forms made easy for Rails! # It's tied to a simple DSL, with no opinion on markup. gem 'simple_form', '~> 5.0' # A simple HTTP and REST client for Ruby, # inspired by the Sinatra microframework style of specifying actions: # get, put, post, delete. gem 'rest-client', '~> 2.1' # A gem that provides a client interface for the Sentry error logger. gem 'sentry-raven' # Flexible authentication solution for Rails with Warden. gem 'devise', '~> 4.7' # Translations for the devise gem. gem 'devise-i18n', '~> 1.8' # Object oriented authorization for Rails applications. gem 'pundit', '~> 2.1' # Interactor provides a common interface # for performing complex user interactions. gem 'interactor', '~> 3.1' # A generalized Rack framework for multiple-provider authentication. gem 'omniauth', '~> 1.9' # This gem provides a mitigation against CVE-2015-9284 (Cross-Site Request # Forgery on the request phrase when using OmniAuth gem with a Ruby on Rails # application) by implementing a CSRF token verifier that directly utilize # `ActionController::RequestForgeryProtection` code from Rails. gem 'omniauth-rails_csrf_protection', '~> 0.1' # Official OmniAuth strategy for GitHub. gem 'omniauth-github', '~> 1.3' # A rack middleware for throttling and blocking abusive requests. gem 'rack-attack', '~> 6.1' # Simple, efficient background processing for Ruby. gem 'sidekiq', '~> 6.0' # Helpers for the reCAPTCHA API. gem 'recaptcha', '~> 5.1' # Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable # and sophisticated paginator for Rails 4+. gem 'kaminari', '~> 1.1' # Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3). # This gem is part of the AWS SDK for Ruby. gem 'aws-sdk-s3', require: false # ActiveModel/Record integrations for Elasticsearch. gem 'elasticsearch-model', '~> 7.0' # Ruby on Rails integrations for Elasticsearch. gem 'elasticsearch-rails', '~> 7.0' group :development, :test do # factory_bot provides a framework and DSL for defining and using factories. gem 'factory_bot_rails', '~> 4.10' # Faker is used to easily generate fake data: # names, addresses, phone numbers, etc. gem 'faker', '~> 1.8' # Automatic Ruby code style checking tool. # Aims to enforce the community-driven Ruby Style Guide. gem 'rubocop', '~> 0.72.0' # A collection of RuboCop cops # to check for performance optimizations in Ruby code. gem 'rubocop-performance', '~> 1.4' # Automatic Rails code style checking tool. A RuboCop extension # focused on enforcing Rails best practices and coding conventions. gem 'rubocop-rails', '~> 2.2' # Code style checking for RSpec files. # A plugin for the RuboCop code style enforcing & linting tool. gem 'rubocop-rspec', '~> 1.36' # rspec-rails is a testing framework for Rails 3+ gem 'rspec-rails', '~> 3.8' # bundler-audit provides patch-level verification for Bundled apps. gem 'bundler-audit', '~> 0.6' # Brakeman detects security vulnerabilities # in Ruby on Rails applications via static analysis. gem 'brakeman', '~> 4.3' end group :development do # Capistrano is a utility and framework for executing commands in parallel # on multiple remote machines, via SSH. gem 'capistrano', '~> 3.11', require: false # RVM integration for Capistrano. gem 'capistrano-rvm', '~> 0.1', require: false # Rails specific Capistrano tasks. gem 'capistrano-rails', '~> 1.4', require: false # Remote Rails console for Capistrano. gem 'capistrano-rails-console', '~> 2.3', require: false # Call 'byebug' anywhere in the code to stop execution # and get a debugger console. gem 'byebug', platforms: %i[mri mingw x64_mingw] # The Listen gem listens to file modifications # and notifies you about the changes. Works everywhere! gem 'listen', '>= 3.0.5', '< 3.2' # Access an interactive console on exception pages or by calling 'console' # anywhere in the code. gem 'web-console', '>= 3.3.0' # Spring speeds up development by keeping your application running # in the background. Read more: https://github.com/rails/spring. gem 'spring' # Makes spring watch files using the listen gem. gem 'spring-watcher-listen', '~> 2.0.0' # Automatically generate an entity-relationship diagram (ERD) # for your Rails models. gem 'rails-erd', '~> 1.5' # YARD is a documentation generation tool for the Ruby programming language. gem 'yard', '~> 0.9', '>= 0.9.20' # When mail is sent from your application, # Letter Opener will open a preview in the browser instead of sending. gem 'letter_opener', '~> 1.6' end group :test do # A Ruby implementation of the Coveralls API. gem 'coveralls', require: false # Strategies for cleaning databases. # Can be used to ensure a clean state for testing. gem 'database_cleaner', '~> 1.7' # Code coverage for Ruby 1.9+ with a powerful configuration library # and automatic merging of coverage across test suites. gem 'simplecov', '~> 0.16', require: false # Simple one-liner tests for common Rails functionality. gem 'shoulda-matchers', '4.0.0.rc1' # Cucumber Generator and Runtime for Rails. gem 'cucumber-rails', '~> 1.7', require: false # When a Cucumber step fails, it is useful to create a screenshot image # and HTML file of the current page. gem 'capybara-screenshot', '~> 1.0' # WebDriver is a tool for writing automated tests of websites. # It aims to mimic the behaviour of a real user, # and as such interacts with the HTML of the application. gem 'selenium-webdriver', '~> 3.14' # A set of RSpec matchers for testing Pundit authorization policies. gem 'pundit-matchers', '~> 1.6' end