-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathGemfile
172 lines (143 loc) · 4.3 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
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '~> 3.2.2'
gem 'rails', '~> 7.2.2'
# Rails/Core
gem 'bootsnap'
gem 'image_processing', '~> 1.14'
gem 'jbuilder', '~> 2.13' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'puma' # Use Puma as the app server
gem 'rack'
gem 'rack-attack'
gem 'rack-canonical-host' # Redirect www to root
gem 'rexml' # ruby 3 related - seems like should be a dependency of bootsnap
gem 'ruby-limiter'
gem 'sprockets'
gem 'stateful_enum' # extends ActiveRecord::Enum with state
gem 'wisper' # publish subscribe for ruby objects
# Database/Data
gem 'after_party' # load data after deploy
gem 'auto_strip_attributes', '~> 2.5'
gem 'closed_struct'
gem 'pg'
gem 'scenic'
# Dashboard analytics
gem 'energy-sparks_analytics', github: 'Energy-Sparks/energy-sparks_analytics', tag: '6.1.5'
# gem 'energy-sparks_analytics', path: '../energy-sparks_analytics'
# Using master due to it having a patch which doesn't override Enumerable#sum if it's already defined
# Last proper release does that, causing all kinds of weird behaviour (+ not defined etc)
gem 'statsample', github: 'Energy-Sparks/statsample', branch: 'ruby32'
# Assets
gem 'bootstrap4-datetime-picker-rails' # For tempus dominus date picker
gem 'font-awesome-sass'
gem 'importmap-rails'
gem 'jquery-rails' # Use jquery as the JavaScript library
gem 'momentjs-rails'
gem 'sassc', github: 'tbhi/sassc-ruby', branch: 'load_error'
gem 'sass-rails' # Use SCSS for stylesheets
gem 'terser'
# Pagination
gem 'pagy'
# Geocoding
gem 'geocoder'
gem 'rgeo-geojson'
# APIs / remote services
gem 'aws-sdk-s3'
gem 'eventbrite_sdk' # Eventbrite for training page
gem 'faraday'
gem 'faraday-follow_redirects'
gem 'faraday-retry'
gem 'MailchimpMarketing'
gem 'mailgun_rails' # Email service
gem 'twilio-ruby' # For SMS notifications
# Assets for Emails
gem 'bootstrap-email'
# Frontend
gem 'bootstrap', '~> 4' # Use bootstrap for responsive layout
gem 'cocoon' # nested forms
gem 'simple_form'
gem 'sortablejs-rails'
gem 'view_component'
# JS Templating
gem 'handlebars_assets'
# Template variables
gem 'mustache', '~> 1.0'
# Auth & Users
gem 'cancancan', '~> 3' # Use cancancan for authorization
gem 'devise' # Use devise for authentication
# Utils
gem 'groupdate' # Use groupdate to group usage stats
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby] # for Windows
# Bundle update installs 0.7.0 for some weird reason!
gem 'dotenv-rails' # Shim to load environment variables from .env into ENV in development.
gem 'friendly_id'
# Sitemap
gem 'sitemap_generator'
# Reduce log noise in dev and test
gem 'lograge'
# Exception handling
gem 'oj'
gem 'rollbar'
# Internationalisation
gem 'i18n-tasks', '~> 1.0.14'
gem 'mobility', '~> 1.3.2'
gem 'mobility-actiontext', '~> 1.1.1'
# Background jobs
gem 'good_job'
# Spreadsheet parsing
# Switch to custom branch that incorporates some necessary bug fixes
gem 'roo', git: 'https://github.com/Energy-Sparks/roo.git', branch: 'bug-fix-branch'
gem 'roo-xls'
# Used to handle mail processing for the admin mailer
gem 'premailer-rails'
# Feature flags
gem 'flipper-active_record', '~> 1.3'
gem 'flipper-ui', '~> 1.3'
gem 'net-sftp'
group :development, :test do
gem 'better_html'
gem 'bullet', require: false # use bullet to optimise queries
gem 'climate_control'
gem 'debug'
gem 'factory_bot_rails'
gem 'foreman'
gem 'guard-rspec', require: false
gem 'guard-rubocop', require: false
gem 'knapsack'
gem 'rails-controller-testing'
gem 'rspec-json_expectations'
gem 'rspec-rails'
gem 'terminal-notifier', require: false
gem 'terminal-notifier-guard', require: false
gem 'webmock'
gem 'wisper-rspec', require: false
end
group :development do
gem 'annotate'
gem 'better_errors'
gem 'binding_of_caller'
gem 'brakeman'
gem 'bundler-audit'
gem 'erb_lint', require: false
gem 'fasterer'
gem 'listen' # listen for file changes - what's this used by?
gem 'overcommit'
gem 'rubocop'
gem 'rubocop-capybara'
gem 'rubocop-factory_bot'
gem 'rubocop-performance'
gem 'rubocop-rails'
gem 'rubocop-rspec_rails'
gem 'scout_apm'
gem 'web-console'
end
group :test do
gem 'capybara'
gem 'capybara-email'
gem 'selenium-webdriver'
gem 'shoulda-matchers'
gem 'show_me_the_cookies'
gem 'simplecov', require: false, group: :test
gem 'sqlite3'
gem 'test-prof'
end