class Bookbinder::Ingest::LocalFilesystemCloner

Attributes

filesystem[R]
streams[R]
user_repo_dir[R]

Public Class Methods

new(streams, filesystem, user_repo_dir) click to toggle source
# File lib/bookbinder/ingest/local_filesystem_cloner.rb, line 8
def initialize(streams, filesystem, user_repo_dir)
  @streams = streams
  @user_repo_dir = user_repo_dir
  @filesystem = filesystem
end

Public Instance Methods

call(source_repo_name: nil, source_ref: nil, destination_parent_dir: nil, destination_dir_name: nil) click to toggle source
# File lib/bookbinder/ingest/local_filesystem_cloner.rb, line 14
def call(source_repo_name: nil,
         source_ref: nil,
         destination_parent_dir: nil,
         destination_dir_name: nil)
  link!(
    source_repo_name,
    Pathname(user_repo_dir).join(source_repo_name.split('/').last),
    Pathname(destination_parent_dir).join(DestinationDirectory.new(source_repo_name, destination_dir_name)),
    source_ref,
    source_repo_name.split('/').first
  )
end

Private Instance Methods