Sha256: 704e8b567a6ae10dfea0b4c47738d52192d78182680599db85e4c6f1be7f30cb

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 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: /.+/, 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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
artifactory-gem_import-0.2.2 lib/artifactory/gem_import.rb
artifactory-gem_import-0.2.0 lib/artifactory/gem_import.rb