Updating distribution
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_rel "./azure_devops/**/*.rb"
|
||||
require_rel "./circle_ci/**/*.rb"
|
||||
require_rel "./gitlab_ci/**/*.rb"
|
||||
require_rel "./jenkins/**/*.rb"
|
||||
require_rel "./travis_ci/**/*.rb"
|
||||
|
||||
class Provider
|
||||
include OutputWriter
|
||||
|
||||
PROVIDER_MAP = {
|
||||
"azure-devops" => ::AzureDevops,
|
||||
"circle-ci" => ::CircleCI,
|
||||
"gitlab" => ::GitlabCI,
|
||||
"jenkins" => ::Jenkins,
|
||||
"travis-ci" => ::TravisCI
|
||||
}.freeze
|
||||
|
||||
def initialize(labels)
|
||||
labels = labels.tr("\n", "").delete_prefix("[").delete_suffix("]").split(",").map(&:strip)
|
||||
providers = labels.select { |label| PROVIDER_MAP.key?(label) }
|
||||
|
||||
raise "One provider must be selected" if providers.empty?
|
||||
raise "Only one provider can be selected" unless providers.one?
|
||||
|
||||
@provider = providers.first
|
||||
end
|
||||
|
||||
def cli_command
|
||||
@provider
|
||||
end
|
||||
|
||||
def module
|
||||
PROVIDER_MAP[@provider]
|
||||
end
|
||||
|
||||
def to_output
|
||||
set_output("provider", cli_command)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user