I'm using a third-party module that uses a feature of Ruby that wasn't introduced until version 2.1. The ruby version in my runtime environment is 2.1.9:
Debug: Facter: fact "ruby" has resolved to { platform => "x86_64-linux", sitedir => "/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.1.0", version => "2.1.9" }. so in theory I should be fine. However, when I run the puppet agent I get
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, undefined method `to_h' for #<Array:0xc8fd201> Array#to_h is available on Ruby 2.1.9, so this error implies the custom function in the module is being evaluated with a version of Ruby prior to 2.1, though I can't find any other Ruby version it could be using. I've completely scrubbed the environment of anything before version 2.4, which leaves only Puppet's in-built 2.1.9 version.
What is going on here?