Repository navigation
Expand file tree
/
Copy pathGemfile
More file actions
65 lines (56 loc) · 2.12 KB
/
Copy pathGemfile
File metadata and controls
65 lines (56 loc) · 2.12 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
# typed: strict
# frozen_string_literal: true
source "https://rubygems.org"
# Specify your gem's dependencies in logstruct.gemspec. Its development dependencies are the
# integrations' gems, which the tests need: they go in the test group, because CI installs the
# gems without the development group (its tools need newer Rubies).
gemspec development_group: :test
# Skip Ruby version check if RUBY_VERSION is set (e.g. on CI)
unless ENV["RUBY_VERSION"]
ruby File.read(File.expand_path(".ruby-version", __dir__)).strip
end
# Use a stable Rails for gem development/test environment.
# Rails version for the generated test app is controlled by RAILS_VERSION in rails_tests.
gem "rails", "~> 8.0.5", require: false
# Add these gems to silence Ruby 3.4+ warnings
gem "bigdecimal"
gem "drb" # For ActiveSupport::TestCase
gem "mutex_m"
gem "openssl" # For tapioca SSL certificate verification
gem "ostruct" # For Ruby 3.5+ compatibility
# ActiveSupport 8.0's JSON encoder passes quirks_mode to JSON.generate, which json 3 rejects
# (fixed on Rails main). rails_test_app/create_app.rb pins it for the test apps too.
gem "json", "< 3"
# Sorbet is needed for development
gem "sorbet", "~> 0.5"
gem "sorbet-typescript"
# Essential testing gems that don't have Ruby version restrictions
group :test do
gem "dalli", "~> 3.2.13"
gem "bundler-audit", require: false
gem "minitest", "~> 5.20"
gem "minitest-reporters", "~> 1.6"
gem "simplecov", "~> 0.22", require: false
gem "simplecov-json", "~> 0.2", require: false
gem "climate_control", "~> 1.2"
gem "thor"
gem "json_schemer"
end
# Development and linting tools that may have higher Ruby version requirements
group :development do
gem "debug"
gem "amazing_print"
gem "listen", require: false
gem "rubocop-performance", require: false
# gem "rubocop-rails", require: false
gem "rubocop-minitest", require: false
gem "rubocop-sorbet", require: false
gem "rubocop-inflector", require: false
gem "rubocop", require: false
gem "solargraph", require: false
gem "standard", ">= 1.35.1", require: false
gem "tapioca", require: false
gem "yard"
gem "yard-sorbet"
gem "redcarpet"
end