Skip to content

Instantly share code, notes, and snippets.

@andrewmcodes
Created July 11, 2020 21:25
Show Gist options
  • Save andrewmcodes/55b7c37ad3801ec8d7118e82f8b2505f to your computer and use it in GitHub Desktop.
Save andrewmcodes/55b7c37ad3801ec8d7118e82f8b2505f to your computer and use it in GitHub Desktop.
HEY's Gemfile annotated with annotate_gem
# Generated with https://github.com/ivantsepp/annotate_gem/
ruby '2.7.1'
# Full-stack web application framework. (https://rubyonrails.org)
gem 'rails', github: 'rails/rails'
# Timezone Data for TZInfo (https://tzinfo.github.io)
gem 'tzinfo-data', '>= 1.2016.7' # Don't rely on OSX/Linux timezone data
# ==== Action Text ====
# Rich text framework. (https://rubyonrails.org)
gem 'actiontext', github: 'basecamp/actiontext', ref: 'okra'
gem 'okra', github: 'basecamp/okra'
# ==== Drivers ====
# A simple, fast Mysql library for Ruby, binding to libmysql (https://github.com/brianmario/mysql2)
gem 'mysql2'
# This module allows Ruby programs to interface with the SQLite3 database engine (http://www.sqlite.org) (https://github.com/sparklemotion/sqlite3-ruby)
gem 'sqlite3' # Used for asset generation in BK
# A Ruby client library for Redis (https://github.com/redis/redis-rb)
gem 'redis', '~> 4.0'
gem 'redis_connectable', github: 'basecamp/redis_connectable'
# Namespaces Redis commands. (http://github.com/resque/redis-namespace)
gem 'redis-namespace'
# Generic connection pool for Ruby (https://github.com/mperham/connection_pool)
gem 'connection_pool'
# High-level wrapper for processing images for the web with ImageMagick or libvips. (https://github.com/janko/image_processing)
gem 'image_processing', '~> 1.2'
# Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications (http://puma.io)
gem 'puma', '>= 4.3.3', github: 'puma/puma'
# ==== JavaScript and assets ====
# Use webpack to manage app-like JavaScript modules in Rails (https://github.com/rails/webpacker)
gem 'webpacker', '~> 5.1.1'
# Rack-based asset packaging system (https://github.com/rails/sprockets)
gem 'sprockets', github: 'rails/sprockets'
# Sprockets Rails integration (https://github.com/rails/sprockets-rails)
gem 'sprockets-rails', github: 'rails/sprockets-rails'
# Create JSON structures via a Builder-style DSL (https://github.com/rails/jbuilder)
gem 'jbuilder', '~> 2.9', '>= 2.9.1', github: 'rails/jbuilder'
# Integrate SassC-Ruby into Rails. (https://github.com/sass/sassc-rails)
gem 'sassc-rails', '~> 2.1'
# Use libsass with Ruby! (https://github.com/sass/sassc-ruby)
gem 'sassc', '<= 2.1'
# Rails engine for cache-friendly, client-side local time
gem 'local_time', '~> 2.0'
# Turbocharged Rails Engine Generator (https://github.com/stevenh512/turbo)
gem 'turbo', github: 'basecamp/turbo'
# ==== Security ====
# OpenBSD's bcrypt() password hashing algorithm. (https://github.com/codahale/bcrypt-ruby)
gem 'bcrypt', '~> 3.1.7'
# Tools to use the Pwned Passwords API. (https://github.com/philnash/pwned)
gem 'pwned', '~> 2.0'
# A Ruby library for generating and verifying one time passwords (http://github.com/mdp/rotp)
gem 'rotp'
# WebAuthn ruby server library (https://github.com/cedarcode/webauthn-ruby)
gem 'webauthn'
# Flexible rate limits for your Rack apps (https://github.com/jeremy/rack-ratelimit)
gem 'rack-ratelimit', github: 'jeremy/rack-ratelimit'
# ==== Jobs ====
# Resque is a Redis-backed queueing system. (http://resque.github.io/)
gem 'resque', '~> 2.0.0'
# Have your resque workers process more that one job (https://github.com/stulentsev/resque-multi-job-forks)
gem 'resque-multi-job-forks', '~> 0.5'
# quickly and easily fork a pool of resque workers (http://github.com/nevans/resque-pool)
gem 'resque-pool', github: 'nevans/resque-pool'
# Light weight job scheduling on top of Resque (http://github.com/resque/resque-scheduler)
gem 'resque-scheduler', github: 'resque/resque-scheduler'
# A Resque plugin to add functionality to pause resque jobs through the web interface.
gem 'resque-pause', github: 'basecamp/resque-pause'
# Rails-based Resque web interface (https://github.com/resque/resque-web)
gem 'resque-web', require: 'resque_web'
# This gem provides tabs in Resque Web for managing Resque Scheduler. (https://github.com/mattgibson/resque-scheduler-web)
gem 'resque-scheduler-web', github: 'mattgibson/resque-scheduler-web'
# Classy web-development dressed in a DSL (http://sinatrarb.com/)
gem 'sinatra', github: 'sinatra/sinatra'
# Storage
# AWS SDK for Ruby - Amazon S3 (https://github.com/aws/aws-sdk-ruby)
gem 'aws-sdk-s3', '~> 1.48.0'
gem 'activestorage-redundancy', github: 'basecamp/activestorage-redundancy'
# Active Storage previewer for Microsoft Office files based on LibreOffice (https://github.com/basecamp/activestorage-office-previewer)
gem 'activestorage-office-previewer', '~> 0.1'
# Search
# ActiveModel/Record integrations for Elasticsearch. (https://github.com/elasticsearch/elasticsearch-rails/)
gem 'elasticsearch-model', github: 'elastic/elasticsearch-rails', branch: '6.x'
# Ruby on Rails integrations for Elasticsearch. (https://github.com/elasticsearch/elasticsearch-rails/)
gem 'elasticsearch-rails', github: 'elastic/elasticsearch-rails', branch: '6.x'
gem 'html_scrubber', github: 'basecamp/html_scrubber'
# Push notifications
# AWS SDK for Ruby - Amazon Pinpoint (http://github.com/aws/aws-sdk-ruby)
gem 'aws-sdk-pinpoint'
# Monitoring
# Simple availability checks for your rails app (https://github.com/basecamp/easymon)
gem 'easymon', '~> 1.4.2'
# A gem that provides a client interface for the Sentry error logger (https://github.com/getsentry/raven-ruby)
gem 'sentry-raven'
# Logging/instrumentation
gem 'rails_structured_logging', github: 'basecamp/rails-structured-logging'
# Make full request logs accessible via web UI (https://github.com/basecamp/full_request_logger)
gem 'full_request_logger', github: 'basecamp/full_request_logger'
gem 'critter', '~> 0.3.0', github: 'basecamp/critter', require: false
gem 'activejob-stats', github: 'basecamp/activejob-stats'
# Profiling/troubleshooting
# rbtrace: like strace but for ruby code (http://github.com/tmm1/rbtrace)
gem 'rbtrace'
# sampling callstack-profiler for ruby 2.1+ (http://github.com/tmm1/stackprof)
gem 'stackprof'
# Profiles loading speed for rack applications. (https://miniprofiler.com)
gem 'rack-mini-profiler'
# Flamegraph support for arbitrary ruby apps (https://github.com/SamSaffron/flamegraph)
gem 'flamegraph'
# Queenbee
# Gem to send e-commerce orders to the Queenbee central app. (https://github.com/olimart/queenbee-ruby)
gem 'queenbee', github: 'basecamp/queenbee-plugin'
# XML parameters parser for Action Pack (removed from core in Rails 4.0) (http://www.rubyonrails.org)
gem 'actionpack-xml_parser'
# Gives you a country object full of all sorts of useful information. (http://github.com/hexorx/countries)
gem 'countries'
# vCard parsing
# Ruby wrapper for invoking Pentaho Data Integration (https://github.com/bluemarblepayroll/pdi)
gem 'pdi', github: 'basecamp/pdi', branch: 'utf-8-default'
# Supervised rails console in production environments
gem 'console1984', github: 'basecamp/console1984'
# Other
# Rake is a Make-like program implemented in Ruby (https://github.com/ruby/rake)
gem 'rake', github: 'ruby/rake'
# Parse user agent to deduce the platform. (https://github.com/basecamp/platform_agent)
gem 'platform_agent'
# HTTP User Agent parser (http://github.com/josh/useragent)
gem 'useragent', github: 'basecamp/useragent'
# Paginate Active Record sets at variable speeds (https://github.com/basecamp/geared_pagination)
gem 'geared_pagination', '>= 1.0.0'
# A library to encode QR Codes (https://github.com/whomwah/rqrcode)
gem 'rqrcode'
# Ruby extension for base32 encoding and decoding
gem 'base32'
# Makes http fun! Also, makes consuming restful web services dead easy. (https://github.com/jnunemaker/httparty)
gem 'httparty'
# Boot large ruby/rails apps faster (https://github.com/Shopify/bootsnap)
gem 'bootsnap', '>= 1.4.2', require: false # Reduces boot times through caching; required in config/boot.rb
gem 'rspamd', github: 'basecamp/rspamd-ruby'
# Maps arbitrary objects to a Redis store with indices and smart retrieval and storage mechanisms.
gem 'redis_object', github: 'basecamp/redis_object'
# Ruby/ProgressBar is a flexible text progress bar library for Ruby. (https://github.com/jfelchner/ruby-progressbar)
gem 'ruby-progressbar', require: false
# Mostly autolinking (https://github.com/vmg/rinku)
gem 'rinku', require: 'rails_rinku'
# Transparent ActiveRecord encryption (https://github.com/alpaca-tc/active_record_encryption)
gem 'active_record_encryption', github: 'basecamp/active_record_encryption'
# Punycode ACE to unicode UTF-8 (and vice-versa) string conversion. (https://github.com/mmriis/simpleidn)
gem 'simpleidn'
group :development, :test do
# Ruby fast debugger - base + CLI (https://github.com/deivid-rodriguez/byebug)
gem 'byebug'
# Lightweight Ruby debugger (https://github.com/gsamokovarov/break)
gem 'break'
# Rails application preloader (https://github.com/rails/spring)
gem 'spring'
# Code critics
# Automatic Ruby code style checking tool. (https://github.com/rubocop-hq/rubocop)
gem 'rubocop', '>= 0.72', require: false
# Automatic performance checking tool for Ruby code. (https://github.com/rubocop-hq/rubocop-performance)
gem 'rubocop-performance', require: false
# Automatic Rails code style checking tool. (https://github.com/rubocop-hq/rubocop-rails)
gem 'rubocop-rails', require: false
# SCSS lint tool (https://github.com/sds/scss-lint)
gem 'scss_lint', '~> 0.50', require: false
# Patch-level verification for Bundler (https://github.com/rubysec/bundler-audit#readme)
gem 'bundler-audit', '~> 0.4', github: 'basecamp/bundler-audit', branch: 'thor-bump', require: false
# Security vulnerability scanner for Ruby on Rails. (https://brakemanscanner.org)
gem 'brakeman', '>= 4.0', require: false
# An iterations per second enhancement to Benchmark. (https://github.com/evanphx/benchmark-ips)
gem 'benchmark-ips', require: false
end
group :development do
# A debugging tool for your Ruby on Rails applications. (https://github.com/rails/web-console)
gem 'web-console'
# Listen to file modifications (https://github.com/guard/listen)
gem 'listen', '>= 3.0.5', '< 3.2'
# Easily generate fake data (https://github.com/faker-ruby/faker)
gem 'faker', require: false
# Deploys, local CI
gem 'haybales', github: 'basecamp/haybales'
end
group :test do
# Mocking and stubbing library (https://mocha.jamesmead.org)
gem 'mocha'
# Capybara aims to simplify the process of integration testing Rack applications, such as Rails, Sinatra or Merb (https://github.com/teamcapybara/capybara)
gem 'capybara', '>= 2.15', github: 'teamcapybara/capybara'
# The next generation developer focused tool for automated testing of webapps (https://github.com/SeleniumHQ/selenium)
gem 'selenium-webdriver'
# Library for stubbing HTTP requests in Ruby. (http://github.com/bblimke/webmock)
gem 'webmock', github: 'bblimke/webmock'
# Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. (https://relishapp.com/vcr/vcr/docs)
gem 'vcr'
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment