Module: Gem::Skill::Runner
- Defined in:
- lib/gem/skill/runner.rb
Overview
Core install logic shared by gem_command and bundle_command. Callers are responsible for spinner.auto_spin and title setup before calling.
Class Method Summary collapse
-
.install_skill(gem_name, version, spinner, force:, model:) ⇒ Object
Generate + cache + link one skill.
Class Method Details
.install_skill(gem_name, version, spinner, force:, model:) ⇒ Object
Generate + cache + link one skill. Returns nil on success, error message string on failure.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/gem/skill/runner.rb', line 9 def self.install_skill(gem_name, version, spinner, force:, model:) if Cache.cached?(gem_name, version) && !force Linker.link(gem_name, version) spinner.success("already cached") return nil end Generator.new(gem_name, version, model: model).generate(force: force) Linker.link(gem_name, version) spinner.success("done") nil rescue => e spinner.error("failed") e. end |