Sha256: ec9d64b7bd5a17eb5d773dcb5fb74590365a2677a01cf327173c65ac2848c0c3
Contents?: true
Size: 1.87 KB
Versions: 23
Compression:
Stored size: 1.87 KB
Contents
require 'fig/statement' require 'fig/statement/environment_variable' module Fig; end # A statement that specifies or modifies a path environment variable, e.g. # "append", "path", "add" (though those are all synonyms). class Fig::Statement::Path < Fig::Statement include Fig::Statement::EnvironmentVariable # Yields on error. def self.parse_name_value(combined, &error_block) variable, raw_value = seperate_name_and_value combined, &error_block tokenized_value = tokenize_value(raw_value, &error_block) if tokenized_value.to_escaped_string.length < 1 yield %Q<The value of path variable #{variable} is empty.> return end return [variable, tokenized_value] end def self.parse_v0_name_value(combined, &error_block) variable, raw_value = seperate_name_and_value combined, &error_block if raw_value.length < 1 yield %Q<The value of path variable #{variable} is empty.> return end base_v0_value_validation(variable, raw_value, &error_block) if raw_value =~ /([;:<>|])/ yield %Q<The value of path variable #{variable} (#{raw_value}) contains a "#{$1}" character.> return end return [variable, tokenize_value(raw_value, &error_block)] end def initialize(line_column, source_description, name, tokenized_value) super(line_column, source_description) @name = name @tokenized_value = tokenized_value end def statement_type() return 'path' end def is_environment_variable?() return true end def deparse_as_version(deparser) return deparser.path(self) end private def minimum_grammar() base_grammar_version = standard_minimum_grammar return base_grammar_version if base_grammar_version[0] != 0 value = tokenized_value.to_escaped_string if value =~ / ( [;:<>|] ) /x return [1, %Q<contains a "#{$1}" character>] end return [0] end end
Version data entries
23 entries across 23 versions & 1 rubygems