Module: CardanoUp::Install

Defined in:
lib/cardano-up/install.rb

Overview

Installing configs for Cardano environments and binaries

Class Method Summary collapse

Class Method Details

.configs_exist?(env) ⇒ Boolean

Check all necessary config files for particular environment exist.

Parameters:

  • env (String)

Returns:

  • (Boolean)

Raises:

  • CardanoUp::EnvNotSupportedError



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/cardano-up/install.rb', line 9

def self.configs_exist?(env)
  CardanoUp.configure_default unless CardanoUp.configured?
  raise CardanoUp::EnvNotSupportedError, env unless CardanoUp::ENVS.include?(env)

  configs = CardanoUp.config
  config_dir_env = FileUtils.mkdir_p(File.join(configs['config_dir'], env))
  config_files = CardanoUp::CONFIG_FILES
  not_existing = []
  config_files.each do |file|
    conf_file_path = File.join(config_dir_env, file)
    not_existing << conf_file_path unless File.exist?(conf_file_path)
  end
  not_existing.empty?
end

.install_bins(release) ⇒ Object

Get cardano-wallet bundle binaries to your computer.

Parameters:

  • release (String)
    • ‘latest’ | /^v20.2-.2-.2/ | ‘master’ | ‘3341’

Raises:

  • CardanoUp::VersionNotSupportedError



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/cardano-up/install.rb', line 42

def self.install_bins(release)
  CardanoUp.configure_default unless CardanoUp.configured?
  configs = CardanoUp.config
  url = CardanoUp::Utils.get_binary_url(release)
  bin_dir_env = FileUtils.mkdir_p(configs['bin_dir']).first
  file_to_unpack = File.join(bin_dir_env, 'binary-dist')
  CardanoUp::Utils.wget(url, file_to_unpack)

  unpack_binary(file_to_unpack, bin_dir_env)
  return_versions(bin_dir_env)
end

.install_configs(env) ⇒ Object

Get all necessary config files for particular environment.

Parameters:

  • env (String)

Raises:

  • CardanoUp::EnvNotSupportedError



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/cardano-up/install.rb', line 27

def self.install_configs(env)
  CardanoUp.configure_default unless CardanoUp.configured?
  raise CardanoUp::EnvNotSupportedError, env unless CardanoUp::ENVS.include?(env)

  configs = CardanoUp.config
  config_urls = CardanoUp::Utils.config_urls(env)
  config_dir_env = FileUtils.mkdir_p(File.join(configs['config_dir'], env))
  config_urls.each do |url|
    CardanoUp::Utils.wget(url, File.join(config_dir_env, File.basename(url)))
  end
end

.return_versions(bin_dir = nil) ⇒ Object

Return versions of installed components

Raises:

  • CardanoUp::ConfigNotSetError



74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/cardano-up/install.rb', line 74

def self.return_versions(bin_dir = nil)
  bindir = bin_dir.nil? ? CardanoUp.config['bin_dir'] : bin_dir
  exe = CardanoUp::Utils.win? ? '.exe' : ''
  cn = CardanoUp::Utils.cmd "#{bindir}/cardano-node#{exe} version"
  cli = CardanoUp::Utils.cmd "#{bindir}/cardano-cli#{exe} version"
  cw = CardanoUp::Utils.cmd "#{bindir}/cardano-wallet#{exe} version"
  ca = CardanoUp::Utils.cmd "#{bindir}/cardano-address#{exe} version"
  b32 = CardanoUp::Utils.cmd "#{bindir}/bech32#{exe} --version"
  { 'cardano-node' => cn,
    'cardano-cli' => cli,
    'cardano-wallet' => cw,
    'cardano-address' => ca,
    'bech32' => b32 }
end