lib/learn_open/services/lesson_downloader.rb in learn-open-1.2.22 vs lib/learn_open/services/lesson_downloader.rb in learn-open-1.2.23

- old
+ new

@@ -1,8 +1,8 @@ module LearnOpen class LessonDownloader - attr_reader :lesson, :location, :environment, :io, :logger, :client, :git_adapter + attr_reader :lesson, :location, :environment, :io, :logger, :client, :git_adapter, :git_ssh_connector def self.call(lesson, location, environment, options = {}) self.new(lesson, location, environment, options).call end @@ -12,16 +12,17 @@ @environment = environment @client = options.fetch(:learn_web_client) { LearnOpen.learn_web_client } @logger = options.fetch(:logger) { LearnOpen.logger } @io = options.fetch(:io) { LearnOpen.default_io } @git_adapter = options.fetch(:git_adapter) { LearnOpen.git_adapter } + @git_ssh_connector = options.fetch(:git_ssh_connector) { LearnOpen.git_adapter } end def call if !repo_exists? if ensure_git_ssh! - fork_repo + fork_repo if lesson.use_student_fork clone_repo :ok else :ssh_unauthenticated end @@ -29,10 +30,10 @@ :noop end end def ensure_git_ssh! - LearnOpen::GitSSHConnector.call(git_server: lesson.git_server, environment: environment) + git_ssh_connector.call(git_server: lesson.git_server, environment: environment) end def fork_repo(retries = 3) logger.log('Forking repository...') io.puts "Forking lesson..."