Sha256: 39527df857639fb26adb3194a02bbadedca4a64d1ddbadd8d4e61f96b2728784

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

module Actions
  module Katello
    module RepositorySet
      class EnableRepository < Actions::EntryAction
        def humanized_name
          _("Enable")
        end

        def plan(product, content, substitutions, opts = {})
          mapper = ::Katello::Candlepin::RepositoryMapper.new(product,
                                                               content,
                                                               substitutions)
          mapper.validate!
          if mapper.find_repository
            fail ::Katello::Errors::ConflictException, _("The repository is already enabled")
          end
          repository = mapper.build_repository
          repository.root.arch = opts[:override_arch] if opts[:override_arch].present?
          if opts[:override_url]
            repository.root.url = opts[:override_url]
            repository.root.download_policy = ::Katello::RootRepository::DOWNLOAD_IMMEDIATE if URI(opts[:override_url]).scheme == 'file'
          end
          plan_action(Repository::Create, repository, clone: false)
          action_subject(repository)
          plan_self
        end

        def run
          repo = ::Katello::Repository.find(input[:repository][:id])
          output[:repository] = {
            :name => repo.name,
            :id => repo.id,
            :content_type => repo.content_type,
          }
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
katello-4.15.0 app/lib/actions/katello/repository_set/enable_repository.rb
katello-4.15.0.rc2 app/lib/actions/katello/repository_set/enable_repository.rb
katello-4.15.0.rc1 app/lib/actions/katello/repository_set/enable_repository.rb