Class: Rails::Worktrees::MiseTomlUpdater
- Inherits:
-
Object
- Object
- Rails::Worktrees::MiseTomlUpdater
- Defined in:
- lib/rails/worktrees/mise_toml_updater.rb
Overview
Safely updates mise config to load the worktree-local .env.
Defined Under Namespace
Classes: Result
Constant Summary collapse
- ENV_SECTION_PATTERN =
/\A\s*\[env\]\s*(?:#.*)?\z/- ENV_FILE_PATTERN =
/\A\s*_.file\s*=\s*["']\.env["']\s*(?:#.*)?\z/- SECTION_PATTERN =
/\A\s*\[[^\]]+\]\s*(?:#.*)?\z/- ENV_FILE_ENTRY =
'_.file = ".env"'.freeze
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(content:, file_name:) ⇒ MiseTomlUpdater
constructor
A new instance of MiseTomlUpdater.
Constructor Details
#initialize(content:, file_name:) ⇒ MiseTomlUpdater
Returns a new instance of MiseTomlUpdater.
16 17 18 19 |
# File 'lib/rails/worktrees/mise_toml_updater.rb', line 16 def initialize(content:, file_name:) @content = content @file_name = file_name end |
Instance Method Details
#call ⇒ Object
21 22 23 24 25 26 |
# File 'lib/rails/worktrees/mise_toml_updater.rb', line 21 def call lines = @content.lines(chomp: true) return update_existing_env_section(lines) if env_section_present?(lines) append_env_section(lines) end |