class NeverBounce::CLI::Feature::Envars::ExamplesMapper
A simple transformer/validator for examples
argument.
@see process
Public Instance Methods
process(input)
click to toggle source
Process input, render output.
process([1, 2, 3]) # => {values: [1, 2, 3]} process([1, 2, default: 3]) # => {values: [1, 2, 3], default: 3}
@param input [Array] Items to process. @return [Hash] A hash with values
and optionally default
.
# File lib/never_bounce/cli/feature/envars/examples_mapper.rb, line 16 def process(input) values, default = [], nil input.each do |elem| if elem.is_a? Hash # Validate, then use. raise ArgumentError, "Unknown element format: #{elem.inspect}" if elem.keys != [:default] values << (default = elem[:default]) else values << elem end end # Return result. {}.tap do |h| h[:values] = values h[:default] = default if default end end
Also aliased as: []