class DTK::Client::Operation::Module::InstallFromCatalog
Attributes
module_ref[R]
target_repo_dir[R]
version[R]
Public Class Methods
execute(args = Args.new)
click to toggle source
# File lib/client/operation/module/install_from_catalog.rb, line 34 def self.execute(args = Args.new) wrap_operation(args) do |args| module_ref = args.required(:module_ref) version = args[:version] directory_path = args[:directory_path] remote_module_info = args[:remote_module_info] type = args[:type] download_if_fail = args[:download_if_fail] # will create different classes for different catalog types when we add support for them new('dtkn', module_ref, directory_path, version, remote_module_info, type, download_if_fail).install_from_catalog end end
new(catalog, module_ref, directory_path, version, remote_module_info, type, download_if_fail)
click to toggle source
# File lib/client/operation/module/install_from_catalog.rb, line 22 def initialize(catalog, module_ref, directory_path, version, remote_module_info, type, download_if_fail) @type = type @catalog = catalog @module_ref = module_ref @directory_path = directory_path @target_repo_dir = OsUtil.current_dir unless type == :dependency #ClientModuleDir.create_module_dir_from_path(directory_path || OsUtil.current_dir) @version = version # if nil wil be dynamically updated along with version attribute of @module_ref @remote_module_info = remote_module_info @download_if_fail = download_if_fail end
Public Instance Methods
install_from_catalog()
click to toggle source
# File lib/client/operation/module/install_from_catalog.rb, line 47 def install_from_catalog module_info = { name: module_ref.module_name, namespace: module_ref.namespace, version: @version, explicit_path: @directory_path, repo_dir: @directory_path || @target_repo_dir } # response = rest_get "modules/get_modules_versions_with_dependencies" # server_dependencies = response.data || [] installed_modules = DtkNetworkClient::Install.run(module_info, type: @type, download_if_fail: @download_if_fail ) { :installed_modules => installed_modules } end