client_api_version()
click to toggle source
def client_api_version()
version = 1
pe_version = Librarian::Puppet.puppet_version.match(/\(Puppet Enterprise (.+)\)/)
if Librarian::Puppet::puppet_gem_version >= Gem::Version.create('3.6.0.a')
version = 3
elsif pe_version and Gem::Version.create(pe_version[1].strip) >= Gem::Version.create('3.2.0')
version = 3
end
return version
end
default()
click to toggle source
def default
@@default
end
default=(source)
click to toggle source
def default=(source)
@@default = source
end
from_lock_options(environment, options)
click to toggle source
def from_lock_options(environment, options)
new(environment, options[:remote], options.reject { |k, v| k == :remote })
end
from_spec_args(environment, uri, options)
click to toggle source
def from_spec_args(environment, uri, options)
recognised_options = []
unrecognised_options = options.keys - recognised_options
unless unrecognised_options.empty?
raise Error, "unrecognised options: #{unrecognised_options.join(", ")}"
end
new(environment, uri, options)
end
lock_name()
click to toggle source
def lock_name
LOCK_NAME
end
new(environment, uri, options = {})
click to toggle source
def initialize(environment, uri, options = {})
self.environment = environment
@uri = URI::parse(uri)
@cache_path = nil
end
==(other)
click to toggle source
def ==(other)
other &&
self.class == other.class &&
self.uri == other.uri
end
cache_path()
click to toggle source
def cache_path
@cache_path ||= begin
dir = "#{uri.host}#{uri.path}".gsub(/[^0-9a-z\-_]/, '_')
environment.cache_path.join("source/puppet/forge/#{dir}")
end
end
fetch_dependencies(name, version, version_uri)
click to toggle source
def fetch_dependencies(name, version, version_uri)
repo(name).dependencies(version).map do |k, v|
v = Requirement.new(v).gem_requirement
Dependency.new(k, v, nil)
end
end
fetch_version(name, version_uri)
click to toggle source
def fetch_version(name, version_uri)
versions = repo(name).versions
if versions.include? version_uri
version_uri
else
versions.first
end
end
hash()
click to toggle source
def hash
self.to_s.hash
end
install!(manifest)
click to toggle source
def install!(manifest)
manifest.source == self or raise ArgumentError
debug { "Installing #{manifest}" }
name = manifest.name
version = manifest.version
install_path = install_path(name)
repo = repo(name)
repo.install_version! version, install_path
end
install_path(name)
click to toggle source
def install_path(name)
environment.install_path.join(module_name(name))
end
manifest(name, version, dependencies)
click to toggle source
def manifest(name, version, dependencies)
manifest = Manifest.new(self, name)
manifest.version = version
manifest.dependencies = dependencies
manifest
end
manifests(name)
click to toggle source
def manifests(name)
repo(name).manifests
end
pinned?()
click to toggle source
to_lock_options()
click to toggle source
def to_lock_options
{:remote => clean_uri(uri).to_s}
end
to_s()
click to toggle source
def to_s
clean_uri(uri).to_s
end
to_spec_args()
click to toggle source
def to_spec_args
[clean_uri(uri).to_s, {}]
end
unpin!()
click to toggle source