Sha256: 1b97c7cf427d9f8c198bb2f58dab00106b98f2ad0f70a09e03147e329c9ed104

Contents?: true

Size: 929 Bytes

Versions: 11

Compression:

Stored size: 929 Bytes

Contents

module Katello
  class RepositoryTypeManager
    @repository_types = {}
    class << self
      private :new
      attr_reader :repository_types

      # Plugin constructor
      def register(id, &block)
        if find(id).blank?
          repository_type = ::Katello::RepositoryType.new(id)
          repository_type.instance_eval(&block) if block_given?
          repository_types[id.to_s] = repository_type
        end
      end

      def creatable_repository_types
        repository_types.select do |repo_type, _|
          creatable_by_user?(repo_type)
        end
      end

      def creatable_by_user?(repository_type)
        return false unless (type = find(repository_type))
        type.allow_creation_by_user
      end

      def find(repository_type)
        repository_types[repository_type.to_s]
      end

      def enabled?(repository_type)
        find(repository_type).present?
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
katello-3.5.2 app/services/katello/repository_type_manager.rb
katello-3.6.0 app/services/katello/repository_type_manager.rb
katello-3.6.0.1.rc2 app/services/katello/repository_type_manager.rb
katello-3.6.0.rc2 app/services/katello/repository_type_manager.rb
katello-3.6.0.rc1 app/services/katello/repository_type_manager.rb
katello-3.5.1.1 app/services/katello/repository_type_manager.rb
katello-3.5.1 app/services/katello/repository_type_manager.rb
katello-3.5.0.1 app/services/katello/repository_type_manager.rb
katello-3.5.0 app/services/katello/repository_type_manager.rb
katello-3.5.0.rc2 app/services/katello/repository_type_manager.rb
katello-3.5.0.rc1 app/services/katello/repository_type_manager.rb