class PuppetfileResolver::Models::ModuleDependency
Attributes
name[RW]
owner[RW]
version_requirement[RW]
Public Class Methods
new(options = {})
click to toggle source
# File lib/puppetfile-resolver/models/module_dependency.rb, line 10 def initialize(options = {}) # Munge the name # "puppetlabs/stdlib" # "puppetlabs-stdlib" # "puppetlabs-stdlib-1.0.0 ??" # "stdlib" @name = options[:name] result = @name.split('/', 2) if result.count > 1 @owner = result[0] @name = result[1] else result = @name.split('-') if result.count > 1 @owner = result[0] @name = result[1] else @owner = options[:owner] end end @version_requirement = options[:version_requirement] end
Public Instance Methods
satisified_by?(spec)
click to toggle source
# File lib/puppetfile-resolver/models/module_dependency.rb, line 38 def satisified_by?(spec) # Missing modules are special. They should always satisfy any version range because # we don't know what version missing modules are! return true if spec.is_a?(MissingModuleSpecification) raise "Specification #{spec} does not have a version" if spec.version.nil? semantic_requirement.include?(spec.version) end
to_s()
click to toggle source
# File lib/puppetfile-resolver/models/module_dependency.rb, line 34 def to_s "#{owner}-#{name} #{version_requirement}" end
Private Instance Methods
semantic_requirement()
click to toggle source
# File lib/puppetfile-resolver/models/module_dependency.rb, line 48 def semantic_requirement require 'semantic_puppet' @semantic_requirement ||= ::SemanticPuppet::VersionRange.parse(@version_requirement) end