Class: PDK::CLI::Util::OptionNormalizer
- Inherits:
-
Object
- Object
- PDK::CLI::Util::OptionNormalizer
- Defined in:
- lib/pdk/cli/util/option_normalizer.rb
Class Method Summary collapse
- .comma_separated_list_to_array(list, _options = {}) ⇒ Object
-
.report_formats(formats) ⇒ Array<Hash{Symbol=>Object}>
Parse one or more format:target pairs into report format specifications.
Class Method Details
.comma_separated_list_to_array(list, _options = {}) ⇒ Object
7 8 9 10 11 |
# File 'lib/pdk/cli/util/option_normalizer.rb', line 7 def self.comma_separated_list_to_array(list, = {}) raise 'Error: expected comma separated list' unless OptionValidator.comma_separated_list?(list) list.split(',').compact end |
.report_formats(formats) ⇒ Array<Hash{Symbol=>Object}>
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.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/pdk/cli/util/option_normalizer.rb', line 28 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 |