2019-01-16 22:02:23 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-07-21 19:11:15 +08:00
|
|
|
source 'http://rubygems.org'
|
2016-02-12 23:52:43 +08:00
|
|
|
|
2022-04-29 19:49:28 +08:00
|
|
|
ruby '2.7.6'
|
2016-02-12 23:52:43 +08:00
|
|
|
|
2019-07-03 15:48:20 +08:00
|
|
|
gem 'bootsnap', require: false
|
2019-10-29 17:34:37 +08:00
|
|
|
gem 'bootstrap-sass', '~> 3.4.1'
|
2019-05-08 23:18:19 +08:00
|
|
|
gem 'bootstrap_form', '~> 2.7.0'
|
2019-09-12 23:21:48 +08:00
|
|
|
gem 'devise', '~> 4.7.1'
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'devise_invitable'
|
|
|
|
gem 'figaro'
|
2019-07-09 16:28:15 +08:00
|
|
|
gem 'pg', '~> 1.1'
|
2019-02-13 20:06:14 +08:00
|
|
|
gem 'pg_search' # PostgreSQL full text search
|
2022-04-28 17:00:27 +08:00
|
|
|
gem 'rails', '~> 6.1.5'
|
2022-01-10 21:16:49 +08:00
|
|
|
gem 'psych', '< 4.0'
|
2021-04-06 19:56:24 +08:00
|
|
|
gem 'view_component', require: 'view_component/engine'
|
2016-11-22 21:57:41 +08:00
|
|
|
gem 'recaptcha', require: 'recaptcha/rails'
|
2022-07-14 18:36:02 +08:00
|
|
|
gem 'sanitize', '~> 6.0'
|
2019-04-30 23:03:24 +08:00
|
|
|
gem 'sassc-rails'
|
2019-07-03 15:48:20 +08:00
|
|
|
gem 'webpacker', '~> 4.0.0'
|
2019-12-03 20:31:13 +08:00
|
|
|
gem 'yomu', git: 'https://github.com/biosistemika/yomu', branch: 'master'
|
2018-08-17 17:59:47 +08:00
|
|
|
|
|
|
|
# Gems for OAuth2 subsystem
|
2018-10-05 17:50:17 +08:00
|
|
|
gem 'doorkeeper', '>= 4.6'
|
2017-08-30 00:49:07 +08:00
|
|
|
gem 'omniauth'
|
2019-12-11 00:24:53 +08:00
|
|
|
gem 'omniauth-azure-activedirectory'
|
2018-02-26 18:05:05 +08:00
|
|
|
gem 'omniauth-linkedin-oauth2'
|
2021-11-02 23:19:56 +08:00
|
|
|
gem 'omniauth-okta'
|
2017-08-30 00:49:07 +08:00
|
|
|
|
2019-07-31 22:59:38 +08:00
|
|
|
# TODO: remove this when omniauth gem resolves CVE issues
|
|
|
|
# Prevents CVE-2015-9284 (https://github.com/omniauth/omniauth/wiki/FAQ#cve-2015-9284-warnings)
|
2019-07-31 22:05:06 +08:00
|
|
|
gem 'omniauth-rails_csrf_protection', '~> 0.1'
|
2017-08-30 00:49:07 +08:00
|
|
|
|
|
|
|
# Gems for API implementation
|
2018-07-31 19:40:27 +08:00
|
|
|
gem 'active_model_serializers', '~> 0.10.7'
|
2018-07-24 20:21:33 +08:00
|
|
|
gem 'json-jwt'
|
2019-09-12 23:21:48 +08:00
|
|
|
gem 'jsonapi-renderer', '~> 0.2.2'
|
2018-01-23 23:25:59 +08:00
|
|
|
gem 'jwt', '~> 1.5'
|
2018-07-31 19:40:27 +08:00
|
|
|
gem 'kaminari'
|
2018-10-11 15:48:06 +08:00
|
|
|
gem 'rack-attack'
|
2020-09-04 17:47:45 +08:00
|
|
|
gem 'rack-cors'
|
2016-08-17 20:17:29 +08:00
|
|
|
|
2016-02-12 23:52:43 +08:00
|
|
|
# JS datetime library, requirement of datetime picker
|
2017-06-23 16:34:46 +08:00
|
|
|
gem 'momentjs-rails', '~> 2.17.1'
|
2016-02-12 23:52:43 +08:00
|
|
|
# JS datetime picker
|
2020-03-17 00:55:35 +08:00
|
|
|
gem 'bootstrap3-datetimepicker-rails', '~> 4.17'
|
2016-02-12 23:52:43 +08:00
|
|
|
# Select elements for Bootstrap
|
2019-05-08 23:18:19 +08:00
|
|
|
gem 'bootstrap-select-rails', '~> 1.12.4'
|
2016-02-12 23:52:43 +08:00
|
|
|
gem 'uglifier', '>= 1.3.0'
|
|
|
|
# jQuery & plugins
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'autosize-rails' # jQuery autosize plugin
|
|
|
|
gem 'hammerjs-rails'
|
2016-02-12 23:52:43 +08:00
|
|
|
gem 'jquery-rails'
|
2017-06-23 16:34:46 +08:00
|
|
|
gem 'jquery-scrollto-rails',
|
|
|
|
git: 'https://github.com/biosistemika/jquery-scrollto-rails'
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'jquery-ui-rails'
|
2016-02-12 23:52:43 +08:00
|
|
|
gem 'js_cookie_rails' # Simple JS API for cookies
|
|
|
|
gem 'spinjs-rails'
|
|
|
|
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'activerecord-import'
|
2017-06-23 21:19:08 +08:00
|
|
|
gem 'ajax-datatables-rails', '~> 0.3.1'
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'aspector' # Aspect-oriented programming for Rails
|
|
|
|
gem 'auto_strip_attributes', '~> 2.1' # Removes unnecessary whitespaces AR
|
|
|
|
gem 'bcrypt', '~> 3.1.10'
|
2021-03-16 20:47:23 +08:00
|
|
|
gem 'caracal' # Build docx report
|
2016-10-06 22:47:36 +08:00
|
|
|
gem 'deface', '~> 1.0'
|
2019-11-13 20:45:30 +08:00
|
|
|
gem 'down', '~> 5.0'
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'faker' # Generate fake data
|
2019-07-01 16:14:16 +08:00
|
|
|
gem 'fastimage' # Light gem to get image resolution
|
2021-01-28 21:43:45 +08:00
|
|
|
gem 'httparty', '~> 0.17.3'
|
2020-02-19 22:57:06 +08:00
|
|
|
gem 'i18n-js', '~> 3.6' # Localization in javascript files
|
2017-08-02 23:27:05 +08:00
|
|
|
gem 'jbuilder' # JSON structures via a Builder-style DSL
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'logging', '~> 2.0.0'
|
|
|
|
gem 'nested_form_fields'
|
2022-10-21 11:54:44 +08:00
|
|
|
gem 'nokogiri', '~> 1.13.9' # HTML/XML parser
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'rails_autolink', '~> 1.1', '>= 1.1.6'
|
|
|
|
gem 'rgl' # Graph framework for project diagram calculations
|
2019-04-30 23:03:24 +08:00
|
|
|
gem 'roo', '~> 2.8.2' # Spreadsheet parser
|
2020-06-24 22:23:52 +08:00
|
|
|
gem 'rotp'
|
2020-07-01 17:07:33 +08:00
|
|
|
gem 'rqrcode' # QR code generator
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'rubyzip'
|
2017-10-26 22:59:00 +08:00
|
|
|
gem 'scenic', '~> 1.4'
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'sdoc', '~> 1.0', group: :doc
|
|
|
|
gem 'silencer' # Silence certain Rails logs
|
|
|
|
gem 'sneaky-save', git: 'https://github.com/einzige/sneaky-save'
|
|
|
|
gem 'turbolinks', '~> 5.1.1'
|
|
|
|
gem 'underscore-rails'
|
2021-06-18 21:01:16 +08:00
|
|
|
gem 'wicked_pdf'
|
2019-10-17 19:30:14 +08:00
|
|
|
gem 'wkhtmltopdf-heroku', '2.12.5'
|
2016-02-12 23:52:43 +08:00
|
|
|
|
2022-08-12 05:05:57 +08:00
|
|
|
gem 'aws-sdk-lambda'
|
2019-06-24 21:17:42 +08:00
|
|
|
gem 'aws-sdk-rails'
|
2019-06-05 18:52:43 +08:00
|
|
|
gem 'aws-sdk-s3'
|
2016-02-12 23:52:43 +08:00
|
|
|
gem 'delayed_job_active_record'
|
2017-09-20 17:31:07 +08:00
|
|
|
gem 'devise-async',
|
2019-01-16 22:02:23 +08:00
|
|
|
git: 'https://github.com/mhfs/devise-async.git',
|
|
|
|
branch: 'devise-4.x'
|
2022-03-08 17:32:50 +08:00
|
|
|
gem 'image_processing', '~> 1.12'
|
2019-02-12 23:07:20 +08:00
|
|
|
gem 'rufus-scheduler', '~> 3.5'
|
2017-09-20 17:31:07 +08:00
|
|
|
|
2018-05-24 20:39:25 +08:00
|
|
|
gem 'discard', '~> 1.0'
|
|
|
|
|
2021-03-26 00:42:57 +08:00
|
|
|
gem 'graphviz'
|
2020-05-17 23:36:26 +08:00
|
|
|
gem 'tinymce-rails', '~> 4.9.10' # Rich text editor - SEE BELOW
|
2019-01-16 22:02:23 +08:00
|
|
|
# Any time you update tinymce-rails Gem, also update the cache_suffix parameter
|
|
|
|
# in sitewide/tiny_mce.js - to prevent browsers from loading old, cached .js
|
2018-09-12 21:28:21 +08:00
|
|
|
# TinyMCE files which might cause errors
|
2017-01-19 05:40:08 +08:00
|
|
|
|
2017-01-04 17:51:55 +08:00
|
|
|
gem 'base62' # Used for smart annotations
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'newrelic_rpm'
|
2016-02-12 23:52:43 +08:00
|
|
|
|
2017-11-16 22:49:13 +08:00
|
|
|
# Permission helper Gem
|
2019-09-12 23:21:48 +08:00
|
|
|
gem 'canaid', git: 'https://github.com/biosistemika/canaid', branch: 'rails_6'
|
2017-11-16 22:49:13 +08:00
|
|
|
|
2016-02-12 23:52:43 +08:00
|
|
|
group :development, :test do
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'awesome_print'
|
|
|
|
gem 'better_errors'
|
|
|
|
gem 'binding_of_caller'
|
|
|
|
gem 'bullet'
|
2016-02-12 23:52:43 +08:00
|
|
|
gem 'byebug'
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'factory_bot_rails'
|
|
|
|
gem 'listen', '~> 3.0'
|
2019-01-07 19:36:57 +08:00
|
|
|
gem 'overcommit'
|
2017-07-06 15:07:05 +08:00
|
|
|
gem 'pry'
|
|
|
|
gem 'pry-byebug'
|
|
|
|
gem 'pry-rails'
|
2017-09-28 20:49:33 +08:00
|
|
|
gem 'rails-controller-testing'
|
2019-09-12 23:21:48 +08:00
|
|
|
gem 'rspec-rails', '>= 4.0.0.beta2'
|
2020-09-16 20:13:54 +08:00
|
|
|
gem 'rubocop', '= 0.83.0', require: false
|
2019-05-09 19:20:04 +08:00
|
|
|
gem 'rubocop-performance'
|
2019-09-17 19:31:56 +08:00
|
|
|
gem 'rubocop-rails'
|
2019-02-04 21:33:22 +08:00
|
|
|
gem 'timecop'
|
2016-02-12 23:52:43 +08:00
|
|
|
end
|
|
|
|
|
2017-07-06 15:07:05 +08:00
|
|
|
group :test do
|
|
|
|
gem 'capybara'
|
2017-11-08 18:59:01 +08:00
|
|
|
gem 'capybara-email'
|
2019-09-16 16:26:13 +08:00
|
|
|
gem 'cucumber-rails', '~> 1.8', require: false
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'database_cleaner'
|
|
|
|
gem 'json_matchers'
|
2019-08-22 19:38:02 +08:00
|
|
|
gem 'selenium-webdriver'
|
2019-01-16 22:02:23 +08:00
|
|
|
gem 'shoulda-matchers'
|
2017-07-06 15:07:05 +08:00
|
|
|
gem 'simplecov', require: false
|
2019-02-04 21:33:22 +08:00
|
|
|
gem 'webmock'
|
2017-07-06 15:07:05 +08:00
|
|
|
end
|
|
|
|
|
2016-02-12 23:52:43 +08:00
|
|
|
group :production do
|
|
|
|
gem 'puma'
|
|
|
|
gem 'rails_12factor'
|
2018-01-23 18:06:33 +08:00
|
|
|
gem 'whacamole'
|
2016-02-12 23:52:43 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
2018-01-23 18:06:33 +08:00
|
|
|
gem 'tzinfo-data', platforms: %i(mingw mswin x64_mingw jruby)
|