forked from DARIAEngineering/dcaf_case_management
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gemfile
109 lines (91 loc) · 3.39 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
source 'https://rubygems.org'
ruby '2.6.2'
# Standard rails
gem 'rails', '~> 5.2.0'
gem 'puma' # roar
gem 'turbolinks', '~> 5.2.0'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 1.0.0', group: :doc
gem 'nokogiri', '>= 1.10.3'
gem 'tzinfo-data', require: false
gem 'bootsnap', '>= 1.1.0', require: false
# Asset pipeline
gem 'webpacker', '~> 4'
gem 'sass-rails', '~> 5.0'
gem 'bootstrap-sass', '~> 3.4.1'
gem 'uglifier', '~> 4.1'
gem 'coffee-rails', '~> 4.2.2'
gem 'jquery-rails'
gem 'jquery-ui-rails'
# Our database is MongoDB
gem 'mongoid', '>= 6.2.0', '< 7'
gem 'bson_ext'
gem 'mongoid-history', '< 1.0' # gives us object history
gem 'mongoid_userstamp', git: 'https://github.com/DCAFEngineering/mongoid_userstamp.git',
branch: 'master' # adds created_by and updated_by timestamps
gem 'mongo_session_store', '>= 3.1.0' # stores sessions in database for security
gem 'enumerize' # Mongoid doesn't have enum out of the box, so we get it here
gem 'mongoid_rails_migrations' # Mongoid also does not have migrations out of the box, so we get that here
# Our authentication library is devise, with oauth2 for google signin
gem 'devise', '~> 4.6'
gem 'omniauth-google-oauth2', '~> 0.6.0'
# We use `bootstrap_form_for` in views
gem 'bootstrap_form'
# Security libraries
gem 'rack-attack', '~> 5.4.1'
# For pagination
gem 'kaminari-mongoid', '~> 1.0'
gem 'kaminari', '~> 1.1'
# Specific useful stuff
gem 'render_async', '< 2.0' # load slow partials asynchronously
gem 'prawn' # pledge pdf generation
gem 'geokit' # clinic_finder service lat-lng
# Stuff that we're targeting removal of
gem 'figaro' # we handle secrets differently now
gem 'js-routes' # Not sure if this is used anymore
gem 'bootstrap_form-datetimepicker' # not sure if this is used anymore
# Stuff we're hardsetting because of security concerns
gem 'loofah', '>= 2.2.3'
gem 'rails-html-sanitizer', '>= 1.0.4'
group :development do
gem 'i18n-tasks', '~> 0.9.28' # check and clean i18n keys
gem 'shog' # makes rails s output color!
gem 'listen' # used by systemtests
gem 'rubocop', require: false # our code style / linting system
# Security scanners that also run in CI. They run with bundle exec.
gem 'ruby_audit', require: false #
gem 'bundler-audit', require: false
end
group :development, :test do
gem 'pry' # pop `pry` in controller code to open up an IRB terminal
gem 'byebug' # pop `byebug` in view code for open up an IRB terminal
gem 'knapsack' # lets us split up our tets so they run faster in CI
end
group :test do
# Useful minitest tools
gem 'minitest-spec-rails'
gem 'minitest-ci'
gem 'factory_bot_rails'
gem 'database_cleaner'
gem 'faker'
gem 'timecop'
# Systemtest related tools
gem 'capybara'
gem 'selenium-webdriver'
gem 'capybara-screenshot'
gem 'launchy' # open up capybara screenshots automatically with `save_and_open_screenshot`
# Test coverage related libraries
gem 'simplecov', require: false
gem 'codecov', require: false
# Specifics
gem 'shoulda-context'
gem 'minitest-optional_retry' # retry flaky tests 3 times
gem 'mini_backtrace' # settle down minitest output
gem 'pdf-inspector', require: 'pdf/inspector' # test pdf contents
gem 'minitest-stub-const'
gem 'rack-test', '~> 0.6.3', require: 'rack/test' # needed to test rack-attack
end
group :production do
gem 'skylight' # our newrelic-style efficiency monitoring platform
gem 'sqreen' # an active security monitoring platform
end