class DTK::Client::Operation::Service::CloneService
Public Class Methods
execute(args = Args.new)
click to toggle source
# File lib/client/operation/service/clone_service.rb, line 21 def self.execute(args = Args.new) wrap_operation(args) do |args| service_ref = args.required(:service_ref) service_name = args.required(:service_name) target_directory = args[:target_directory] unless service_info = service_exists?(service_ref) raise Error::Usage, "DTK service '#{service_ref}' does not exist on server." end service_instance = service_info.required(:service, :name) clone_args = { :base_module => service_info.required(:base_module), :nested_modules => service_info.required(:nested_modules), :service_instance => service_instance, :repo_dir => target_directory } message = ClientModuleDir::ServiceInstance.clone(clone_args) target_dir = message.data(:target_repo_dir) OsUtil.print_info("DTK service '#{service_instance}' has been successfully cloned into '#{target_dir}'") end end