Class: BuiltinSkillsInstaller

Inherits:
Object
  • Object
show all
Defined in:
lib/clacky/default_skills/onboard/scripts/install_builtin_skills.rb

Constant Summary collapse

PRIMARY_HOST =
ENV.fetch('CLACKY_LICENSE_SERVER', 'https://www.openclacky.com')
FALLBACK_HOST =
'https://openclacky.up.railway.app'
API_HOSTS =
ENV['CLACKY_LICENSE_SERVER'] ? [PRIMARY_HOST] : [PRIMARY_HOST, FALLBACK_HOST]
API_PATH =
'/api/v1/skills/builtin'
API_OPEN_TIMEOUT =
5
API_READ_TIMEOUT =
10

Instance Method Summary collapse

Constructor Details

#initializeBuiltinSkillsInstaller

Returns a new instance of BuiltinSkillsInstaller.



18
19
20
21
22
23
24
# File 'lib/clacky/default_skills/onboard/scripts/install_builtin_skills.rb', line 18

def initialize
  @target_dir       = File.join(Dir.home, '.clacky', 'skills')
  @installed        = 0
  @skipped_existing = 0
  @attempted        = 0
  @errors           = []
end

Instance Method Details

#runObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/clacky/default_skills/onboard/scripts/install_builtin_skills.rb', line 26

def run
  skills = fetch_skill_list
  if skills.nil? || skills.empty?
    emit_summary
    return
  end

  skills.each { |skill| install_one(skill) }
ensure
  emit_summary
end