2022-09-11 18:24:36 -07:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2021-08-17 12:34:26 +02:00
|
|
|
def next?
|
|
|
|
|
File.basename(__FILE__) == "Gemfile.next"
|
|
|
|
|
end
|
2018-05-07 16:47:29 -07:00
|
|
|
|
2013-01-07 09:04:09 +01:00
|
|
|
source 'https://rubygems.org'
|
|
|
|
|
|
2023-04-11 11:38:49 +02:00
|
|
|
ruby ENV.fetch('OSEM_RUBY_VERSION', '3.1.4')
|
2018-08-09 06:54:23 +03:00
|
|
|
|
2016-03-08 19:20:35 +05:30
|
|
|
# rails-assets requires >= 1.8.4
|
2016-03-08 21:14:44 +05:30
|
|
|
if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.8.4')
|
|
|
|
|
abort "Bundler version >= 1.8.4 is required"
|
|
|
|
|
end
|
2016-03-08 19:20:35 +05:30
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as web framework
|
2021-08-17 12:34:26 +02:00
|
|
|
if next?
|
2022-02-24 16:13:14 +01:00
|
|
|
gem 'rails', '~> 7.1'
|
2021-08-17 12:34:26 +02:00
|
|
|
else
|
2022-02-24 16:13:14 +01:00
|
|
|
gem 'rails', '~> 7.0'
|
2021-08-17 12:34:26 +02:00
|
|
|
end
|
2017-09-05 22:23:34 +03:00
|
|
|
|
|
|
|
|
# Use Puma as the app server
|
2022-03-03 17:19:42 +01:00
|
|
|
gem 'puma'
|
2016-01-25 19:00:56 +01:00
|
|
|
|
|
|
|
|
# respond_to methods have been extracted to the responders gem
|
|
|
|
|
# http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#responders
|
2021-08-11 13:03:32 +00:00
|
|
|
gem 'responders', '~> 3.0'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2018-09-05 01:53:54 +02:00
|
|
|
# as supported databases
|
2014-04-23 15:45:55 +02:00
|
|
|
gem 'mysql2'
|
2018-09-05 01:53:54 +02:00
|
|
|
gem 'pg'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# for tracking data changes
|
2014-04-23 15:45:55 +02:00
|
|
|
gem 'paper_trail'
|
|
|
|
|
|
2016-04-27 11:48:12 +02:00
|
|
|
# for upload management
|
2016-04-27 12:38:37 +02:00
|
|
|
gem 'carrierwave'
|
2016-04-27 16:03:29 +02:00
|
|
|
gem 'carrierwave-bombshelter'
|
2017-12-03 18:19:21 -06:00
|
|
|
gem 'mini_magick'
|
2016-04-27 11:48:12 +02:00
|
|
|
|
|
|
|
|
# for internationalizing
|
2019-04-01 11:58:12 +02:00
|
|
|
gem 'rails-i18n'
|
2016-03-27 20:03:26 +05:30
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as authentification framework
|
2014-03-24 12:45:04 +01:00
|
|
|
gem 'devise'
|
2014-11-04 17:42:47 +01:00
|
|
|
gem 'devise_ichain_authenticatable'
|
|
|
|
|
|
2016-04-27 11:48:12 +02:00
|
|
|
# for openID authentication
|
2014-06-18 16:58:30 +03:00
|
|
|
gem 'omniauth'
|
|
|
|
|
gem 'omniauth-facebook'
|
2014-07-24 23:18:57 +03:00
|
|
|
gem 'omniauth-github'
|
2017-12-03 18:19:21 -06:00
|
|
|
gem 'omniauth-google-oauth2'
|
|
|
|
|
gem 'omniauth-openid'
|
2021-08-11 13:53:10 +00:00
|
|
|
gem 'omniauth-rails_csrf_protection'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2017-11-03 17:41:26 -07:00
|
|
|
# Bot-filtering
|
|
|
|
|
gem 'recaptcha', require: 'recaptcha/rails'
|
|
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as authorization framework
|
2019-04-01 14:40:53 +02:00
|
|
|
gem 'cancancan'
|
2016-04-27 11:48:12 +02:00
|
|
|
|
|
|
|
|
# for roles
|
2014-08-12 11:51:59 +03:00
|
|
|
gem 'rolify'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2015-01-12 23:13:10 +02:00
|
|
|
# to show flash messages from ajax requests
|
|
|
|
|
gem 'unobtrusive_flash', '>=3'
|
|
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as state machine
|
2014-04-30 15:26:38 +02:00
|
|
|
gem 'transitions', :require => %w( transitions active_record/transitions )
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# for comments
|
2013-01-07 09:04:09 +01:00
|
|
|
gem 'acts_as_commentable_with_threading'
|
2019-04-01 13:10:53 +02:00
|
|
|
gem 'awesome_nested_set'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as templating language
|
2014-04-30 15:26:38 +02:00
|
|
|
gem 'haml-rails'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# for stylesheets
|
2014-04-30 15:26:38 +02:00
|
|
|
gem 'sass-rails', '>= 4.0.2'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as compressor for JavaScript assets
|
2014-04-23 15:45:55 +02:00
|
|
|
gem 'uglifier', '>= 1.3.0'
|
|
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as the front-end framework
|
2014-11-27 14:47:00 +01:00
|
|
|
gem 'autoprefixer-rails'
|
2018-12-28 07:52:35 +00:00
|
|
|
gem 'bootstrap-sass', '~> 3.4.0'
|
2016-02-06 19:19:53 +01:00
|
|
|
gem 'cocoon'
|
|
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as the JavaScript library
|
2014-04-23 15:45:55 +02:00
|
|
|
gem 'jquery-rails'
|
2020-09-29 00:32:22 +02:00
|
|
|
gem 'jquery-ui-rails', '~> 6.0.1'
|
2016-02-06 19:19:53 +01:00
|
|
|
|
2016-03-21 00:18:20 +01:00
|
|
|
# for languages validation
|
|
|
|
|
gem 'iso-639'
|
|
|
|
|
|
2016-04-27 11:48:12 +02:00
|
|
|
# frontend javascripts
|
2016-02-06 19:19:53 +01:00
|
|
|
source 'https://rails-assets.org' do
|
|
|
|
|
# for placeholder images
|
|
|
|
|
gem 'rails-assets-holderjs'
|
|
|
|
|
# for formating dates
|
|
|
|
|
gem 'rails-assets-date.format'
|
2016-04-27 11:48:12 +02:00
|
|
|
# for or parsing, validating, manipulating, and formatting dates
|
2016-02-06 19:19:53 +01:00
|
|
|
gem 'rails-assets-momentjs'
|
|
|
|
|
# for smooth scrolling
|
|
|
|
|
gem 'rails-assets-jquery-smooth-scroll'
|
|
|
|
|
# as color picker
|
|
|
|
|
gem 'rails-assets-spectrum'
|
|
|
|
|
# for color manipulation
|
|
|
|
|
gem 'rails-assets-tinycolor'
|
|
|
|
|
# for drawing triangle backgrounds
|
|
|
|
|
gem 'rails-assets-trianglify'
|
|
|
|
|
# for scroll way points
|
|
|
|
|
gem 'rails-assets-waypoints'
|
2016-03-08 16:50:30 +05:30
|
|
|
# for markdown editors
|
|
|
|
|
gem 'rails-assets-bootstrap-markdown'
|
2016-06-28 18:16:06 +03:00
|
|
|
# for select with icon
|
|
|
|
|
gem 'rails-assets-bootstrap-select'
|
2016-03-08 16:50:30 +05:30
|
|
|
gem 'rails-assets-markdown'
|
2019-02-16 15:52:44 +00:00
|
|
|
gem 'rails-assets-to-markdown', '~> 3'
|
2016-02-06 19:19:53 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# as date picker
|
2018-11-21 23:49:55 +00:00
|
|
|
gem 'bootstrap3-datetimepicker-rails', '~> 4.17.47'
|
2018-04-06 11:36:24 -07:00
|
|
|
|
|
|
|
|
# data tables
|
|
|
|
|
gem 'ajax-datatables-rails'
|
|
|
|
|
gem 'jquery-datatables-rails'
|
2016-04-27 11:48:12 +02:00
|
|
|
|
2016-02-06 19:19:53 +01:00
|
|
|
# for charts
|
2018-02-13 16:11:52 +02:00
|
|
|
gem 'chartkick'
|
2016-04-27 11:48:12 +02:00
|
|
|
|
2016-04-01 16:15:52 +02:00
|
|
|
# for displaying maps
|
|
|
|
|
gem 'leaflet-rails'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# for user avatars
|
2014-04-23 15:45:55 +02:00
|
|
|
gem 'gravtastic'
|
|
|
|
|
|
2014-11-20 14:57:03 +01:00
|
|
|
# for country selects
|
2016-03-07 18:28:14 +01:00
|
|
|
gem 'country_select'
|
2014-11-20 14:57:03 +01:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as PDF generator
|
2019-04-01 14:39:17 +02:00
|
|
|
gem 'prawn-qrcode'
|
2019-04-10 17:01:28 +05:30
|
|
|
gem 'prawn-rails'
|
2022-02-10 18:08:49 +01:00
|
|
|
# FIXME: for prawn, matrix isn't in the default set of Ruby 3.1 anymore
|
|
|
|
|
# see https://github.com/prawnpdf/prawn/commit/3658d5125c3b20eb11484c3b039ca6b89dc7d1b7
|
|
|
|
|
gem 'matrix', '~> 0.4'
|
2019-05-20 15:43:54 +02:00
|
|
|
|
2022-02-24 17:37:10 +01:00
|
|
|
# FIXME: for selenium-webdriver, rexml isn't in the default set of Ruby 3.1 anymore
|
|
|
|
|
# see https://github.com/SeleniumHQ/selenium/commit/526fd9d0de60a53746ffa982feab985fed09a278
|
|
|
|
|
gem 'rexml'
|
|
|
|
|
|
2019-05-20 15:43:54 +02:00
|
|
|
# for QR code generation
|
2017-06-13 07:20:43 +05:30
|
|
|
gem 'rqrcode'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# to render XLS spreadsheets
|
2021-08-11 14:09:02 +02:00
|
|
|
gem 'caxlsx_rails'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# as error catcher
|
2021-03-05 17:00:49 +01:00
|
|
|
gem 'sentry-rails'
|
2014-04-23 15:45:55 +02:00
|
|
|
|
2016-04-27 11:48:12 +02:00
|
|
|
# to make links faster
|
2014-04-23 15:45:55 +02:00
|
|
|
gem 'turbolinks'
|
|
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# for JSON serialization of our API
|
2014-04-23 15:45:55 +02:00
|
|
|
gem 'active_model_serializers'
|
|
|
|
|
|
2016-04-27 11:48:12 +02:00
|
|
|
# as icon font
|
2022-05-18 06:31:12 +02:00
|
|
|
gem 'font-awesome-sass'
|
2014-06-24 15:17:17 +05:30
|
|
|
|
2016-04-27 11:48:12 +02:00
|
|
|
# for markdown
|
2014-06-29 17:13:53 +05:30
|
|
|
gem 'redcarpet'
|
|
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# for recurring jobs
|
|
|
|
|
gem 'delayed_job_active_record'
|
2017-12-03 18:19:21 -06:00
|
|
|
gem 'whenever', :require => false
|
2014-07-07 14:58:53 +02:00
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# to run scripts
|
2014-08-28 15:21:05 +02:00
|
|
|
gem 'daemons'
|
|
|
|
|
|
2014-11-12 10:45:44 +01:00
|
|
|
# to encapsulate money in objects
|
2014-08-28 15:21:05 +02:00
|
|
|
gem 'money-rails'
|
2014-08-19 12:31:31 +02:00
|
|
|
|
2014-11-14 11:58:36 +01:00
|
|
|
# for lists
|
|
|
|
|
gem 'acts_as_list'
|
|
|
|
|
|
2014-12-13 21:13:19 +02:00
|
|
|
# for switch checkboxes
|
2022-03-21 17:17:55 -07:00
|
|
|
gem 'bootstrap-switch-rails', '3.3.3' # Locked pending Bttstrp/bootstrap-switch#707
|
2014-12-13 21:13:19 +02:00
|
|
|
|
2016-02-06 19:19:53 +01:00
|
|
|
# for parsing OEmbed data
|
2019-04-01 14:57:33 +02:00
|
|
|
gem 'ruby-oembed'
|
2015-04-22 21:30:32 +02:00
|
|
|
|
2016-04-27 11:48:12 +02:00
|
|
|
# for uploading images to the cloud
|
|
|
|
|
gem 'cloudinary'
|
|
|
|
|
|
2016-04-22 16:14:41 +02:00
|
|
|
# for setting app configuration in the environment
|
|
|
|
|
gem 'dotenv-rails'
|
|
|
|
|
|
2017-11-03 20:37:42 -07:00
|
|
|
# configurable toggles for functionality
|
|
|
|
|
# https://github.com/mgsnova/feature
|
|
|
|
|
gem 'feature'
|
|
|
|
|
|
2017-06-09 14:41:51 +02:00
|
|
|
# For countable.js
|
2019-04-01 15:07:28 +02:00
|
|
|
gem "countable-rails"
|
2017-02-05 16:00:45 +05:30
|
|
|
|
2016-05-02 17:07:45 +02:00
|
|
|
# Both are not in a group as we use it also for rake data:demo
|
2016-04-29 17:19:23 +02:00
|
|
|
# for fake data
|
|
|
|
|
gem 'faker'
|
2016-05-02 17:07:45 +02:00
|
|
|
# for seeds
|
2018-09-03 20:43:05 +02:00
|
|
|
gem 'factory_bot_rails'
|
2016-04-29 17:19:23 +02:00
|
|
|
|
2016-07-27 13:18:50 +05:30
|
|
|
# for integrating Stripe payment gateway
|
|
|
|
|
gem 'stripe'
|
|
|
|
|
|
2016-08-27 19:34:27 -04:00
|
|
|
# Provides Sprockets implementation for Rails Asset Pipeline
|
|
|
|
|
gem 'sprockets-rails'
|
|
|
|
|
|
2017-02-02 16:34:59 +02:00
|
|
|
# for multiple speakers select on proposal/event forms
|
|
|
|
|
gem 'selectize-rails'
|
|
|
|
|
|
2018-02-08 22:29:58 -08:00
|
|
|
# For collecting performance data
|
|
|
|
|
gem 'skylight'
|
|
|
|
|
|
2017-11-17 18:32:08 -08:00
|
|
|
# memcached binary connector
|
|
|
|
|
gem 'dalli'
|
|
|
|
|
|
2023-04-11 12:55:30 +02:00
|
|
|
# to generate ical files
|
2021-02-14 22:56:45 +01:00
|
|
|
gem 'icalendar'
|
|
|
|
|
|
2023-04-11 12:56:17 +02:00
|
|
|
# to tame logs
|
|
|
|
|
gem 'lograge'
|
|
|
|
|
|
2014-04-26 16:52:31 +02:00
|
|
|
group :development do
|
2016-04-27 11:48:12 +02:00
|
|
|
# for static code analisys
|
2018-05-08 13:46:44 -07:00
|
|
|
gem 'rubocop', require: false
|
2021-08-13 10:40:45 +00:00
|
|
|
gem 'rubocop-rspec', require: false
|
|
|
|
|
gem 'rubocop-rails', require: false
|
2023-05-08 13:52:04 +02:00
|
|
|
gem 'rubocop-capybara', require: false
|
2023-05-08 13:53:15 +02:00
|
|
|
gem 'rubocop-performance', require: false
|
2022-02-10 17:34:34 +01:00
|
|
|
gem 'haml_lint'
|
2016-04-27 11:48:12 +02:00
|
|
|
# to open mails
|
2014-04-30 15:26:38 +02:00
|
|
|
gem 'letter_opener'
|
2021-04-11 13:53:41 +03:00
|
|
|
gem 'letter_opener_web'
|
2016-04-27 11:48:12 +02:00
|
|
|
# as deployment system
|
2014-07-07 16:08:53 +02:00
|
|
|
gem 'mina'
|
2016-04-27 11:48:12 +02:00
|
|
|
# as debugger on error pages
|
2019-04-01 15:04:16 +02:00
|
|
|
gem 'web-console'
|
2014-04-26 16:52:31 +02:00
|
|
|
end
|
2014-07-04 22:36:28 +02:00
|
|
|
|
|
|
|
|
group :test do
|
2016-04-27 11:48:12 +02:00
|
|
|
# as test framework
|
|
|
|
|
gem 'capybara'
|
2017-12-03 18:19:21 -06:00
|
|
|
gem 'database_cleaner'
|
2018-10-25 10:50:13 -07:00
|
|
|
gem 'geckodriver-helper'
|
2018-11-19 15:28:39 -08:00
|
|
|
gem 'rspec-rails'
|
2019-07-16 23:44:29 +02:00
|
|
|
gem 'webdrivers'
|
2016-04-27 11:48:12 +02:00
|
|
|
# for measuring test coverage
|
2021-03-06 18:29:05 +01:00
|
|
|
gem 'simplecov-cobertura'
|
2016-04-27 11:48:12 +02:00
|
|
|
# for describing models
|
2015-10-11 23:10:01 -07:00
|
|
|
gem 'shoulda-matchers', require: false
|
2016-04-27 11:48:12 +02:00
|
|
|
# for stubing/mocking models
|
2014-07-04 22:55:01 +02:00
|
|
|
gem 'rspec-activemodel-mocks'
|
2016-04-27 11:48:12 +02:00
|
|
|
# to freeze time
|
2014-07-23 09:08:50 +02:00
|
|
|
gem 'timecop'
|
2016-03-09 13:32:43 +01:00
|
|
|
# for mocking external requests
|
|
|
|
|
gem 'webmock'
|
2016-08-09 02:29:44 +05:30
|
|
|
# for mocking Stripe responses in tests
|
2022-02-15 12:52:54 +01:00
|
|
|
gem 'stripe-ruby-mock', '~> 3.1.0.rc3'
|
2016-08-18 16:21:09 +02:00
|
|
|
# For validating JSON schemas
|
|
|
|
|
gem 'json-schema'
|
2017-09-05 22:23:34 +03:00
|
|
|
# For using 'assigns' in tests
|
|
|
|
|
gem 'rails-controller-testing'
|
2018-03-03 21:36:20 -08:00
|
|
|
# For managing the environment
|
|
|
|
|
gem 'climate_control'
|
2018-11-19 17:52:40 -08:00
|
|
|
# For PDFs
|
|
|
|
|
gem 'pdf-inspector', require: "pdf/inspector"
|
2014-07-04 22:36:28 +02:00
|
|
|
end
|
2014-07-21 14:27:32 +02:00
|
|
|
|
|
|
|
|
group :development, :test do
|
2016-04-27 11:48:12 +02:00
|
|
|
# as debugger
|
2014-07-23 15:34:05 +02:00
|
|
|
gem 'byebug'
|
2021-03-05 17:20:31 +01:00
|
|
|
# as development/test database
|
|
|
|
|
gem 'sqlite3'
|
2021-08-17 12:34:26 +02:00
|
|
|
# to test new rails version
|
|
|
|
|
gem 'next_rails'
|
2014-07-21 14:27:32 +02:00
|
|
|
end
|