From e36f7367da30c1dc230561fc5779638d58a52cf8 Mon Sep 17 00:00:00 2001 From: Louis Antonopoulos Date: Tue, 8 Oct 2024 17:10:53 +0100 Subject: [PATCH 1/6] Allow running against suspenders main Co-authored-by: Steve Polito --- NEWS.md | 1 + README.md | 13 +++++++++++++ lib/install/web.rb | 22 +++++++++++++++++++--- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/NEWS.md b/NEWS.md index 264854c0..61acc707 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,6 +2,7 @@ Unreleased * Require `--skip-rubocop` in favor of our [linting configuration][] * Fixed: [Specify a tag when installing capybara_accessible_selectors](https://github.com/thoughtbot/suspenders/issues/1228) +* Fixed: [Issue 1229: How do we want to handle un-released versions?](https://github.com/thoughtbot/suspenders/issues/1229) [linting configuration]: https://github.com/thoughtbot/suspenders/blob/main/FEATURES.md#linting diff --git a/README.md b/README.md index ddd03a4f..86147bf0 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,21 @@ PostgreSQL][] as our database. We skip [RuboCop rules by default][] in favor of our [holistic linting rules][]. +#### Use the latest suspenders release: + +``` +rails new app_name \ + --skip_rubocop \ + --skip-test \ + -d=postgresql \ + -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb +``` + +#### OR use the current (possibly unreleased) `main` branch of suspenders: + ``` rails new app_name \ + --suspenders_main \ --skip_rubocop \ --skip-test \ -d=postgresql \ diff --git a/lib/install/web.rb b/lib/install/web.rb index e1639958..6fe16524 100644 --- a/lib/install/web.rb +++ b/lib/install/web.rb @@ -24,8 +24,14 @@ def apply_template! end if options[:database] == "postgresql" && options[:skip_test] && options[:skip_rubocop] after_bundle do - gem_group :development, :test do - gem "suspenders" + if ARGV.include?("--suspenders_main") + gem_group :development, :test do + gem "suspenders", github: "thoughtbot/suspenders", branch: "main" + end + else + gem_group :development, :test do + gem "suspenders" + end end run "bundle install" @@ -41,12 +47,22 @@ def apply_template! === Please use the correct options === + # Use the latest suspenders release: rails new \\ --skip-rubocop \\ --skip-test \\ -d=postgresql \\ -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb - ERROR + + # OR use the current (possibly unreleased) `main` branch of suspenders: + rails new \\ + --suspenders_main \\ + --skip-rubocop \\ + --skip-test \\ + -d=postgresql \\ + -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb + + ERROR fail Rails::Generators::Error, message end From 2a13a8aeebc91b11bcdc89705670b074062c2433 Mon Sep 17 00:00:00 2001 From: Louis Antonopoulos Date: Tue, 8 Oct 2024 17:25:14 +0100 Subject: [PATCH 2/6] Update markdown in web_generator.rb Add --suspenders_main parameter example Use double \ for line breaks Co-authored-by: Steve Polito --- .../suspenders/install/web_generator.rb | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/generators/suspenders/install/web_generator.rb b/lib/generators/suspenders/install/web_generator.rb index add19170..80f3935d 100644 --- a/lib/generators/suspenders/install/web_generator.rb +++ b/lib/generators/suspenders/install/web_generator.rb @@ -13,11 +13,24 @@ class WebGenerator < Rails::Generators::Base This generatator is intended to be invoked as part of an [application template][]. + #### Use the latest suspenders release: + ``` - rails new \ + rails new \\ --skip-rubocop \\ - --skip-test \ - -d=postgresql \ + --skip-test \\ + -d=postgresql \\ + -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb + ``` + + #### OR use the current (possibly unreleased) `main` branch of suspenders: + + ``` + rails new app_name \\ + --suspenders_main \\ + --skip_rubocop \\ + --skip-test \\ + -d=postgresql \\ -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb ``` From b3e2c18092447ab88499f93a6f99904cbefcaca0 Mon Sep 17 00:00:00 2001 From: Louis Antonopoulos Date: Tue, 8 Oct 2024 17:32:52 +0100 Subject: [PATCH 3/6] Condense suspenders_main block --- lib/install/web.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/install/web.rb b/lib/install/web.rb index 6fe16524..67832131 100644 --- a/lib/install/web.rb +++ b/lib/install/web.rb @@ -24,12 +24,10 @@ def apply_template! end if options[:database] == "postgresql" && options[:skip_test] && options[:skip_rubocop] after_bundle do - if ARGV.include?("--suspenders_main") - gem_group :development, :test do + gem_group :development, :test do + if ARGV.include?("--suspenders_main") gem "suspenders", github: "thoughtbot/suspenders", branch: "main" - end - else - gem_group :development, :test do + else gem "suspenders" end end From f1ed6549f5ab7c82c002ca136745a8ad165d5aa5 Mon Sep 17 00:00:00 2001 From: Louis Antonopoulos Date: Tue, 8 Oct 2024 17:37:39 +0100 Subject: [PATCH 4/6] Prefer suspenders-main over suspenders_main Co-authored-by: Steve Polito --- README.md | 2 +- lib/generators/suspenders/install/web_generator.rb | 2 +- lib/install/web.rb | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 86147bf0..966792f3 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ rails new app_name \ ``` rails new app_name \ - --suspenders_main \ + --suspenders-main \ --skip_rubocop \ --skip-test \ -d=postgresql \ diff --git a/lib/generators/suspenders/install/web_generator.rb b/lib/generators/suspenders/install/web_generator.rb index 80f3935d..3421153d 100644 --- a/lib/generators/suspenders/install/web_generator.rb +++ b/lib/generators/suspenders/install/web_generator.rb @@ -27,7 +27,7 @@ class WebGenerator < Rails::Generators::Base ``` rails new app_name \\ - --suspenders_main \\ + --suspenders-main \\ --skip_rubocop \\ --skip-test \\ -d=postgresql \\ diff --git a/lib/install/web.rb b/lib/install/web.rb index 67832131..8da60ba4 100644 --- a/lib/install/web.rb +++ b/lib/install/web.rb @@ -25,7 +25,7 @@ def apply_template! if options[:database] == "postgresql" && options[:skip_test] && options[:skip_rubocop] after_bundle do gem_group :development, :test do - if ARGV.include?("--suspenders_main") + if ARGV.include?("--suspenders-main") gem "suspenders", github: "thoughtbot/suspenders", branch: "main" else gem "suspenders" @@ -54,7 +54,7 @@ def apply_template! # OR use the current (possibly unreleased) `main` branch of suspenders: rails new \\ - --suspenders_main \\ + --suspenders-main \\ --skip-rubocop \\ --skip-test \\ -d=postgresql \\ From d2f3b66dcf5ae6ff5d1af097c2cf9700e312b89a Mon Sep 17 00:00:00 2001 From: Louis Antonopoulos Date: Tue, 8 Oct 2024 17:39:27 +0100 Subject: [PATCH 5/6] Fix display of `skip_rubocop` Co-authored-by: Steve Polito --- README.md | 6 +++--- lib/generators/suspenders/install/web_generator.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 966792f3..d12a337f 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ We skip [RuboCop rules by default][] in favor of our [holistic linting rules][]. ``` rails new app_name \ - --skip_rubocop \ + --skip-rubocop \ --skip-test \ -d=postgresql \ -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb @@ -50,7 +50,7 @@ rails new app_name \ ``` rails new app_name \ --suspenders-main \ - --skip_rubocop \ + --skip-rubocop \ --skip-test \ -d=postgresql \ -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb @@ -62,7 +62,7 @@ Alternatively, if you're using our [dotfiles][], then you can just run `rails ne app_name`, or create your own [railsrc][] file with the following configuration: ``` ---skip_rubocop +--skip-rubocop --skip-test --database=postgresql -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb diff --git a/lib/generators/suspenders/install/web_generator.rb b/lib/generators/suspenders/install/web_generator.rb index 3421153d..cb31be33 100644 --- a/lib/generators/suspenders/install/web_generator.rb +++ b/lib/generators/suspenders/install/web_generator.rb @@ -28,7 +28,7 @@ class WebGenerator < Rails::Generators::Base ``` rails new app_name \\ --suspenders-main \\ - --skip_rubocop \\ + --skip-rubocop \\ --skip-test \\ -d=postgresql \\ -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb From 0de2e1c968438b8ac089e7bb6d064d89af16b40d Mon Sep 17 00:00:00 2001 From: Louis Antonopoulos Date: Tue, 8 Oct 2024 17:50:55 +0100 Subject: [PATCH 6/6] Linting --- lib/install/web.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/install/web.rb b/lib/install/web.rb index 8da60ba4..b071c4d7 100644 --- a/lib/install/web.rb +++ b/lib/install/web.rb @@ -60,7 +60,7 @@ def apply_template! -d=postgresql \\ -m=https://raw.githubusercontent.com/thoughtbot/suspenders/main/lib/install/web.rb - ERROR + ERROR fail Rails::Generators::Error, message end