Class: Rails::Worktrees::MiseEnvironment

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/worktrees/mise_environment.rb

Overview

Resolves runtime environment variables from mise for setup subprocesses.

Defined Under Namespace

Classes: Result

Constant Summary collapse

CONFIG_FILES =
%w[mise.toml .mise.toml].freeze

Instance Method Summary collapse

Constructor Details

#initialize(target_dir:, env:) ⇒ MiseEnvironment

Returns a new instance of MiseEnvironment.



12
13
14
15
# File 'lib/rails/worktrees/mise_environment.rb', line 12

def initialize(target_dir:, env:)
  @target_dir = target_dir
  @env = env
end

Instance Method Details

#callObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/rails/worktrees/mise_environment.rb', line 17

def call
  return Result.new(env: {}, messages: []) unless mise_available?

  messages = []
  trust_config!(messages)
  env = resolved_env
  messages << '🧰 Activating mise toolchain...' if project_config_file || !env.empty?

  Result.new(env: env, messages: messages.uniq)
end