class PuppetfileResolver::Puppetfile::Parser::R10KEval::Module::Forge
Constants
- REGEX_BUILD
- REGEX_FULL
- REGEX_FULL_RX
- REGEX_NUMERIC
Version string matching regexes From Semantic Puppet gem
- REGEX_PRE
Public Class Methods
implements?(name, args)
click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/module/forge.rb, line 11 def self.implements?(name, args) !name.match(/\A(\w+)[-\/](\w+)\Z/).nil? && valid_version?(args) end
to_document_module(title, args)
click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/module/forge.rb, line 15 def self.to_document_module(title, args) mod = ::PuppetfileResolver::Puppetfile::ForgeModule.new(title) mod.version = munge_version_string(args) if valid_version?(args) mod end
Private Class Methods
munge_version_string(value)
click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/module/forge.rb, line 46 def self.munge_version_string(value) return :latest if value.nil? || value == :latest "=#{value}" end
valid_version?(value)
click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/module/forge.rb, line 21 def self.valid_version?(value) return false unless value.is_a?(String) || value.is_a?(Symbol) || value.nil? value == :latest || value.nil? || valid_version_string?(value) end
valid_version_string?(value)
click to toggle source
# File lib/puppetfile-resolver/puppetfile/parser/r10k_eval/module/forge.rb, line 35 def self.valid_version_string?(value) match = value.match(REGEX_FULL_RX) if match.nil? false else prerelease = match[4] prerelease.nil? || prerelease.split('.').all? { |x| x !~ /^0\d+$/ } end end