require_relative "gem_import/bookkeeper" require_relative "gem_import/gem" require_relative "gem_import/gems" require_relative "gem_import/gem_specs" require_relative "gem_import/repo" require_relative "gem_import/version" require_relative "gem_import/worker" module Artifactory module GemImport Error = Class.new StandardError ClientError = Class.new Error module_function def import!(source_repo:, target_repo:, only: /.+/, force: false) Worker::Importer .new(source_repo: source_repo, target_repo: target_repo, only: only, force: force) .import! end def show_missing(source_repo:, target_repo:, only: /.+/) Worker::MissingDetector .new(source_repo: source_repo, target_repo: target_repo, only: only) .detect! end def delete!(repo:, only: /.+/) Worker::Remover .new(target_repo: repo, only: only) .remove! end def source_repo(url:) Repo.new url: url, headers: {} end def target_repo(url:, api_key:) Repo.new url: url, headers: { "X-JFrog-Art-Api" => api_key } end end end