Skip to content

Commit 6e767d3

Browse files
Prepare for release (#1289)
Add documentation, update release notes, bump version and run `bundle exec rake build`.
1 parent f076252 commit 6e767d3

4 files changed

Lines changed: 39 additions & 3 deletions

File tree

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
suspenders (20251211.0)
4+
suspenders (20251219.0)
55

66
GEM
77
remote: https://rubygems.org/

NEWS.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
Unreleased
22

3-
Rewrite
3+
20251219.0 (December 19, 2025)
4+
5+
Reintroduce system executable.
6+
7+
* Added: New apps can now be generated with `suspenders new <app_name>`.
8+
* Added: `config.active_record.strict_loading_mode = :n_plus_one_only` in `application.rb`.
9+
* Added: `config.active_record.strict_loading_by_default = true` in `application.rb`
10+
* Added: `config.action_mailer.default_url_options = { host: ENV.fetch("APPLICATION_HOST") }` in `production.rb`.
11+
* Added: `config.asset_host = ENV["ASSET_HOST"]` in `production.rb`.
12+
* Added: `config.active_record.action_on_strict_loading_violation = :log` in `production.rb`.
13+
* Added: `config.sandbox_by_default = true` in `production.rb`.
14+
* Added: `config.generators.apply_rubocop_autocorrect_after_generate! = true` in `development.rb`.
15+
* Added: `app/views/application/_form_errors.html.erb`.
16+
* Removed: Removed `dev:prime` in favor of `development:db:seed` and `development:db:seed:replant`.
17+
* Removed: Custom linting in favor of default Rails linter.
18+
* Removed: Advisories generator in favor of default Rails configuration.
19+
* Removed: Dependency on PostCSS, cssbundling-rails, and modern-normalize.
20+
* Removed: Dependency on title Gem.
421

522
20250317.0 (March 17, 2025)
623

lib/suspenders/cli.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,40 @@
11
# frozen_string_literal: true
22

33
module Suspenders
4+
# Command-line interface for generating Rails applications with Suspenders.
5+
# This class handles the creation of new Rails apps using a custom template
6+
# and predefined configuration options.
47
class CLI
8+
# Base options passed to the Rails generator for all new applications.
9+
# These options configure PostgreSQL as the database, skip test setup,
10+
# and skip Solid-related features.
511
BASE_OPTIONS = [
612
"-d=postgresql",
713
"--skip-test",
814
"--skip-solid"
915
]
1016

17+
# Initializes a new CLI instance.
18+
#
19+
# @param app_name [String] the name of the Rails application to create
1120
def initialize(app_name)
1221
@app_name = app_name
1322
end
1423

24+
# Creates and runs a new CLI instance for the given application name.
25+
#
26+
# @param app_name [String] the name of the Rails application to create
27+
# @return [Boolean] true if the Rails app was created successfully
28+
# @raise [Error] if Rails is not installed or app creation fails
1529
def self.run(app_name)
1630
new(app_name).run
1731
end
1832

33+
# Executes the CLI workflow to generate a new Rails application.
34+
# Verifies Rails installation and generates the app with Suspenders template.
35+
#
36+
# @return [Boolean] true if the Rails app was created successfully
37+
# @raise [Error] if Rails is not installed or app creation fails
1938
def run
2039
verify_rails_exists!
2140
generate_new_rails_app

lib/suspenders/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

33
module Suspenders
4-
VERSION = "20251211.0"
4+
VERSION = "20251219.0"
55
MINIMUM_RUBY_VERSION = ">= 3.2.0"
66
end

0 commit comments

Comments
 (0)