Sha256: 26837a9c511baf510ff0be7c00e52f30993c7796c479bb96d937ae442530cd49

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

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: /.+/)
      Worker::Importer
        .new(source_repo: source_repo, target_repo: target_repo, only: only)
        .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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
artifactory-gem_import-0.1.4 lib/artifactory/gem_import.rb
artifactory-gem_import-0.1.3 lib/artifactory/gem_import.rb