Class: Bookwatch::Ingest::GitCloner
- Inherits:
-
Object
- Object
- Bookwatch::Ingest::GitCloner
- Defined in:
- lib/bookwatch/ingest/git_cloner.rb
Instance Method Summary collapse
- #call(source_repo_name: nil, source_ref: "master", destination_parent_dir: nil, destination_dir_name: nil) ⇒ Object
-
#initialize(version_control_system) ⇒ GitCloner
constructor
A new instance of GitCloner.
Constructor Details
#initialize(version_control_system) ⇒ GitCloner
Returns a new instance of GitCloner.
8 9 10 |
# File 'lib/bookwatch/ingest/git_cloner.rb', line 8 def initialize(version_control_system) @version_control_system = version_control_system end |
Instance Method Details
#call(source_repo_name: nil, source_ref: "master", destination_parent_dir: nil, destination_dir_name: nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# 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 |