232 lines
5.3 KiB
Ruby
232 lines
5.3 KiB
Ruby
source 'https://rubygems.org'
|
|
|
|
##
|
|
# Core components
|
|
##
|
|
|
|
# Rails is the framework we use.
|
|
gem 'rails', '~> 5.2.6'
|
|
|
|
# Make sure we get the latest security updates
|
|
gem 'nokogiri', '~> 1.12'
|
|
|
|
# Rake is rubys make... performing tasks
|
|
# locking in to latest major to fix API
|
|
gem 'rake', '~> 13.0', require: false
|
|
|
|
# Application preloader for faster start time
|
|
gem 'spring', group: :development
|
|
|
|
# reduces boot times through caching; required in config/boot.rb
|
|
gem 'bootsnap', '~> 1.9', require: false
|
|
|
|
# locking in to latest major to fix API
|
|
gem 'i18n', '~> 1.8'
|
|
|
|
# improved gem to access mysql database
|
|
# locking in to latest major to fix API
|
|
gem 'mysql2', '~> 0.5'
|
|
|
|
# parsing and generating JSON
|
|
# locking in to latest major to fix API
|
|
gem 'json', '~> 2.6'
|
|
|
|
# Markup language that uses indent to indicate nesting
|
|
# locking in to latest major to fix API
|
|
gem 'haml', '~> 5.0'
|
|
gem 'haml-rails', '~> 2.0'
|
|
|
|
# Extendet scriptable CSS language
|
|
# locking in to latest major to fix API
|
|
gem 'sass'
|
|
|
|
# Sprockets - included by rails by default
|
|
gem 'sprockets', '~> 4.0'
|
|
|
|
##
|
|
# Prototype - yes. we still use it.
|
|
# 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'
|
|
|
|
# Full text search for the database
|
|
gem 'thinking-sphinx', '~> 5.3'
|
|
|
|
# Enhanced Tagging lib. Used to tag pages
|
|
gem 'acts-as-taggable-on', '~> 8.1'
|
|
|
|
# Rails 5 migration
|
|
##
|
|
|
|
# ActionView::Helpers::RecordTagHelper moved to external gem
|
|
gem 'record_tag_helper', '~> 1.0'
|
|
|
|
##
|
|
# Upgrade pending
|
|
##
|
|
|
|
# Use delayed job to postpone the delta processing
|
|
# latest version available. Stick to major release
|
|
gem 'ts-delayed-delta', '~> 2.0'
|
|
|
|
# Page Caching has been removed from rails 4.
|
|
# migrate it and drop this.
|
|
gem 'actionpack-page_caching'
|
|
|
|
##
|
|
# Single use tools
|
|
##
|
|
|
|
# Pundit, permission system
|
|
# latest version available. Stick to major release
|
|
gem 'pundit', '~> 2.1'
|
|
|
|
# Bcrypt for has_secure_password
|
|
gem 'bcrypt', '~> 3.1.7'
|
|
|
|
gem 'secure_headers', '~> 6.0'
|
|
|
|
# ?
|
|
# locking in to latest major to fix API
|
|
gem 'http_accept_language', '~> 2.0'
|
|
|
|
# Removes invalid UTF-8 characters from requests
|
|
# use the latest. No API that could change.
|
|
gem 'utf8-cleaner'
|
|
|
|
# Pagination for lists with a lot of items
|
|
# locking in to latest major to fix API
|
|
gem 'will_paginate', '~> 3.1'
|
|
|
|
# state-machine for requests
|
|
# locking in to latest major to fix API
|
|
gem 'aasm', '~> 5.2'
|
|
# requested by after_commit hooks in aasm
|
|
gem 'after_commit_everywhere', '~> 1.1'
|
|
|
|
# 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
|
|
gem 'acts_as_list', '~> 1.0'
|
|
|
|
# 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'
|
|
|
|
# Used to keep spammers from creating accounts
|
|
# locking in to latest major to fix API
|
|
gem 'invisible_captcha', '~>2.0'
|
|
|
|
##
|
|
## GEMS required, and compilation is required to install
|
|
##
|
|
|
|
# Formatting text input
|
|
# We extend this to resolve links locally -> GreenCloth
|
|
# locking in to latest major to fix API
|
|
gem 'RedCloth', '~> 4.2'
|
|
|
|
##
|
|
## required, included with crabgrass
|
|
##
|
|
|
|
# extension of the redcloth markup lang
|
|
gem 'greencloth', require: 'greencloth',
|
|
path: 'vendor/gems/riseuplabs-greencloth-0.1'
|
|
|
|
# media upload post processing has it's own repo
|
|
# version is rather strict for now as api may still change.
|
|
gem 'crabgrass_media', '~> 0.3.1', require: 'media'
|
|
|
|
##
|
|
## not required, but a really good idea
|
|
##
|
|
|
|
# detect mime-types of uploaded files
|
|
#
|
|
gem 'mime-types', require: 'mime/types'
|
|
|
|
# process heavy tasks asynchronously
|
|
# 4.0 is most recent right now. fix major version.
|
|
gem 'delayed_job_active_record', '~> 4.0'
|
|
|
|
# delayed job runner as a deamon
|
|
gem 'daemons'
|
|
|
|
# unpack file uploads
|
|
gem 'rubyzip', '~> 2.3', require: false
|
|
|
|
# load new rubyzip, but with the old API.
|
|
# TODO: use the new zip api and remove gem zip-zip
|
|
gem 'zip-zip', require: 'zip'
|
|
|
|
# gnupg for email encryption
|
|
#
|
|
gem 'mail-gpg', '~> 0.4'
|
|
|
|
##
|
|
# Environment specific
|
|
##
|
|
|
|
group :production do
|
|
gem 'mini_racer', platforms: :ruby
|
|
end
|
|
|
|
group :production, :development do
|
|
# used to install crontab
|
|
gem 'whenever', require: false
|
|
# used to minify javascript
|
|
gem 'uglifier', '>= 1.3.0', require: false
|
|
end
|
|
|
|
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
|
|
end
|
|
|
|
group :test do
|
|
gem 'simplecov', require: false
|
|
end
|
|
|
|
group :test, :development do
|
|
gem 'byebug'
|
|
end
|
|
|
|
gem 'web-console', group: :development
|
|
|
|
group :test, :ci do
|
|
##
|
|
## TESTS
|
|
##
|
|
|
|
gem 'factory_bot_rails'
|
|
gem 'faker', '~> 2.19'
|
|
|
|
# temporary fix for minitest 5.11 issue
|
|
gem 'minitest', '~>5.10', require: false
|
|
|
|
# contains helper methods like assigns and assert_template
|
|
gem 'rails-controller-testing'
|
|
|
|
##
|
|
## INTEGRATION TESTS
|
|
##
|
|
|
|
gem 'capybara', require: false
|
|
|
|
# Capybara driver with javascript capabilities using phantomjs
|
|
# locked to major version for stable API
|
|
gem 'poltergeist', '~> 1.5', require: false
|
|
|
|
# Headless webkit browser for testing, fast and with javascript
|
|
# Version newer than 1.8 is required by current poltergeist.
|
|
gem 'phantomjs-binaries', '~> 2.1.1', require: false
|
|
|
|
# The castle_gates tests are based on sqlite
|
|
gem 'sqlite3'
|
|
end
|
|
|
|
gem 'bundler-audit'
|