# File lib/librarian/puppet/extension.rb, line 13
    def initialize(name, requirement, source)
      assert_name_valid! name

      # Issue #235 fail if forge source is not defined
      raise Error, "forge entry is not defined in Puppetfile" if source.instance_of?(Array) && source.empty?

      # let's settle on provider-module syntax instead of provider/module
      self.name = normalize_name(name)
      self.requirement = Requirement.new(requirement)
      self.source = source

      @manifests = nil
    end