class Bookwatch::Ingest::GitCloner
Attributes
version_control_system[R]
Public Class Methods
new(version_control_system)
click to toggle source
# File lib/bookwatch/ingest/git_cloner.rb, line 8 def initialize(version_control_system) @version_control_system = version_control_system end
Public Instance Methods
call(source_repo_name: nil, source_ref: "master", destination_parent_dir: nil, destination_dir_name: nil)
click to toggle source
# File lib/bookwatch/ingest/git_cloner.rb, line 12 def call(source_repo_name: nil, source_ref: "master", destination_parent_dir: nil, destination_dir_name: nil) dest_dir = DestinationDirectory.new(source_repo_name, destination_dir_name) copied_to = Pathname(destination_parent_dir).join(dest_dir) version_control_system.clone( RepoIdentifier.new(source_repo_name), dest_dir, path: destination_parent_dir, checkout: source_ref ) WorkingCopy.new( copied_to: copied_to, full_name: source_repo_name, ref: source_ref ) end