-
Notifications
You must be signed in to change notification settings - Fork 5
/
Gemfile
238 lines (164 loc) · 4.55 KB
/
Gemfile
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
# Copyright 2011-2014 Rice University. Licensed under the Affero General Public
# License version 3 or later. See the COPYRIGHT file for details.
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails'
# Bootstrap
gem 'bootstrap-sass'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JS assets
gem 'uglifier', '>= 1.3.0'
# V8 bindings to precompile JS assets
gem 'mini_racer'
# Use jquery as the JavaScript library
gem 'jquery-rails'
# jquery UI library
gem 'jquery-ui-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Automatically add browser-specific CSS prefixes
gem 'autoprefixer-rails'
# Rails 5 HTML sanitizer
gem 'rails-html-sanitizer'
# URI replacement
gem 'addressable'
# Sanitizes user content
gem 'sanitize'
# ActiveStorage variants
gem 'image_processing'
# ActiveStorage S3 support
gem 'aws-sdk-s3'
# Cache values for the duration of a request
gem 'request_store'
# Fetch and parse OpenStax book content
gem 'openstax_content'
# Utilities for OpenStax websites
gem 'openstax_utilities'
# Talks to Accounts (latest version is broken)
gem 'omniauth-oauth2'
# OpenStax Accounts integration
gem 'openstax_accounts'
# Access control for API's
gem 'doorkeeper'
# API versioning and documentation
gem 'representable', '~> 3.0.0'
gem 'openstax_api'
gem 'apipie-rails'
gem 'maruku'
# Retry failed database transactions
gem 'transaction_retry', github: 'openstax/transaction_retry'
# Lev framework
gem 'lev'
# Contract management
gem 'fine_print'
# Keyword search
gem 'keyword_search'
# Read Excel xlsx spreadsheet files
gem 'roo'
# Embedded JavaScript templates
gem 'ejs'
# Object cloning
gem 'deep_cloneable'
# Sortable objects
gem 'sortability'
# Comment voting
gem 'acts_as_votable'
# Real time application monitoring
gem 'scout_apm'
# PostgreSQL database
gem 'pg'
# Support systemd Type=notify services for puma
gem 'sd_notify', require: false
# Use the puma webserver
gem 'puma'
# Prevent server memory from growing until OOM
gem 'puma_worker_killer'
# HTTP requests
gem 'httparty'
# Notify developers of Exceptions in production
gem 'openstax_rescue_from'
# Sentry integration (the require disables automatic Rails integration since we use rescue_from)
gem 'sentry-raven', require: 'raven/base'
# API JSON rendering/parsing
# Do not use Roar 1.0.4
# Also, do not use Roar::Hypermedia links
gem 'roar', '1.0.3'
# Fast JSON parsing
gem 'oj'
# Replace JSON with Oj
gem 'oj_mimic_json'
# Key-value store for caching
gem 'redis'
# Respond to ELB healthchecks in /ping and /ping/
gem 'openstax_healthcheck'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '~> 1.4.0', require: false
# Bulk inserts and upserts
gem 'activerecord-import'
# Get env variables from .env file
gem 'dotenv-rails'
# Cron job scheduling
gem 'whenever'
group :development, :test do
# Run specs in parallel
gem 'parallel_tests'
# Show failing specs instantly
gem 'rspec-instafail'
# Thin webserver
gem 'thin'
# Call 'debugger' anywhere in the code to stop execution and get a debugger console
gem 'byebug'
# Use RSpec for tests
gem 'rspec-rails'
# Mute asset pipeline log messages
# Fixture replacement
gem 'factory_bot_rails'
# Lorem Ipsum
gem 'faker'
# Database cleaning functionality for tests
gem 'database_cleaner'
end
group :development do
# Listen for file changes in development
gem 'listen'
# Automated security checks
gem 'brakeman'
# Time travel gem
gem 'timecop'
# Command line reference
gem 'cheat'
# Assorted generators
gem 'nifty-generators'
# Class diagrams
gem 'rails-erd'
gem 'railroady'
# Access an IRB console on exception pages or by using <%= console %> in views
gem 'web-console'
end
group :test do
# Spec helpers
gem 'shoulda-matchers', require: false
# Stubs HTTP requests
gem 'webmock'
# Records HTTP requests
gem 'vcr'
# Codecov integration
gem 'codecov', require: false
# Rubocop
gem 'rubocop-rails'
end
group :production do
# Used to backup the database before migrations
gem 'aws-sdk-rds', require: false
# Used to record a lifecycle action heartbeat after creating the RDS snapshot before migrating
gem 'aws-sdk-autoscaling', require: false
# Fog AWS
gem 'fog-aws'
# Lograge for consistent logging
gem 'lograge'
end