diff --git a/Gemfile b/Gemfile index 28b25f54..6fec3384 100644 --- a/Gemfile +++ b/Gemfile @@ -15,33 +15,29 @@ gem 'rails', '~> 5.2.1' gem 'sqlite3', '~> 1.3.6' # development and testing # Use Puma as the app server gem 'puma', '~> 3.11' -# Use SCSS for stylesheets -# Gem integrates the C implementation of Sass, LibSass, into the asset pipeline -# https://github.com/sass/sassc-rails -gem 'sassc-rails' +# Use SCSS for stylesheets, integrate C implementation of Sass, LibSass, into asset pipeline +gem 'sassc-rails' # https://github.com/sass/sassc-rails # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # See https://github.com/rails/execjs#readme for more supported runtimes gem 'mini_racer', platforms: :ruby -# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks -gem 'turbolinks', '~> 5' +# Turbolinks makes navigating your web application faster +gem 'turbolinks', '~> 5' # https://github.com/turbolinks/turbolinks # Flexible authentication solution for Rails with Warden -# https://github.com/plataformatec/devise -gem 'devise' -gem 'devise-bootstrap-views', '~> 1.0' -gem 'devise-i18n' +gem 'devise' # https://github.com/plataformatec/devise +gem 'devise-bootstrap-views', '~> 1.0' # https://github.com/hisea/devise-bootstrap-views +gem 'devise-i18n' # https://github.com/tigrish/devise-i18n # Provides different authentication strategies -gem 'omniauth' -gem 'omniauth_openid_connect' +gem 'omniauth' # https://github.com/omniauth/omniauth +gem 'omniauth_openid_connect' # https://github.com/m0n9oose/omniauth_openid_connect # Role management, minimal authorization through OO design and pure Ruby classes -# https://github.com/varvet/pundit -gem 'pundit' +gem 'pundit' # https://github.com/varvet/pundit # Reduces boot times through caching; required in config/boot.rb -gem 'bootsnap', '>= 1.1.0', require: false +gem 'bootsnap', '>= 1.1.0', require: false # https://github.com/Shopify/bootsnap # Use CoffeeScript for .coffee assets and views -gem 'coffee-rails', '~> 4.2' -# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder -gem 'jbuilder', '~> 2.5' +gem 'coffee-rails', '~> 4.2' # https://github.com/rails/coffee-rails +# Build JSON APIs with ease. +gem 'jbuilder', '~> 2.5' # https://github.com/rails/jbuilder # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 4.0' # Use ActiveModel has_secure_password @@ -54,98 +50,96 @@ gem 'jbuilder', '~> 2.5' # # Ruby interface to the VMware vSphere API -# https://github.com/vmware/rbvmomi -gem 'rbvmomi' -# Ruby Git -gem 'git' +gem 'rbvmomi' # https://github.com/vmware/rbvmomi +# Library for using Git in Ruby +gem 'git' # https://github.com/ruby-git/ruby-git # Allow locks on database -# https://github.com/ClosureTree/with_advisory_lock -gem 'with_advisory_lock' +gem 'with_advisory_lock' # https://github.com/ClosureTree/with_advisory_lock # SSH private and public key generator in pure Ruby (RSA & DSA) -# https://github.com/bensie/sshkey -gem 'sshkey', '~> 1.9' +gem 'sshkey', '~> 1.9' # https://github.com/bensie/sshkey # Mina for deployment -# Have a look in the tutorial: -# https://github.com/lnikell/wiki/wiki/Deploy-rails-application-with-Mina,-Nginx-and-Puma -gem 'mina', require: false +# Tutorial: https://github.com/lnikell/wiki/wiki/Deploy-rails-application-with-Mina,-Nginx-and-Puma +gem 'mina', require: false # https://github.com/mina-deploy/mina gem 'mina-puma', require: false, github: 'untitledkingdom/mina-puma' -# Adds support for multiple stages, https://github.com/endoze/mina-multistage -gem 'mina-multistage', require: false -# Tail production logs, https://github.com/windy/mina-logs -# $ mina logs # tail -f log/production.log -gem 'mina-logs', require: false -# Announce Mina deploys to Slack channels, https://github.com/krichly/mina-slack +# Adds support for multiple stages to mina +gem 'mina-multistage', require: false # https://github.com/endoze/mina-multistage +# Tail production logs: $ mina logs == tail -f log/production.log +gem 'mina-logs', require: false # https://github.com/windy/mina-logs +# Announce Mina deploys to Slack channels gem 'execjs', require: false -gem 'mina-slack', require: false, github: 'krichly/mina-slack' -# Coveralls is a web service to help you track your code coverage -# over time, and ensure that all your new code is fully covered +gem 'mina-slack', require: false, github: 'krichly/mina-slack' # https://github.com/krichly/mina-slack +# Web service for tracking code coverage over time # https://coveralls.io/github/hpi-swt2/vm-portal gem 'coveralls', require: false # Report errors in production to central Errbit system # https://github.com/errbit/errbit -# https://github.com/airbrake/airbrake -gem 'airbrake', '~> 5.0' +gem 'airbrake', '~> 5.0' # https://github.com/airbrake/airbrake # # Packaged JS & CSS libraries # -# Fancy default views and javascript helpers https://github.com/twbs/bootstrap-rubygem -gem 'bootstrap', '~> 4.3.1' -# jQuery for Rails https://github.com/rails/jquery-rails -gem 'jquery-rails' -# Jquery datatables ruby gems for assets pipeline, https://datatables.net/ -# https://github.com/mkhairi/jquery-datatables -gem 'jquery-datatables' -# The font-awesome font bundled as an asset for the rails asset pipeline -# See https://github.com/bokmann/font-awesome-rails -gem 'font-awesome-rails' +# Fancy default views and javascript helpers +gem 'bootstrap', '~> 4.3.1' # https://github.com/twbs/bootstrap-rubygem +# jQuery for Rails +gem 'jquery-rails' # https://github.com/rails/jquery-rails +# jQuery datatables Ruby gem for assets pipeline, https://datatables.net/ +gem 'jquery-datatables' # https://github.com/mkhairi/jquery-datatables +# The font-awesome font bundled as an asset for the Rails asset pipeline +gem 'font-awesome-rails' # https://github.com/bokmann/font-awesome-rails # Integrate Select2 javascript library with Rails asset pipeline -# https://github.com/argerim/select2-rails -gem 'select2-rails' +gem 'select2-rails' # https://github.com/argerim/select2-rails # Packaged clipboard.js JS library for copying text to clipboard -# https://github.com/sadiqmmm/clipboard-rails -gem 'clipboard-rails' -# Deprecated! https://github.com/kossnocorp/jquery.turbolinks -# gem 'jquery-turbolinks' +gem 'clipboard-rails' # https://github.com/sadiqmmm/clipboard-rails +# Deprecated! +# gem 'jquery-turbolinks' # https://github.com/kossnocorp/jquery.turbolinks group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console - gem 'byebug', platforms: %i[mri mingw x64_mingw] - gem 'rspec-rails', '~> 3.8' - # State of the art fixtures https://github.com/thoughtbot/factory_bot_rails - gem 'factory_bot_rails' + gem 'byebug', platforms: %i[mri mingw x64_mingw] # https://github.com/deivid-rodriguez/byebug + # RSpec testing framework as a drop-in alternative to Rails' default testing framework, Minitest + gem 'rspec-rails', '~> 3.8' # https://github.com/rspec/rspec-rails + # State of the art fixtures + gem 'factory_bot_rails' # https://github.com/thoughtbot/factory_bot_rails end group :development do # Access an interactive console on exception pages or by calling 'console' anywhere in the code. - gem 'listen', '>= 3.0.5', '< 3.2' - gem 'web-console', '>= 3.3.0' - # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring - gem 'spring' - gem 'spring-watcher-listen', '~> 2.0.0' - # Easy linting https://github.com/rubocop-hq/rubocop - gem 'rubocop', require: false - gem 'rubocop-rspec' - # Much nicer error pages https://github.com/BetterErrors/better_errors - gem 'better_errors' + gem 'web-console', '>= 3.3.0' # https://github.com/rails/web-console + # The Listen gem listens to file modifications and notifies you about the changes. + gem 'listen', '>= 3.0.5', '< 3.2' # https://github.com/guard/listen + # Spring speeds up development by keeping your application running in the background + gem 'spring' # https://github.com/rails/spring + # Makes Spring watch the filesystem for changes using Listen rather than by polling the filesystem + gem 'spring-watcher-listen', '~> 2.0.0' # https://github.com/jonleighton/spring-watcher-listen + # Static code analyzer and formatter, based on the community Ruby style guide + gem 'rubocop', require: false # https://github.com/rubocop-hq/rubocop + # Code style checking for RSpec files + gem 'rubocop-rspec' # https://github.com/rubocop-hq/rubocop-rspec + # Replaces standard Rails error page with a more useful error page + # binding_of_caller is optional, but is necessary to use Better Errors' advanced features + gem 'better_errors' # https://github.com/BetterErrors/better_errors gem 'binding_of_caller' # Continous execution of unit tests - gem 'guard' + gem 'guard' # https://github.com/guard/guard end group :test do - # Adds support for Capybara system testing and selenium driver - gem 'capybara', '>= 2.15' - gem 'selenium-webdriver' - # Easy installation and use of chromedriver to run system tests with Chrome - gem 'chromedriver-helper' - # More fun while testing, easy sample data and oneline tests for rails functionality - gem 'faker', git: 'https://github.com/stympy/faker.git', branch: 'master' - gem 'rails-controller-testing' - gem 'shoulda-matchers', '4.0.0.rc1' - # Code coverage for Ruby, https://github.com/colszowka/simplecov - gem 'simplecov', require: false + # Test web applications by simulating how a real user would interact with your app + gem 'capybara', '>= 2.15' # https://github.com/teamcapybara/capybara + # Run Selenium tests more easily with automatic installation and updates for all supported webdrivers + # gem 'webdrivers', '~> 3.0', # https://github.com/titusfortner/webdrivers + # Ruby bindings for WebDriver + # gem 'selenium-webdriver', # https://github.com/SeleniumHQ/selenium/tree/master/rb + + # Port of Perl's Data::Faker library that generates fake data + gem 'faker' # https://github.com/stympy/faker + # RSpec- and Minitest-compatible one-liners that test common Rails functionality + # rails-controller-testing is required by shoulda-matchers + gem 'shoulda-matchers', '4.0.0.rc1' # https://github.com/thoughtbot/shoulda-matchers + gem 'rails-controller-testing' # https://github.com/rails/rails-controller-testing + # Code coverage for Ruby + gem 'simplecov', require: false # https://github.com/colszowka/simplecov end group :production do diff --git a/Gemfile.lock b/Gemfile.lock index 50b667cf..9adb17a5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,14 +8,6 @@ GIT net-ssh rake -GIT - remote: https://github.com/stympy/faker.git - revision: acd8a719efc6af27a8bf9ca76277c350ec6b3865 - branch: master - specs: - faker (1.9.3) - i18n (>= 0.7) - GIT remote: https://github.com/untitledkingdom/mina-puma.git revision: 581a2048d82998328a5c9581a45883e0f3b28d06 @@ -74,8 +66,6 @@ GEM airbrake (5.8.1) airbrake-ruby (~> 1.8) airbrake-ruby (1.8.0) - archive-zip (0.11.0) - io-like (~> 0.3.0) arel (9.0.0) ast (2.4.0) attr_required (1.0.1) @@ -106,11 +96,6 @@ GEM rack-test (>= 0.6.3) regexp_parser (~> 1.2) xpath (~> 3.2) - childprocess (0.9.0) - ffi (~> 1.0, >= 1.0.11) - chromedriver-helper (2.1.0) - archive-zip (~> 0.10) - nokogiri (~> 1.8) clipboard-rails (1.7.1) coderay (1.1.2) coffee-rails (4.2.2) @@ -147,6 +132,8 @@ GEM factory_bot_rails (5.0.1) factory_bot (~> 5.0.0) railties (>= 4.2.0) + faker (1.9.3) + i18n (>= 0.7) ffi (1.9.25) font-awesome-rails (4.7.0.4) railties (>= 3.2, < 6.0) @@ -167,7 +154,6 @@ GEM httpclient (2.8.3) i18n (1.5.3) concurrent-ruby (~> 1.0) - io-like (0.3.0) jaro_winkler (1.5.2) jbuilder (2.8.0) activesupport (>= 4.2.0) @@ -332,7 +318,6 @@ GEM rubocop (>= 0.60.0) ruby-progressbar (1.10.0) ruby_dep (1.5.0) - rubyzip (1.2.2) sassc (2.0.0) ffi (~> 1.9.6) rake @@ -344,9 +329,6 @@ GEM tilt select2-rails (4.0.3) thor (~> 0.14) - selenium-webdriver (3.141.0) - childprocess (~> 0.5) - rubyzip (~> 1.2, >= 1.2.2) shellany (0.0.1) shoulda-matchers (4.0.0.rc1) activesupport (>= 4.2.0) @@ -422,7 +404,6 @@ DEPENDENCIES bootstrap (~> 4.3.1) byebug capybara (>= 2.15) - chromedriver-helper clipboard-rails coffee-rails (~> 4.2) coveralls @@ -431,7 +412,7 @@ DEPENDENCIES devise-i18n execjs factory_bot_rails - faker! + faker font-awesome-rails git guard @@ -458,7 +439,6 @@ DEPENDENCIES rubocop-rspec sassc-rails select2-rails - selenium-webdriver shoulda-matchers (= 4.0.0.rc1) simplecov spring diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index f8d2487b..2e0a9a27 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -34,6 +34,9 @@ end # Configure shoulda matchers +# Shoulda Matchers provides RSpec- and Minitest-compatible one-liners that test common Rails functionality. +# These tests, if written by hand, would be much longer, more complex, and error-prone. +# https://github.com/thoughtbot/shoulda-matchers#rails-apps Shoulda::Matchers.configure do |config| config.integrate do |with| with.test_framework :rspec