rails--rails/Gemfile

187 lines
5.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
source "https://rubygems.org"
2010-02-01 00:33:06 +00:00
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
gemspec
# We need a newish Rake since Active Job sets its test tasks' descriptions.
gem "rake", ">= 11.1"
gem "capybara", ">= 3.26"
gem "selenium-webdriver", ">= 4.0.0.alpha7"
gem "rack-cache", "~> 1.2"
2017-11-14 19:42:12 +00:00
gem "sass-rails"
gem "turbolinks", "~> 5"
gem "webpacker", "~> 5.0", require: ENV["SKIP_REQUIRE_WEBPACKER"] != "true"
2014-02-21 20:58:09 +00:00
# require: false so bcrypt is loaded only when has_secure_password is used.
# This is to avoid Active Model (and by extension the entire framework)
2014-02-21 20:58:09 +00:00
# being dependent on a binary library.
gem "bcrypt", "~> 3.1.11", require: false
2014-02-21 20:58:09 +00:00
# This needs to be with require false to avoid it being automatically loaded by
# sprockets.
gem "terser", ">= 1.1.4", require: false
# Explicitly avoid 1.x that doesn't support Ruby 2.4+
gem "json", ">= 2.0.0"
group :rubocop do
gem "rubocop", ">= 0.90", require: false
gem "rubocop-minitest", require: false
gem "rubocop-packaging", require: false
gem "rubocop-performance", require: false
gem "rubocop-rails", require: false
end
2016-11-28 03:12:33 +00:00
group :doc do
gem "sdoc", ">= 2.2.0"
gem "redcarpet", "~> 3.2.3", platforms: :ruby
gem "w3c_validators", "~> 1.3.6"
2016-12-18 15:13:50 +00:00
gem "kindlerb", "~> 1.2.0"
gem "rouge"
end
2018-12-24 20:16:22 +00:00
# Active Support
gem "dalli"
gem "listen", "~> 3.3", require: false
gem "libxml-ruby", platforms: :ruby
gem "connection_pool", require: false
gem "rexml", require: false
# for railties
gem "bootsnap", ">= 1.4.4", require: false
gem "webrick", require: false
2019-02-11 20:44:25 +00:00
2018-12-24 20:16:22 +00:00
# Active Job
2014-08-20 02:21:39 +00:00
group :job do
2017-02-10 06:31:41 +00:00
gem "resque", require: false
gem "resque-scheduler", require: false
gem "sidekiq", require: false
gem "sucker_punch", require: false
gem "delayed_job", require: false
gem "queue_classic", github: "QueueClassic/queue_classic", require: false, platforms: :ruby
gem "sneakers", require: false
gem "que", require: false
gem "backburner", require: false
gem "delayed_job_active_record", require: false
gem "sequel", require: false
2014-08-20 02:21:39 +00:00
end
2014-08-12 09:29:21 +00:00
# Action Cable
group :cable do
gem "puma", require: false
2016-01-24 10:43:40 +00:00
gem "hiredis", require: false
gem "redis", "~> 4.0", require: false
gem "redis-namespace"
gem "websocket-client-simple", github: "matthewd/websocket-client-simple", branch: "close-race", require: false
end
2017-10-11 19:31:54 +00:00
# Active Storage
group :storage do
2017-09-10 03:22:10 +00:00
gem "aws-sdk-s3", require: false
gem "google-cloud-storage", "~> 1.11", require: false
gem "azure-storage-blob", require: false
Use ImageProcessing gem for ActiveStorage variants ImageProcessing gem is a wrapper around MiniMagick and ruby-vips, and implements an interface for common image resizing and processing. This is the canonical image processing gem recommended in [Shrine], and that's where it developed from. The initial implementation was extracted from Refile, which also implements on-the-fly transformations. Some features that ImageProcessing gem adds on top of MiniMagick: * resizing macros - #resize_to_limit - #resize_to_fit - #resize_to_fill - #resize_and_pad * automatic orientation * automatic thumbnail sharpening * avoids the complex and inefficient MiniMagick::Image class * will use "magick" instead of "convert" on ImageMagick 7 However, the biggest feature of the ImageProcessing gem is that it has an alternative implementation that uses libvips. Libvips is an alternative to ImageMagick that can process images very rapidly (we've seen up 10x faster than ImageMagick). What's great is that the ImageProcessing gem provides the same interface for both implementations. The macros are named the same, and the libvips implementation does auto orientation and thumbnail sharpening as well; only the operations/options specific to ImageMagick/libvips differ. The integration provided by this PR should work for both implementations. The plan is to introduce the ImageProcessing backend in Rails 6.0 as the default backend and deprecate the MiniMagick backend, then in Rails 6.1 remove the MiniMagick backend.
2018-04-05 23:48:29 +00:00
gem "image_processing", "~> 1.2"
end
2018-12-24 20:16:22 +00:00
# Action Mailbox
gem "aws-sdk-sns", require: false
gem "webmock"
group :ujs do
gem "webdrivers"
end
# Action View
group :view do
gem "blade", require: false, platforms: [:ruby]
gem "sprockets-export", require: false
end
# Add your own local bundler stuff.
local_gemfile = File.expand_path(".Gemfile", __dir__)
instance_eval File.read local_gemfile if File.exist? local_gemfile
group :test do
2017-07-15 19:19:13 +00:00
gem "minitest-bisect"
2018-10-10 22:33:09 +00:00
gem "minitest-retry"
2019-03-24 17:59:28 +00:00
gem "minitest-reporters"
platforms :mri do
gem "stackprof"
gem "byebug"
end
gem "benchmark-ips"
end
platforms :ruby, :mswin, :mswin64, :mingw, :x64_mingw do
gem "nokogiri", ">= 1.8.1", "!= 1.11.0"
2011-05-05 17:47:07 +00:00
# Needed for compiling the ActionDispatch::Journey parser.
gem "racc", ">=1.4.6", require: false
# Active Record.
gem "sqlite3", "~> 1.4"
group :db do
gem "pg", "~> 1.1"
gem "mysql2", "~> 0.5", github: "brianmario/mysql2"
end
end
platforms :jruby do
if ENV["AR_JDBC"]
gem "activerecord-jdbcsqlite3-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
group :db do
gem "activerecord-jdbcmysql-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
gem "activerecord-jdbcpostgresql-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
end
else
gem "activerecord-jdbcsqlite3-adapter", ">= 1.3.0"
group :db do
gem "activerecord-jdbcmysql-adapter", ">= 1.3.0"
gem "activerecord-jdbcpostgresql-adapter", ">= 1.3.0"
end
2013-08-20 18:31:43 +00:00
end
end
platforms :rbx do
# The rubysl-yaml gem doesn't ship with Psych by default as it needs
# libyaml that isn't always available.
2018-03-09 20:14:36 +00:00
gem "psych", "~> 3.0"
end
# Gems that are necessary for Active Record tests with Oracle.
if ENV["ORACLE_ENHANCED"]
platforms :ruby do
gem "ruby-oci8", "~> 2.2"
end
gem "activerecord-oracle_enhanced-adapter", github: "rsim/oracle-enhanced", branch: "master"
end
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
gem "wdm", ">= 0.1.0", platforms: [:mingw, :mswin, :x64_mingw, :mswin64]
if RUBY_VERSION >= "3.1"
# net-smtp, net-imap and net-pop were removed from default gems in Ruby 3.1, but is used by the `mail` gem.
# So we need to add them as dependencies until `mail` is fixed: https://github.com/mikel/mail/pull/1439
gem "net-smtp", require: false
gem "net-imap", require: false
gem "net-pop", require: false
Address `bundle exec blade build` failure with ruby 3.1.0dev This commit addresses the CI failures with ruby 3.1.0dev. https://buildkite.com/rails/rails/builds/79716#ef77b273-93d2-4372-a7fc-165dca6cadef since Ruby ruby 3.1.0dev bumps the digest gem version to 3.0.1.pre https://github.com/ruby/ruby/commit/478f0ddb5f37085588485d3d00024a146af7bc44 - Without this commit ```ruby $ ruby -v ruby 3.1.0dev (2021-07-29T03:51:10Z master 64adeeadaa) [x86_64-linux] $ bundle exec blade build bundler: failed to load command: blade (/home/yahonda/.rbenv/versions/3.1.0-dev/bin/blade) /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:300:in `check_for_activated_spec!': You have already activated digest 3.0.1.pre, but your Gemfile requires digest 3.0.0. Since digest is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports digest as a default gem. (Gem::LoadError) from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:29:in `block in setup' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/spec_set.rb:158:in `each' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/spec_set.rb:158:in `each' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:24:in `map' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/runtime.rb:24:in `setup' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler.rb:149:in `setup' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/setup.rb:10:in `block in <top (required)>' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/ui/shell.rb:136:in `with_level' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/ui/shell.rb:88:in `silence' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/setup.rb:10:in `<top (required)>' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli/exec.rb:61:in `require_relative' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli/exec.rb:61:in `kernel_load' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli/exec.rb:28:in `run' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli.rb:481:in `exec' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli.rb:31:in `dispatch' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/cli.rb:25:in `start' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/gems/3.1.0/gems/bundler-2.3.0.dev/libexec/bundle:49:in `block in <top (required)>' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/3.1.0/bundler/friendly_errors.rb:128:in `with_friendly_errors' from /home/yahonda/.rbenv/versions/3.1.0-dev/lib/ruby/gems/3.1.0/gems/bundler-2.3.0.dev/libexec/bundle:37:in `<top (required)>' from /home/yahonda/.rbenv/versions/3.1.0-dev/bin/bundle:23:in `load' from /home/yahonda/.rbenv/versions/3.1.0-dev/bin/bundle:23:in `<main>' $ ``` - With this commit ```ruby $ bundle exec blade build Building assets… $ ```
2021-07-29 04:37:50 +00:00
# digest gem, which is one of the default gems has bumped to 3.0.1.pre for ruby 3.1.0dev.
gem "digest", "~> 3.0.1.pre", require: false
# matrix was removed from default gems in Ruby 3.1, but is used by the `capybara` gem.
# So we need to add it as a dependency until `capybara` is fixed: https://github.com/teamcapybara/capybara/pull/2468
gem "matrix", require: false
end