class DTK::Client::Operation::Module::Install::DependentModules::RemoteDependencies
Constants
- BaseRoute
Public Class Methods
install_or_pull?(component_module_ref, prompt_helper, print_helper)
click to toggle source
# File lib/client/operation/module/install/dependent_modules/remote_dependencies.rb, line 31 def self.install_or_pull?(component_module_ref, prompt_helper, print_helper) remote_response = nil begin hash = { :module_name => component_module_ref.module_name, :namespace => component_module_ref.namespace, :rsa_pub_key => SSHUtil.rsa_pub_key_content, :version? => component_module_ref.version } remote_response = rest_get "#{BaseRoute}/module_dependencies", QueryStringHash.new(hash) rescue Error::ServerNotOkResponse => e # temp fix for issue when dependent module is imported from puppet forge if errors = e.response && e.response['errors'] remote_response = nil if errors.first.include?('not found') else raise e end end if remote_required = remote_response.data(:required_modules) remote_required.each do |req_module| unless Install::DependentModules.resolved.include?("#{req_module['namespace']}:#{req_module['name']}") Install::DependentModules.add_to_resolved("#{req_module['namespace']}:#{req_module['name']}") req_ref = Install::DependentModules.create_module_ref(req_module) new_print_helper = Install::PrintHelper.new(:module_ref => req_ref, :source => :remote) if prompt_helper.pull_module_update?(new_print_helper) ComponentModule.install_or_pull_new?(req_ref, prompt_helper, new_print_helper) unless req_ref.is_base_module? end end end end end
new(module_ref, prompt_helper, print_helper)
click to toggle source
# File lib/client/operation/module/install/dependent_modules/remote_dependencies.rb, line 24 def initialize(module_ref, prompt_helper, print_helper) @module_ref = module_ref @prompt_helper = prompt_helper @print_helper = print_helper.set_module_ref!(module_ref) end