-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathGemfile
More file actions
133 lines (97 loc) · 3.26 KB
/
Gemfile
File metadata and controls
133 lines (97 loc) · 3.26 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# frozen_string_literal: true
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '3.4.8'
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem 'rails', '~> 7.2.3', '>= 7.2.3.1'
gem 'connection_pool', '< 3.0'
# Use postgresql as the database for Active Record
gem 'pg', '~> 1.1'
# Use the Puma web server [https://github.com/puma/puma]
gem 'puma', '~> 6.0'
# Security: Force Rack to safe version to fix CVE-2025-61780 and CVE-2025-61919
gem 'rack', '~> 3.1.20'
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
# gem "jbuilder"
# Use Redis adapter to run Action Cable in production
gem 'redis', '~> 5.0'
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
gem 'bcrypt', '~> 3.1.7'
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', require: false
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"
# Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
gem 'rack-cors'
# JWT for authentication
gem 'jwt'
# Serializers for API responses
gem 'blueprinter'
# Background jobs
gem 'sidekiq', '~> 7.0'
gem 'sidekiq-scheduler'
# Environment variables
gem 'dotenv-rails'
# HTTP client for Riot API
gem 'faraday'
gem 'faraday-retry'
# Authorization
gem 'pundit'
# Rate limiting
gem 'rack-attack'
# UUID generation
gem 'securerandom'
# Pagination
gem 'kaminari'
# API documentation
gem 'rswag'
gem 'rswag-api'
gem 'rswag-ui'
# Elasticsearch client (for analytics queries)
gem 'elasticsearch', '~> 9.1', '>= 9.1.3'
# Meilisearch — full-text search for players, organizations, scouting targets, etc.
gem 'meilisearch', '~> 0.33'
# LLM Integration for Support Chatbot
gem 'ruby-openai', '~> 7.0'
# S3-compatible storage for file uploads (Supabase Storage)
gem 'aws-sdk-s3', '~> 1.0'
# Linear algebra for AI draft analysis
gem 'numo-narray', '~> 0.9'
# Structured JSON logging (12-Factor XI)
gem 'lograge'
# HashID for URL obfuscation and shortening
gem 'hashid-rails', '~> 1.0'
group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem 'debug', platforms: %i[mri mingw x64_mingw]
gem 'factory_bot_rails'
gem 'faker'
gem 'rspec-rails'
gem 'rswag-specs'
end
group :development do
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
# gem "spring"
gem 'annotate'
gem 'bullet'
gem 'rubocop'
gem 'rubocop-rails'
gem 'rubocop-rspec'
# Security tooling — runs locally and in CI via bundle exec
gem 'brakeman', require: false
gem 'bundler-audit', '~> 0.9'
# Deploy tools (only needed for deployment operations, not runtime)
gem 'kamal', '~> 2.0'
end
group :test do
gem 'database_cleaner-active_record'
gem 'pundit-matchers'
gem 'shoulda-matchers'
gem 'simplecov', require: false
gem 'vcr'
gem 'webmock'
end