Class: ArcadiaGemsWizard

Inherits:
Object
  • Object
show all
Defined in:
lib/a-core.rb

Instance Method Summary collapse

Constructor Details

#initialize(_arcadia) ⇒ ArcadiaGemsWizard

Returns a new instance of ArcadiaGemsWizard.



2416
2417
2418
2419
# File 'lib/a-core.rb', line 2416

def initialize(_arcadia)
  @arcadia = _arcadia
  Arcadia.attach_listener(self, NeedRubyGemWizardEvent)
end

Instance Method Details

#on_need_ruby_gem_wizard(_event) ⇒ Object



2421
2422
2423
2424
# File 'lib/a-core.rb', line 2421

def on_need_ruby_gem_wizard(_event)
  msg = Arcadia.text("main.e.gem_missing.msg", [_event.gem_name, _event.extension_name])
  ArcadiaProblemEvent.new(self, "type"=>ArcadiaProblemEvent::DEPENDENCE_MISSING_TYPE,"title"=>Arcadia.text("main.e.gem_missing.title", [_event.gem_name]), "detail"=>msg).go!
end

#try_to_install_gem(name, repository = nil, version = '>0') ⇒ Object



2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
# File 'lib/a-core.rb', line 2426

def try_to_install_gem(name, repository=nil, version = '>0')
  ret = false
  sh=ArcadiaSh.new
  cmd = "gem install --remote --include-dependencies #{name}"
  cmd="sudo #{cmd}" if !Arcadia.is_windows?
  cmd+=" --source=#{repository}" if repository
  sh.prepare_exec(cmd)
  while sh.wait
    Tk.update
    #sleep(1)
  end
  ret=sh.result
  sh.destroy
  Gem.clear_paths
  ret
end