Sha256: 12f848274a7fe263e72e013ac79181aed59791cc6b96030596a9c4b6b8f9e1ca
Contents?: true
Size: 1.77 KB
Versions: 2
Compression:
Stored size: 1.77 KB
Contents
require 'pdk' module PDK module CLI module Util class OptionNormalizer def self.comma_separated_list_to_array(list, _options = {}) raise 'Error: expected comma separated list' unless OptionValidator.comma_separated_list?(list) list.split(',').compact end # Parse one or more format:target pairs into report format # specifications. # # Each specification is a Hash with two values: # :method => The name of the method to call on the PDK::Report object # to render the report. # :target => The target to write the report to. This can be either an # IO object that implements #write, or a String filename # that will be opened for writing. # # If the target given is "stdout" or "stderr", this will convert those # strings into the appropriate IO object. # # @return [Array<Hash{Symbol=>Object}>] An array of one or more report # format specifications def self.report_formats(formats) formats.map do |f| format, target = f.split(':', 2) begin OptionValidator.enum(format, PDK::Report.formats) rescue ArgumentError raise PDK::CLI::ExitWithError, format("'%{name}' is not a valid report format (%{valid})", name: format, valid: PDK::Report.formats.join(', ')) end case target when 'stdout' target = $stdout when 'stderr' target = $stderr when nil target = PDK::Report.default_target end { method: :"write_#{format}", target: target } end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pdk-3.3.0 | lib/pdk/cli/util/option_normalizer.rb |
pdk-3.0.1 | lib/pdk/cli/util/option_normalizer.rb |