Handle environment name validation and modification.
@api private
@!attribute [r] name
@return [String] The unmodified name of the environment
# File lib/r10k/environment/name.rb, line 14 def initialize(name, opts) @name = name @opts = opts @source = opts[:source] @prefix = opts[:prefix] @invalid = opts[:invalid] case @invalid when 'correct_and_warn' @validate = true @correct = true when 'correct' @validate = false @correct = true when 'error' @validate = true @correct = false when NilClass @validate = opts[:validate] @correct = opts[:correct] end end
Should the environment name have invalid characters removed?
# File lib/r10k/environment/name.rb, line 39 def correct? @correct end
The directory name for the environment, modified as necessary to remove invalid characters.
@return [String]
# File lib/r10k/environment/name.rb, line 59 def dirname dir = @name.dup prefix = derive_prefix(@source,@prefix) if @correct dir.gsub!(INVALID_CHARACTERS, '_') end "#{prefix}#{dir}" end
# File lib/r10k/environment/name.rb, line 47 def valid? if @validate ! @name.match(INVALID_CHARACTERS) else true end end
# File lib/r10k/environment/name.rb, line 43 def validate? @validate end
# File lib/r10k/environment/name.rb, line 74 def derive_prefix(source,prefix) if prefix == true "#{source}_" elsif prefix.is_a? String "#{prefix}_" else nil end end