module ProspectusPuppet::Deps
Helper for automatically adding Puppet deps
Public Instance Methods
extended(other)
click to toggle source
# File lib/prospectus_puppet.rb, line 10 def extended(other) # rubocop:disable Metrics/MethodLength,Metrics/AbcSize dep_list = parse_deps other.deps do dep_list.each do |x| item do name x[:name] expected do github_tag repo x[:slug] regex(DEP_REGEX) filter(DEP_FILTER) end actual do static set x[:version] end end end end end
Private Instance Methods
parse_deps()
click to toggle source
# File lib/prospectus_puppet.rb, line 36 def parse_deps raw_deps.map do |dep| { name: parse_name(dep), slug: parse_slug(dep), version: parse_version(dep) } end end
parse_name(dep)
click to toggle source
# File lib/prospectus_puppet.rb, line 54 def parse_name(dep) parse_prefix(dep) + '-' + dep['name'].split('/').last end
parse_org(dep)
click to toggle source
# File lib/prospectus_puppet.rb, line 62 def parse_org(dep) dep['name'].split('/').first end
parse_prefix(dep)
click to toggle source
# File lib/prospectus_puppet.rb, line 58 def parse_prefix(dep) parse_org(dep) == 'puppetlabs' ? 'puppetlabs' : 'puppet' end
parse_slug(dep)
click to toggle source
# File lib/prospectus_puppet.rb, line 50 def parse_slug(dep) parse_org(dep) + '/' + parse_name(dep) end
parse_version(dep)
click to toggle source
# File lib/prospectus_puppet.rb, line 46 def parse_version(dep) dep['version_requirement'].sub(/\.x/, '') end
raw_deps()
click to toggle source
# File lib/prospectus_puppet.rb, line 66 def raw_deps @raw_deps ||= JSON.parse(File.read('metadata.json'))['dependencies'] end