-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGemfile
More file actions
85 lines (72 loc) · 2.85 KB
/
Copy pathGemfile
File metadata and controls
85 lines (72 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
source "https://rubygems.org"
def next?
File.basename(__FILE__) == "Gemfile.next"
end
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
ruby file: ".ruby-version"
# rubocop:disable Style/IdenticalConditionalBranches
# Rails 8.1 is now the production version, so both boots target it. The dual-boot
# scaffold is kept intact so the next hop only needs to bump the `next?` branch.
if next?
gem "rails", ">= 8.1.0", "< 8.2.0"
else
gem "rails", ">= 8.1.0", "< 8.2.0"
end
# rubocop:enable Style/IdenticalConditionalBranches
gem "bundler-audit"
gem "next_rails"
gem "ostruct"
# `< 1.3.5` was a Rails 6.1-era compatibility guard (concurrent-ruby 1.3.5
# dropped its `logger` dependency, breaking Rails < 7.1); obsolete on Rails
# 8.1. Now a security floor instead: 1.3.4 carries CVE-2026-54904/5/6, fixed
# in 1.3.7.
gem "concurrent-ruby", ">= 1.3.7"
gem "puma", "~> 8.0"
# minitest 6.0 moved minitest/mock into a separate minitest-mock gem. The test
# suite uses it (`require "minitest/mock"` + `.stub`), so it's declared
# explicitly now that we're on minitest 6.
gem "minitest"
gem "minitest-mock"
gem "nokogiri", ">= 1.13.0"
gem "sass-rails", "~> 6.0"
gem "terser"
gem "redcarpet"
gem "wicked_pdf", "~> 2.8"
# wkhtmltopdf-binary is held at 0.12.3.1: the 0.12.6.x Linux binary segfaults
# (SIGSEGV) in CI/Heroku, and 0.12.6 also blocks local file access by default,
# which breaks the PDF's logo/stylesheet. wkhtmltopdf is EOL, so 0.12.3.1 stays.
gem "wkhtmltopdf-binary", "0.12.3.1"
gem "fastruby-styleguide", git: "https://github.com/fastruby/styleguide.git", branch: "gh-pages"
# paperclip is unmaintained since 2018 and calls URI.escape (removed in Ruby
# 3.0); kt-paperclip is a maintained, actively-released fork that fixes this
# and stays drop-in compatible (same Paperclip:: module/require path).
gem "kt-paperclip", "~> 8.0.0", require: "paperclip"
# aws-sdk v2's aws-sdk-core relies on implicit block capture via
# `Proc.new` with no block, removed in Ruby 3.0. kt-paperclip's S3
# storage adapter already targets aws-sdk-s3 (the modern per-service
# SDK, same Aws::S3:: namespace) directly -- no application code
# changes needed, just the gem swap.
gem "aws-sdk-s3"
gem "pg", "~> 1.1"
group :development, :test do
gem "capybara", "~> 3.40"
gem "rubocop-rails-omakase", require: false
gem "selenium-webdriver"
gem "dotenv-rails"
end
group :development do
gem "web-console", ">= 3.3.0"
gem "listen", ">= 3.5"
gem "reek"
end
# Exception tracking. Reports unhandled exceptions to Sentry in production;
# the DSN is supplied via the SENTRY_DSN env var (see .env.sample). sentry-rails
# auto-installs the Rack/Rails middleware, so no controller changes are needed.
group :production do
gem "sentry-ruby"
gem "sentry-rails"
end
gem "tzinfo-data", platforms: [:windows, :jruby]