weathermen/soundstorm

View on GitHub
Gemfile

Summary

Maintainability
Test Coverage
# frozen_string_literal: true

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.6.5'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.0'
# Use postgresql as the database for Active Record
gem 'pg', '>= 0.18', '< 2.0'
# Use Puma as the app server
gem 'puma', '~> 4.3'
# Use SCSS for stylesheets
gem 'sassc-rails'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
gem 'turbolinks_render'
# 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.0'
# Use ActiveModel has_secure_password
gem 'bcrypt', '~> 3.1.7'
# Use ActiveStorage variant
gem 'mini_magick', '~> 4.9'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.1.0', require: false
# Use Pry as a Rails console
gem 'pry-rails'
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
# Use Devise for authentication
gem 'devise'
# Use Haml for views
gem 'hamlit-rails'
gem 'pandoc-ruby'
# Generate friendly slugs
gem 'friendly_id'
# Track changes to models
gem 'paper_trail'
gem 'paper_trail-globalid'
gem 'rails-decorators'
# Use HTTP.rb to communicate over ActivityPub
gem 'http'
# Use Logstash and Kibana for logs
gem 'logstasher'
# Provide OAuth with Doorkeepr
gem 'doorkeeper'
# Protect the application against malicious clients
gem 'rack-attack'
# Followers, likes, and mentions
gem 'socialization'
# Track waveform generation
gem 'waveform'
gem 'oily_png'
# Search users and tracks with Elasticsearch
gem 'elasticsearch-rails', '7.0.0.pre', require: 'elasticsearch/rails'
gem 'elasticsearch-model', '7.0.0.pre', require: 'elasticsearch/model'
# Sign in with Mastodon
gem 'omniauth'
gem 'omniauth-rails_csrf_protection'
# Custom Translations
gem 'i18n-active_record', require: 'i18n/active_record'
# Audio Analysis
gem 'activestorage-audio', '~> 0.1.0'

group :development, :test do
  # Call 'binding.pry' anywhere in the code to stop execution and get a debugger console
  gem 'pry-byebug'
  # Ruby code style guide
  gem 'rubocop'
  # Lint Haml code
  gem 'haml-lint'
end

group :development do
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'listen', '>= 3.0.5', '< 3.2'
  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'
  gem 'spring-watcher-listen', '~> 2.0.0'
  # Monitor slow and unnecessary queries
  gem 'query_diet'
  # Monitor security issues
  gem 'brakeman', require: false
  # Annotate models with schema comments
  gem 'annotate'
  # Document APIs with the OpenAPI/Swagger spec
  gem 'swagger-docs'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15', '< 4.0'
  gem 'selenium-webdriver'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'chromedriver-helper'
  # Save HTTP requests and mock them for use in later test runs
  gem 'vcr'
  gem 'webmock'
  # Code coverage
  gem 'simplecov'
  gem 'simplecov-console'
end

group :production do
  # Use Sidekiq to run background jobs in production
  gem 'sidekiq'
  # Send Sidekiq logs to Logstash
  gem 'sidekiq-logstash'
  # Use Redis to store the Rack::Cache HTTP cache
  gem 'redis-rack-cache'
  # Store uploaded files to AWS S3
  gem 'aws-sdk-s3'
  # Report exceptions to Sentry
  gem 'sentry-raven'
end

group :jekyll_plugins do
  # Set up local development to match GitHub Pages
  gem 'github-pages'
  gem 'jekyll', '~> 3.3'
  # Add SEO tags to docs site
  gem 'jekyll-seo-tag'
  # Automatically link @-mentions of GitHub users
  gem 'jekyll-mentions'
  # Use GitHub emojis in Jekyll
  gem 'jemoji'
end