Sha256: 5c8e4eab34cbb70d07bea9ccb579bbcbd059dda88654b7604df8f6ce594cda4e

Contents?: true

Size: 1.03 KB

Versions: 300

Compression:

Stored size: 1.03 KB

Contents

module Puppet::Pops
module Loader
# The GenericPlanInstantiator dispatches to either PuppetPlanInstantiator or a
# yaml_plan_instantiator injected through the Puppet context, depending on
# the type of the plan.
#
class GenericPlanInstantiator
  def self.create(loader, typed_name, source_refs)
    if source_refs.length > 1
      raise ArgumentError, _("Found multiple files for plan '%{plan_name}' but only one is allowed") % { plan_name: typed_name.name }
    end

    source_ref = source_refs[0]
    code_string = Puppet::FileSystem.read(source_ref, :encoding => 'utf-8')

    instantiator = if source_ref.end_with?('.pp')
                     Puppet::Pops::Loader::PuppetPlanInstantiator
                   else
                     Puppet.lookup(:yaml_plan_instantiator) do
                       raise Puppet::DevError, _("No instantiator is available to load plan from %{source_ref}") % { source_ref: source_ref }
                     end
                   end

    instantiator.create(loader, typed_name, source_ref, code_string)
  end
end
end
end

Version data entries

300 entries across 300 versions & 1 rubygems

Version Path
puppet-7.34.0 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.34.0-x86-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.34.0-x64-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.34.0-universal-darwin lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.33.0 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.33.0-x86-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.33.0-x64-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.33.0-universal-darwin lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.32.1 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.32.1-x86-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.32.1-x64-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.32.1-universal-darwin lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.31.0 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.31.0-x86-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.31.0-x64-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.31.0-universal-darwin lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.30.0 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.30.0-x86-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.30.0-x64-mingw32 lib/puppet/pops/loader/generic_plan_instantiator.rb
puppet-7.30.0-universal-darwin lib/puppet/pops/loader/generic_plan_instantiator.rb