Sha256: a39f8dbd634ce02c625ab00c141959c6235be3bcef925be612a8ee13572baf30

Contents?: true

Size: 734 Bytes

Versions: 5

Compression:

Stored size: 734 Bytes

Contents

# frozen_string_literal: true

module Jiminy
  module Reporting
    module CIProviders
      class ProviderConfiguration
        TEMPLATE_METHOD_PROC = -> { raise NotImplementedError, "Define #{__callee__} in #{self}" }

        define_method(:repo_path, TEMPLATE_METHOD_PROC)

        define_method(:project_username, TEMPLATE_METHOD_PROC)

        define_method(:project_reponame, TEMPLATE_METHOD_PROC)

        define_method(:github_token, TEMPLATE_METHOD_PROC)

        private

          def ensure_configuration(name)
            value = Jiminy.config.public_send(name)
            return value unless value.empty?

            raise("Please provide a value for Jiminy.config.#{name}")
          end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
jiminy-0.4.0 lib/jiminy/reporting/ci_providers/provider_configuration.rb
jiminy-0.3.0 lib/jiminy/reporting/ci_providers/provider_configuration.rb
jiminy-0.2.0 lib/jiminy/reporting/ci_providers/provider_configuration.rb
jiminy-0.1.1 lib/jiminy/reporting/ci_providers/provider_configuration.rb
jiminy-0.1.0 lib/jiminy/reporting/ci_providers/provider_configuration.rb