From 7b1eca244680083cd99ea5e4808a4801c060e00f Mon Sep 17 00:00:00 2001 From: nwalberts Date: Thu, 4 Nov 2021 15:47:36 -0400 Subject: [PATCH 1/3] config changes to allow generation of rails 6 app --- Gemfile | 2 +- lib/make_it_so/rails.rb | 2 +- lib/make_it_so/version.rb | 2 +- make_it_so.gemspec | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 7a8f4b3..4fce2c9 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' require_relative 'lib/make_it_so/rails' -ruby '2.7.3' +ruby '3.0.2' # Specify your gem's dependencies in make_it_so.gemspec gemspec diff --git a/lib/make_it_so/rails.rb b/lib/make_it_so/rails.rb index f322633..c8a5e99 100644 --- a/lib/make_it_so/rails.rb +++ b/lib/make_it_so/rails.rb @@ -1,5 +1,5 @@ module MakeItSo module Rails - VERSION="5.2.5" + VERSION="6.1.4" end end diff --git a/lib/make_it_so/version.rb b/lib/make_it_so/version.rb index f2eebf6..623e094 100644 --- a/lib/make_it_so/version.rb +++ b/lib/make_it_so/version.rb @@ -1,3 +1,3 @@ module MakeItSo - VERSION = "0.6.0" + VERSION = "0.7.0" end diff --git a/make_it_so.gemspec b/make_it_so.gemspec index 44b718e..6a2b1cf 100644 --- a/make_it_so.gemspec +++ b/make_it_so.gemspec @@ -19,8 +19,8 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_dependency "thor" - spec.add_dependency "railties", "~> 5.2" - spec.add_dependency "activerecord", "~> 5.2" + spec.add_dependency "railties", "~> 6.1.4" + spec.add_dependency "activerecord", "~> 6.1.4" spec.add_dependency "json" spec.add_development_dependency "bundler", "~> 2.1" From c3768eb1ffab65861be6fcbd43226e97ff1cc740 Mon Sep 17 00:00:00 2001 From: nwalberts Date: Thu, 4 Nov 2021 15:49:48 -0400 Subject: [PATCH 2/3] change default thor ruby version to 3.0.2 --- lib/generators/rails_app_generator.rb | 1 + lib/make_it_so/rails/app_builder.rb | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lib/generators/rails_app_generator.rb b/lib/generators/rails_app_generator.rb index 5230a2e..8e5ce49 100644 --- a/lib/generators/rails_app_generator.rb +++ b/lib/generators/rails_app_generator.rb @@ -76,6 +76,7 @@ def initialize(*args) def finish_template super + build 'change_ruby_version' build 'pry_rails_dependency' build 'base_stylesheets' build 'eliminate_byebug' diff --git a/lib/make_it_so/rails/app_builder.rb b/lib/make_it_so/rails/app_builder.rb index 3d781cc..85351ab 100644 --- a/lib/make_it_so/rails/app_builder.rb +++ b/lib/make_it_so/rails/app_builder.rb @@ -47,6 +47,13 @@ def eliminate_byebug gsub_file 'Gemfile', both_lines, "\n" end + def change_ruby_version + # @generator.gem 'pg', '3.8.2', group: [:development, :test] + + default_ruby_version = /^ruby '2.6.5'$/ + gsub_file 'Gemfile', default_ruby_version, "\n" + end + def react @generator.gem 'webpacker', '~> 3.3' From 936cd42c38e1e7bee6d9e8c6bf64876d2d96caa1 Mon Sep 17 00:00:00 2001 From: nwalberts Date: Thu, 4 Nov 2021 15:50:27 -0400 Subject: [PATCH 3/3] update asset management for new sprockets verion --- lib/generators/rails_app_generator.rb | 1 + lib/make_it_so/rails/app_builder.rb | 14 +++++++++++--- templates/rails/app/assets/config/manifest.js | 3 +++ 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 templates/rails/app/assets/config/manifest.js diff --git a/lib/generators/rails_app_generator.rb b/lib/generators/rails_app_generator.rb index 8e5ce49..c0e9649 100644 --- a/lib/generators/rails_app_generator.rb +++ b/lib/generators/rails_app_generator.rb @@ -80,6 +80,7 @@ def finish_template build 'pry_rails_dependency' build 'base_stylesheets' build 'eliminate_byebug' + build 'base_config_manifest' unless options[:skip_javascript] build 'base_javascripts' end diff --git a/lib/make_it_so/rails/app_builder.rb b/lib/make_it_so/rails/app_builder.rb index 85351ab..52ef30c 100644 --- a/lib/make_it_so/rails/app_builder.rb +++ b/lib/make_it_so/rails/app_builder.rb @@ -16,8 +16,18 @@ def application_record end end + def base_config_manifest + # new sprockets pattern for assets with sprockets 4 in Rails 6 + empty_directory "app/assets/config" + inside 'app/assets/config' do + template 'manifest.js' + end + end + def base_javascripts @generator.gem 'jquery-rails' + + empty_directory "app/assets/javascripts" inside 'app/assets/javascripts' do template 'application.js' jquery_files = "//= require jquery\n" + @@ -55,7 +65,7 @@ def change_ruby_version end def react - @generator.gem 'webpacker', '~> 3.3' + # @generator.gem 'webpacker', '~> 3.3' after_bundle do rake 'webpacker:install' @@ -280,8 +290,6 @@ def foundation_dependency # foundation-rails generates an application layout so we # must remove it remove_file 'app/views/layouts/foundation.html.erb' - - end end diff --git a/templates/rails/app/assets/config/manifest.js b/templates/rails/app/assets/config/manifest.js new file mode 100644 index 0000000..7d52bcf --- /dev/null +++ b/templates/rails/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../stylesheets .css +//= link_directory ../javascripts .js