class R10K::Environment::Name
Handle environment name validation and modification.
@api private
Constants
- INVALID_CHARACTERS
Attributes
name[R]
@!attribute [r] name
@return [String] The unmodified name of the environment
Public Class Methods
new(name, opts)
click to toggle source
# 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
Public Instance Methods
correct?()
click to toggle source
Should the environment name have invalid characters removed?
# File lib/r10k/environment/name.rb, line 39 def correct? @correct end
dirname()
click to toggle source
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
valid?()
click to toggle source
# File lib/r10k/environment/name.rb, line 47 def valid? if @validate ! @name.match(INVALID_CHARACTERS) else true end end
validate?()
click to toggle source
# File lib/r10k/environment/name.rb, line 43 def validate? @validate end
Private Instance Methods
derive_prefix(source,prefix)
click to toggle source
# 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