module Librarian::Puppet::Simple::Iterator

Public Instance Methods

clear_modules() click to toggle source
# File lib/librarian/puppet/simple/iterator.rb, line 32
def clear_modules
  @modules = nil
end
each_module() { |repo| ... } click to toggle source

iterate through all modules

# File lib/librarian/puppet/simple/iterator.rb, line 37
def each_module(&block)
  (@modules || {}).each do |type, repos|
    (repos || {}).values.each do |repo|
      yield repo
    end
  end
end
each_module_of_type(type) { |repo| ... } click to toggle source

loop over each module of a certain type

# File lib/librarian/puppet/simple/iterator.rb, line 46
def each_module_of_type(type, &block)
  abort("undefined type #{type}") unless [:git, :tarball].include?(type)
  ((@modules || {})[type] || {}).values.each do |repo|
    yield repo
  end
end
mod(name, options = {}) click to toggle source

evaluate a module and add it our @modules instance variable

# File lib/librarian/puppet/simple/iterator.rb, line 9
def mod(name, options = {})
  @modules ||= {}
  full_name   = name
  module_name = name.split('/', 2).last

  case
  when options[:git]
    @modules[:git] ||= {}
    @modules[:git][module_name] = options.merge(:name => module_name, :full_name => full_name)
  when options[:tarball]
    @modules[:tarball] ||= {}
    @modules[:tarball][module_name] = options.merge(:name => module_name, :full_name => full_name)
  else
    @modules[:forge] ||= {}
    @modules[:forge][module_name] = options.merge(:name => module_name, :full_name => full_name)
    #abort('only the :git and :tarball providers are currently supported')
  end
end
modules() click to toggle source
# File lib/librarian/puppet/simple/iterator.rb, line 28
def modules
  @modules
end