232 lines
6.2 KiB
Ruby
232 lines
6.2 KiB
Ruby
# next? was generated with `next --init`
|
|
# src/api/Gemfile.next.lock was generated with `next bundle install`
|
|
def next?
|
|
File.basename(__FILE__) == 'Gemfile.next'
|
|
end
|
|
|
|
# Edit this Gemfile to bundle your application's dependencies.
|
|
source 'https://rubygems.org'
|
|
|
|
# Start the Rails application using src/api/Gemfile.next with `next rails s`
|
|
if next?
|
|
gem 'rails', '~> 8.0'
|
|
else
|
|
gem 'rails', '~> 7.0'
|
|
end
|
|
|
|
# as our database
|
|
gem 'mysql2'
|
|
# for XML handling
|
|
gem 'nokogiri'
|
|
# for delayed tasks
|
|
gem 'delayed_job_active_record'
|
|
# to fill errbit
|
|
gem 'airbrake'
|
|
gem 'airbrake-ruby'
|
|
# as JSON library - the default json conflicts with activerecord (by means of vice-versa monkey patching)
|
|
gem 'yajl-ruby', require: 'yajl/json_gem'
|
|
# to search the database
|
|
gem 'thinking-sphinx'
|
|
# to paginate search results
|
|
gem 'kaminari'
|
|
# for abstract HTML
|
|
gem 'haml'
|
|
# streamline HAML's integration in Rails
|
|
gem 'haml-rails'
|
|
# to use markdown in the comment system
|
|
gem 'redcarpet'
|
|
# for nested attribute forms
|
|
gem 'cocoon'
|
|
# for activerecord lists. Used for AttribValues
|
|
gem 'acts_as_list'
|
|
# to parse a XML string into a ruby hash
|
|
gem 'xmlhash'
|
|
# as authorization system
|
|
gem 'pundit'
|
|
# for password hashing
|
|
gem 'bcrypt'
|
|
# for threaded comments
|
|
gem 'acts_as_tree'
|
|
# js plotting (OBS monitor)
|
|
gem 'flot-rails'
|
|
# XML Serialization got moved here
|
|
gem 'activemodel-serializers-xml'
|
|
# Spider Identification
|
|
gem 'voight_kampff', require: 'voight_kampff/rails'
|
|
# for issue tracker communication
|
|
gem 'xmlrpc'
|
|
# Multiple feature switch
|
|
gem 'flipper'
|
|
gem 'flipper-active_record'
|
|
gem 'flipper-ui'
|
|
# for kerberos authentication
|
|
gem 'gssapi', require: false
|
|
# for sending events to rabbitmq
|
|
gem 'bunny'
|
|
# for making changes to existing data
|
|
gem 'data_migrate', '~> 9.0'
|
|
# for URI encoding
|
|
gem 'addressable'
|
|
# for XML builder
|
|
gem 'builder'
|
|
# to write the rails metrics directly into InfluxDB.
|
|
gem 'influxdb-rails'
|
|
# for copying objects with their relations
|
|
gem 'deep_cloneable'
|
|
# Server-side datatables
|
|
gem 'ajax-datatables-rails'
|
|
# Add syntax highlight in ruby
|
|
gem 'coderay'
|
|
# required by rails
|
|
gem 'bigdecimal'
|
|
# Catch unsafe migrations in development
|
|
gem 'strong_migrations'
|
|
# for some rails console fancy
|
|
gem 'pry-rails'
|
|
gem 'awesome_print'
|
|
# flexible and safe downloading of remote files
|
|
gem 'down'
|
|
# Simple wrapper for the GitHub API
|
|
gem 'octokit'
|
|
# Ruby wrapper and CLI for the GitLab REST API
|
|
gem 'gitlab'
|
|
# Build reusable, testable & encapsulated view components in Ruby on Rails
|
|
gem 'view_component'
|
|
# Abstraction layer for HTTP requests in custom API wrapper
|
|
gem 'faraday'
|
|
# Asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, Sass, and SCSS
|
|
# This cannot be in the assets group since Sprockets is loaded in config/application.rb
|
|
gem 'sprockets-rails'
|
|
|
|
# FIXME: Required by the mail gem
|
|
# See https://github.com/rails/rails/pull/44083
|
|
gem 'net-smtp', require: false
|
|
gem 'net-pop', require: false
|
|
gem 'net-imap', require: false
|
|
|
|
# Used in Package and XpathEngine
|
|
gem 'rexml'
|
|
# 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'
|
|
|
|
# until we have a fix for https://github.com/rubygems/rubygems/pull/5529
|
|
gem 'strscan', '3.0.1'
|
|
|
|
group :development, :production do
|
|
# to have the delayed job daemon
|
|
gem 'daemons'
|
|
# as memcache client
|
|
gem 'dalli'
|
|
# to not rely on cron+rake
|
|
gem 'clockwork'
|
|
# as interface to LDAP
|
|
gem 'ruby-ldap', require: false
|
|
# to have better logs
|
|
gem 'lograge'
|
|
end
|
|
|
|
group :production do
|
|
# if you have an account, it can be configured by
|
|
# placing a config/newrelic.yml
|
|
# be aware about the non-OSS license
|
|
# gem 'newrelic_rpm'
|
|
end
|
|
|
|
# Gems used only for testing the application and not required in production environments by default.
|
|
group :test do
|
|
# as testing frameworks
|
|
gem 'minitest'
|
|
gem 'test-unit'
|
|
# to ensure a clean state for testing
|
|
gem 'database_cleaner-active_record'
|
|
# for test coverage reports
|
|
gem 'simplecov', require: false
|
|
gem 'simplecov-cobertura', require: false
|
|
# for failing fast
|
|
gem 'minitest-fail-fast'
|
|
# for spec like reporting
|
|
gem 'minitest-reporters'
|
|
# for integration testing
|
|
gem 'capybara'
|
|
# to fake backend replies
|
|
gem 'webmock'
|
|
# for mocking and stubbing
|
|
gem 'mocha', require: false
|
|
# for testing common Rails functionality with simple one-liners
|
|
gem 'shoulda-matchers'
|
|
# assigns has been extracted to a gem
|
|
gem 'rails-controller-testing'
|
|
# To generate random data
|
|
gem 'rantly'
|
|
# for test analysis in CircleCI
|
|
gem 'minitest-ci'
|
|
gem 'rspec_junit_formatter'
|
|
# to test rabbitmq support
|
|
gem 'bunny-mock'
|
|
end
|
|
|
|
group :development, :test do
|
|
# as testing framework
|
|
gem 'rspec'
|
|
gem 'rspec-rails'
|
|
# as rspec formatter
|
|
gem 'fuubar'
|
|
# for fixtures
|
|
gem 'factory_bot_rails'
|
|
# for mocking the backend
|
|
gem 'vcr'
|
|
# as alternative to the standard IRB shell
|
|
gem 'pry'
|
|
# add step-by-step debugging and stack navigation capabilities to pry
|
|
gem 'pry-byebug'
|
|
# for style checks
|
|
gem 'rubocop', require: false
|
|
# for rails style checks
|
|
gem 'rubocop-rails', require: false
|
|
# for rspec style checks
|
|
gem 'rubocop-rspec', require: false
|
|
# for performance checks
|
|
gem 'rubocop-performance'
|
|
# integrates with RuboCop to analyse HAML files
|
|
gem 'haml_lint'
|
|
# to generate random long strings
|
|
gem 'faker'
|
|
# to launch browser in test
|
|
gem 'launchy'
|
|
# for calling single testd
|
|
gem 'single_test'
|
|
# to find n+1 queries
|
|
gem 'bullet'
|
|
# Use Puma as the app server
|
|
gem 'puma'
|
|
# to drive headless chrome
|
|
gem 'selenium-webdriver'
|
|
end
|
|
|
|
group :development do
|
|
# add a comment summarizing the current schema
|
|
gem 'annotate'
|
|
# toolkit to upgrade your Rails application
|
|
gem 'next_rails'
|
|
gem 'database_consistency', require: false
|
|
end
|
|
|
|
# Gems used only for assets and not required in production environments by default.
|
|
group :assets do
|
|
# for minifying JavaScript
|
|
gem 'terser'
|
|
# to use sass in the asset pipeline
|
|
gem 'sassc-rails'
|
|
# assets for jQuery DataTables
|
|
gem 'jquery-datatables'
|
|
# assets for jQuery and jQuery-ujs
|
|
gem 'jquery-rails'
|
|
# assets for jQuery-ui
|
|
gem 'jquery-ui-rails', '~> 4.2.1'
|
|
# assets for the bootstrap front-end framework
|
|
gem 'bootstrap'
|
|
# assets for font-awesome vector icons
|
|
gem 'font-awesome-sass'
|
|
end
|