2013-03-04 12:18:49 +01:00
|
|
|
source 'https://rubygems.org'
|
2013-01-30 20:53:20 +01:00
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
##
|
|
|
|
# Core components
|
|
|
|
##
|
|
|
|
|
|
|
|
# Rails is the framework we use.
|
2021-12-17 21:00:47 +01:00
|
|
|
gem 'rails', '~> 5.2.6'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
2021-12-17 21:00:47 +01:00
|
|
|
# Make sure we get the latest security updates
|
2021-12-17 20:39:26 +01:00
|
|
|
gem 'nokogiri', '~> 1.12'
|
2018-04-12 19:07:29 +02:00
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# Rake is rubys make... performing tasks
|
|
|
|
# locking in to latest major to fix API
|
2021-12-17 21:00:47 +01:00
|
|
|
gem 'rake', '~> 13.0', require: false
|
2013-02-12 09:37:26 +01:00
|
|
|
|
2016-02-05 16:16:45 +01:00
|
|
|
# Application preloader for faster start time
|
|
|
|
gem 'spring', group: :development
|
|
|
|
|
2019-05-08 09:34:37 +02:00
|
|
|
# reduces boot times through caching; required in config/boot.rb
|
2021-12-17 21:08:27 +01:00
|
|
|
gem 'bootsnap', '~> 1.9', require: false
|
2019-05-08 09:34:37 +02:00
|
|
|
|
2016-02-15 19:08:09 +01:00
|
|
|
# locking in to latest major to fix API
|
2021-12-17 21:24:31 +01:00
|
|
|
gem 'i18n', '~> 1.8'
|
2016-02-15 19:08:09 +01:00
|
|
|
|
|
|
|
# improved gem to access mysql database
|
|
|
|
# locking in to latest major to fix API
|
2021-12-17 21:28:31 +01:00
|
|
|
gem 'mysql2', '~> 0.5'
|
2016-02-15 19:08:09 +01:00
|
|
|
|
|
|
|
# parsing and generating JSON
|
|
|
|
# locking in to latest major to fix API
|
2021-12-17 21:28:31 +01:00
|
|
|
gem 'json', '~> 2.6'
|
2016-02-15 19:08:09 +01:00
|
|
|
|
|
|
|
# Markup language that uses indent to indicate nesting
|
|
|
|
# locking in to latest major to fix API
|
2018-08-25 18:48:12 +02:00
|
|
|
gem 'haml', '~> 5.0'
|
2021-12-17 21:28:31 +01:00
|
|
|
gem 'haml-rails', '~> 2.0'
|
2016-02-15 19:08:09 +01:00
|
|
|
|
|
|
|
# Extendet scriptable CSS language
|
|
|
|
# locking in to latest major to fix API
|
|
|
|
gem 'sass'
|
|
|
|
|
2021-12-17 20:39:26 +01:00
|
|
|
# Sprockets - included by rails by default
|
2021-12-25 22:45:32 +01:00
|
|
|
gem 'sprockets', '~> 4.0'
|
2021-12-17 20:39:26 +01:00
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
##
|
|
|
|
# Prototype - yes. we still use it.
|
2018-08-28 18:27:56 +02:00
|
|
|
# we use a fork which is rails 5.x compatible
|
|
|
|
# tests do not pass for this fork
|
|
|
|
gem 'prototype-rails', github: 'voxmedia/prototype-rails', ref: 'e385756cbabb5608d1eab47b6416cdd49613c73b'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
2017-12-28 17:51:34 +01:00
|
|
|
# Full text search for the database
|
2021-12-17 21:55:33 +01:00
|
|
|
gem 'thinking-sphinx', '~> 5.3'
|
2017-12-28 17:51:34 +01:00
|
|
|
|
|
|
|
# Enhanced Tagging lib. Used to tag pages
|
2021-12-17 22:03:40 +01:00
|
|
|
gem 'acts-as-taggable-on', '~> 8.1'
|
2018-08-20 21:56:08 +02:00
|
|
|
|
|
|
|
# Rails 5 migration
|
|
|
|
##
|
|
|
|
|
|
|
|
# ActionView::Helpers::RecordTagHelper moved to external gem
|
|
|
|
gem 'record_tag_helper', '~> 1.0'
|
2018-11-07 09:55:48 +01:00
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
##
|
|
|
|
# Upgrade pending
|
|
|
|
##
|
|
|
|
|
2015-08-11 09:40:43 +02:00
|
|
|
# Use delayed job to postpone the delta processing
|
|
|
|
# latest version available. Stick to major release
|
|
|
|
gem 'ts-delayed-delta', '~> 2.0'
|
|
|
|
|
2015-05-08 14:20:29 +02:00
|
|
|
# Page Caching has been removed from rails 4.
|
|
|
|
# migrate it and drop this.
|
|
|
|
gem 'actionpack-page_caching'
|
2014-10-09 13:59:32 +02:00
|
|
|
|
2014-09-15 12:43:22 +02:00
|
|
|
##
|
2016-02-15 19:08:09 +01:00
|
|
|
# Single use tools
|
2014-09-15 12:43:22 +02:00
|
|
|
##
|
2013-01-30 20:53:20 +01:00
|
|
|
|
2018-01-07 15:57:18 +01:00
|
|
|
# Pundit, permission system
|
|
|
|
# latest version available. Stick to major release
|
2021-12-23 22:23:21 +01:00
|
|
|
gem 'pundit', '~> 2.1'
|
2018-01-07 15:57:18 +01:00
|
|
|
|
2016-02-15 19:08:09 +01:00
|
|
|
# Bcrypt for has_secure_password
|
|
|
|
gem 'bcrypt', '~> 3.1.7'
|
2014-09-15 12:43:22 +02:00
|
|
|
|
2021-12-25 22:30:37 +01:00
|
|
|
gem 'secure_headers', '~> 6.0'
|
2018-02-12 14:18:24 +01:00
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# ?
|
|
|
|
# locking in to latest major to fix API
|
|
|
|
gem 'http_accept_language', '~> 2.0'
|
2014-09-15 12:43:22 +02:00
|
|
|
|
2016-01-27 10:55:03 +01:00
|
|
|
# Removes invalid UTF-8 characters from requests
|
|
|
|
# use the latest. No API that could change.
|
|
|
|
gem 'utf8-cleaner'
|
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# Pagination for lists with a lot of items
|
2017-01-31 21:23:14 +01:00
|
|
|
# locking in to latest major to fix API
|
2016-02-05 16:03:07 +01:00
|
|
|
gem 'will_paginate', '~> 3.1'
|
2014-09-15 12:43:22 +02:00
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# state-machine for requests
|
|
|
|
# locking in to latest major to fix API
|
2021-12-23 21:51:35 +01:00
|
|
|
gem 'aasm', '~> 5.2'
|
|
|
|
# requested by after_commit hooks in aasm
|
|
|
|
gem 'after_commit_everywhere', '~> 1.1'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
|
|
|
# lists used for tasks and choices in votes so far
|
|
|
|
# continuation of the old standart rails plugin
|
|
|
|
# locking in to latest major to fix API, not really maintained though
|
2021-12-23 21:55:14 +01:00
|
|
|
gem 'acts_as_list', '~> 1.0'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
|
|
|
# Check the format of email addresses against RFCs
|
|
|
|
# better maintained than validates_as_email
|
|
|
|
# locking in to latest major to fix API
|
|
|
|
gem 'validates_email_format_of', '~> 1.6'
|
2013-02-27 17:19:13 +01:00
|
|
|
|
2020-06-20 12:06:38 +02:00
|
|
|
# Used to keep spammers from creating accounts
|
|
|
|
# locking in to latest major to fix API
|
2021-12-23 22:15:30 +01:00
|
|
|
gem 'invisible_captcha', '~>2.0'
|
2020-06-20 12:06:38 +02:00
|
|
|
|
2014-09-15 12:43:22 +02:00
|
|
|
##
|
|
|
|
## GEMS required, and compilation is required to install
|
|
|
|
##
|
2013-03-07 03:29:31 +01:00
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# Formatting text input
|
|
|
|
# We extend this to resolve links locally -> GreenCloth
|
|
|
|
# locking in to latest major to fix API
|
2013-01-30 20:53:20 +01:00
|
|
|
gem 'RedCloth', '~> 4.2'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
2014-09-15 12:43:22 +02:00
|
|
|
##
|
2016-02-15 19:08:09 +01:00
|
|
|
## required, included with crabgrass
|
2014-09-15 12:43:22 +02:00
|
|
|
##
|
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# extension of the redcloth markup lang
|
2016-01-12 12:20:24 +01:00
|
|
|
gem 'greencloth', require: 'greencloth',
|
2017-09-12 08:10:31 +02:00
|
|
|
path: 'vendor/gems/riseuplabs-greencloth-0.1'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
2015-07-24 10:37:16 +02:00
|
|
|
# media upload post processing has it's own repo
|
|
|
|
# version is rather strict for now as api may still change.
|
2019-05-01 20:09:50 +02:00
|
|
|
gem 'crabgrass_media', '~> 0.3.1', require: 'media'
|
2015-07-24 10:37:16 +02:00
|
|
|
|
2014-09-15 12:43:22 +02:00
|
|
|
##
|
2016-02-15 19:08:09 +01:00
|
|
|
## not required, but a really good idea
|
2014-09-15 12:43:22 +02:00
|
|
|
##
|
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# detect mime-types of uploaded files
|
|
|
|
#
|
2016-01-12 12:20:24 +01:00
|
|
|
gem 'mime-types', require: 'mime/types'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
|
|
|
# process heavy tasks asynchronously
|
2015-08-10 11:25:22 +02:00
|
|
|
# 4.0 is most recent right now. fix major version.
|
|
|
|
gem 'delayed_job_active_record', '~> 4.0'
|
2014-09-17 08:12:05 +02:00
|
|
|
|
2015-08-11 09:40:43 +02:00
|
|
|
# delayed job runner as a deamon
|
|
|
|
gem 'daemons'
|
|
|
|
|
2014-09-17 08:12:05 +02:00
|
|
|
# unpack file uploads
|
2021-12-25 15:54:34 +01:00
|
|
|
gem 'rubyzip', '~> 2.3', require: false
|
2013-01-30 20:53:20 +01:00
|
|
|
|
2014-09-15 12:43:22 +02:00
|
|
|
# load new rubyzip, but with the old API.
|
|
|
|
# TODO: use the new zip api and remove gem zip-zip
|
2016-01-12 12:20:24 +01:00
|
|
|
gem 'zip-zip', require: 'zip'
|
2013-01-30 20:53:20 +01:00
|
|
|
|
2017-10-27 20:26:11 +02:00
|
|
|
# gnupg for email encryption
|
|
|
|
#
|
2021-12-23 22:17:39 +01:00
|
|
|
gem 'mail-gpg', '~> 0.4'
|
2017-10-27 20:26:11 +02:00
|
|
|
|
2016-02-15 19:08:09 +01:00
|
|
|
##
|
|
|
|
# Environment specific
|
|
|
|
##
|
|
|
|
|
2014-10-15 20:38:22 +02:00
|
|
|
group :production do
|
2021-12-24 22:05:58 +01:00
|
|
|
gem 'mini_racer', platforms: :ruby
|
2014-10-15 20:38:22 +02:00
|
|
|
end
|
|
|
|
|
2013-01-30 20:53:20 +01:00
|
|
|
group :production, :development do
|
2014-09-17 08:12:05 +02:00
|
|
|
# used to install crontab
|
2016-01-12 12:20:24 +01:00
|
|
|
gem 'whenever', require: false
|
2014-09-17 08:12:05 +02:00
|
|
|
# used to minify javascript
|
2016-02-04 21:27:51 +01:00
|
|
|
gem 'uglifier', '>= 1.3.0', require: false
|
2013-01-30 20:53:20 +01:00
|
|
|
end
|
|
|
|
|
2016-02-04 21:27:51 +01:00
|
|
|
group :doc do
|
|
|
|
# bundle exec rake doc:rails generates the API under doc/api.
|
|
|
|
# needed for some rake tasks, but not generally.
|
|
|
|
gem 'sdoc', require: false
|
2013-01-30 20:53:20 +01:00
|
|
|
end
|
|
|
|
|
2017-07-02 09:05:28 +02:00
|
|
|
group :test do
|
|
|
|
gem 'simplecov', require: false
|
|
|
|
end
|
|
|
|
|
2013-01-30 20:53:20 +01:00
|
|
|
group :test, :development do
|
2016-02-04 19:51:33 +01:00
|
|
|
gem 'byebug'
|
2013-01-30 20:53:20 +01:00
|
|
|
end
|
|
|
|
|
2019-05-08 09:34:37 +02:00
|
|
|
gem 'web-console', group: :development
|
|
|
|
|
2014-11-06 11:57:38 +01:00
|
|
|
group :test, :ci do
|
2013-01-30 20:53:20 +01:00
|
|
|
##
|
2016-02-15 19:08:09 +01:00
|
|
|
## TESTS
|
2013-01-30 20:53:20 +01:00
|
|
|
##
|
|
|
|
|
2017-12-05 15:16:45 +01:00
|
|
|
gem 'factory_bot_rails'
|
2021-12-25 15:47:30 +01:00
|
|
|
gem 'faker', '~> 2.19'
|
2015-05-08 14:20:29 +02:00
|
|
|
|
2018-08-20 21:56:08 +02:00
|
|
|
# temporary fix for minitest 5.11 issue
|
2021-12-24 22:08:23 +01:00
|
|
|
gem 'minitest', '~>5.10', require: false
|
2018-08-20 21:56:08 +02:00
|
|
|
|
|
|
|
# contains helper methods like assigns and assert_template
|
|
|
|
gem 'rails-controller-testing'
|
2013-01-30 20:53:20 +01:00
|
|
|
|
|
|
|
##
|
2016-02-15 19:08:09 +01:00
|
|
|
## INTEGRATION TESTS
|
2013-01-30 20:53:20 +01:00
|
|
|
##
|
|
|
|
|
2014-02-23 11:13:12 +01:00
|
|
|
gem 'capybara', require: false
|
2013-01-30 20:53:20 +01:00
|
|
|
|
2014-09-19 08:53:14 +02:00
|
|
|
# Capybara driver with javascript capabilities using phantomjs
|
|
|
|
# locked to major version for stable API
|
2016-01-12 12:20:24 +01:00
|
|
|
gem 'poltergeist', '~> 1.5', require: false
|
2014-09-19 08:53:14 +02:00
|
|
|
|
|
|
|
# Headless webkit browser for testing, fast and with javascript
|
|
|
|
# Version newer than 1.8 is required by current poltergeist.
|
2017-01-31 07:46:26 +01:00
|
|
|
gem 'phantomjs-binaries', '~> 2.1.1', require: false
|
2015-05-08 09:45:03 +02:00
|
|
|
|
|
|
|
# The castle_gates tests are based on sqlite
|
|
|
|
gem 'sqlite3'
|
2013-01-30 20:53:20 +01:00
|
|
|
end
|
2016-10-31 22:21:46 +01:00
|
|
|
|
|
|
|
gem 'bundler-audit'
|