Sha256: c10a18341e60df5102adf33d75350dd809dce1231f551171c94fd88ef62e9b61
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module Reviewer class Command class String # Assembles tool environment variables into a single string or array class Env attr_reader :env_pairs # Creates an instance of env variables for a tool to help generate the command string # @param env_pairs [Hash] [description] # # @return [self] def initialize(env_pairs) @env_pairs = env_pairs end def to_s to_a.compact.join(' ') end def to_a env = [] env_pairs.each { |key, value| env << env(key, value) } env end private def env(key, value) return nil if key.to_s.strip.empty? || value.to_s.strip.empty? value = needs_quotes?(value) ? "'#{value}'" : value "#{key.to_s.strip.upcase}=#{value.to_s.strip}" end def needs_quotes?(value) value.is_a?(::String) && value.include?(' ') end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
reviewer-0.1.5 | lib/reviewer/command/string/env.rb |