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'