From 5f27c45031fc997ee0a1be7262b16578cf8df750 Mon Sep 17 00:00:00 2001 From: ari Date: Sun, 12 Feb 2023 17:11:46 +0300 Subject: [PATCH] Update gems --- gems/gem_files.rb | 69 ++++++++++++++++++----------------------------- template.rb | 2 +- 2 files changed, 27 insertions(+), 44 deletions(-) diff --git a/gems/gem_files.rb b/gems/gem_files.rb index 23343df..86e3b78 100644 --- a/gems/gem_files.rb +++ b/gems/gem_files.rb @@ -1,54 +1,37 @@ module Gems def configure_gems - # Gems - # require_relative 'gemfile' + # gemfile instructions - gem 'pg', '~> 1.4.5' unless ARGV.include?('--skip-gem-pg') - gem 'tzinfo-data' unless ARGV.include?('--skip-gem-tzinfo-data') - gem 'bunny', '>= 2.19.0' unless ARGV.include?('--skip-gem-bunny') - gem 'httparty' unless ARGV.include?('--skip-gem-httparty') - gem 'rabbit_carrots', '~> 0.1.14' unless ARGV.include?('--skip-gem-rabbit_carrots') - gem 'redis', '~> 4.5' unless ARGV.include?('--skip-gem-redis') - gem 'sentry-rails', '~> 5.6.0' unless ARGV.include?('--skip-gem-sentry-rails') - gem 'sentry-ruby', '~> 5.6.0' unless ARGV.include?('--skip-gem-sentry-ruby') - gem 'sidekiq', '>= 6.4.0', '< 7.0.0' unless ARGV.include?('--skip-gem-sidekiq') - gem 'sidekiq-cron', '~> 1.8.0' unless ARGV.include?('--skip-gem-sidekiq-cron') + run 'bundle add pg' unless ARGV.include?('--skip-gem-pg') + run 'bundle add tzinfo-data' unless ARGV.include?('--skip-gem-tzinfo-data') + run 'bundle add bunny' unless ARGV.include?('--skip-gem-bunny') + run 'bundle add httparty' unless ARGV.include?('--skip-gem-httparty') + run 'bundle add rabbit_carrots' unless ARGV.include?('--skip-gem-rabbit_carrots') + run 'bundle add redis' unless ARGV.include?('--skip-gem-redis') + run 'bundle add sentry-rails' unless ARGV.include?('--skip-gem-sentry-rails') + run 'bundle add sentry-ruby' unless ARGV.include?('--skip-gem-sentry-ruby') + run 'bundle add sidekiq' unless ARGV.include?('--skip-gem-sidekiq') + + run 'bundle add sidekiq-cron' unless ARGV.include?('--skip-gem-sidekiq-cron') # development gems - gem_group :development do - gem 'bullet', '~> 7.0.4' unless ARGV.include?('--skip-gem-bullet') - gem 'memory_profiler' unless ARGV.include?('--skip-gem-memory_profiler') - end - + run 'bundle add bullet --group development' unless ARGV.include?('--skip-gem-bullet') # test gems - gem_group :test do - unless ARGV.include?('--skip-gem-rspec-sonarqube-formatter') - gem 'rspec-sonarqube-formatter', '~> 1.5', - require: false - end - gem 'shoulda-matchers', '~> 5.2.0' unless ARGV.include?('--skip-gem-shoulda-matchers') - - gem 'simplecov', require: false unless ARGV.include?('--skip-gem-simplecov') - gem 'simplecov-json' unless ARGV.include?('--skip-gem-simplecov-json') - - gem 'simplecov-rcov' unless ARGV.include?('--skip-gem-simplecov-rcov') - gem 'webdrivers' unless ARGV.include?('--skip-gem-webdrivers') - end - + run 'bundle add shoulda-matchers --group test' unless ARGV.include?('--skip-gem-shoulda-matchers') + run 'bundle add simplecov --group test' unless ARGV.include?('--skip-gem-simplecov') + run 'bundle add simplecov-json --group test' unless ARGV.include?('--skip-gem-simplecov-json') + run 'bundle add simplecov-rcov --group test' unless ARGV.include?('--skip-gem-simplecov-rcov') # development and test gems - gem_group :development, :test do - gem 'database_cleaner' unless ARGV.include?('--skip-gem-database_cleaner') + # gem 'database_cleaner' unless ARGV.include?('--skip-gem-database_cleaner') + run 'bundle add dotenv-rails --group development,test' unless ARGV.include?('--skip-gem-dotenv-rails') - gem 'dotenv-rails' unless ARGV.include?('--skip-gem-dotenv-rails') - gem 'factory_bot_rails' unless ARGV.include?('--skip-gem-factory_bot_rails') + run 'bundle add factory_bot_rails --group development,test' unless ARGV.include?('--skip-gem-factory_bot_rails') + run 'dotenv-rails' unless ARGV.include?('--skip-gem-dotenv-rails') + run 'bundle add faker --group development,test' unless ARGV.include?('--skip-gem-faker') - gem 'faker', '~> 3.0.0' unless ARGV.include?('--skip-gem-faker') - - gem 'reek' unless ARGV.include?('--skip-gem-reek') - gem 'rspec-rails', '~> 6.0.0' unless ARGV.include?('--skip-gem-rspec-rails') - gem 'rswag-specs', '~> 2.8.0' unless ARGV.include?('--skip-gem-rswag-specs') - gem 'rubocop' unless ARGV.include?('--skip-gem-rubocop') - gem 'rubocop-rails', require: false unless ARGV.include?('--skip-gem-rubocop-rails') - end + run 'bundle add rspec-rails --group development,test' unless ARGV.include?('--skip-gem-rspec-rails') + run 'bundle add rswag-specs --group development,test' unless ARGV.include?('--skip-gem-rswag-specs') + run 'bundle add rubocop --group development,test' unless ARGV.include?('--skip-gem-rubocop') + run 'bundle add rubocop-rails --group development,test' unless ARGV.include?('--skip-gem-rubocop-rails') end end diff --git a/template.rb b/template.rb index 3087408..80ea4bd 100644 --- a/template.rb +++ b/template.rb @@ -22,7 +22,6 @@ SELF.include Envs run 'bundle remove tzinfo-data sqlite3' -configure_gems unless ARGV.include?('--skip-gemset') spec_helper_configurations unless ARGV.include?('--skip-rspec') rails_helper_configurations unless ARGV.include?('--skip-rspec') rspec_base_configurations unless ARGV.include?('--skip-rspec') @@ -32,5 +31,6 @@ docker_configurations unless ARGV.include?('--skip-docke docker_compose_configurations unless ARGV.include?('--skip-docker_compose') database_configurations unless ARGV.include?('--skip-database') dot_env_configurations unless ARGV.include?('--skip-dotenv') +configure_gems unless ARGV.include?('--skip-gemset') rails_command('generate rspec:install')