site-modules/profile/lib/puppet/functions/step.rb defines a global step function, but OpenVox already ships a core step function (lib/puppet/functions/step.rb in the openvox gem). Core functions win in the loader hierarchy, so the module's copy is dead code — it is never invoked by catalog compilation (only the unit spec exercises it directly via find_function).
As an example meant to teach writing Ruby functions, it would be better to demonstrate the namespaced form that actually loads.
Fix: rename to profile::step (file lib/puppet/functions/profile/step.rb), matching the existing profile::upcase example, and update the spec.
site-modules/profile/lib/puppet/functions/step.rbdefines a globalstepfunction, but OpenVox already ships a corestepfunction (lib/puppet/functions/step.rbin the openvox gem). Core functions win in the loader hierarchy, so the module's copy is dead code — it is never invoked by catalog compilation (only the unit spec exercises it directly viafind_function).As an example meant to teach writing Ruby functions, it would be better to demonstrate the namespaced form that actually loads.
Fix: rename to
profile::step(filelib/puppet/functions/profile/step.rb), matching the existingprofile::upcaseexample, and update the spec.