Ruby 2.2 Support in Moonshine

Written By : Bryan Traywick

Moonshine now officially supports Ruby 2.2. We strive for backwards compatibility as much as possible, but Ruby 2.2 support requires using a new major release of Puppet. Puppet 4 depends on Facter 2 which Moonshine and Moonshine plugins use extensively to gather facts about the server. Facter 2 breaks backwards compatibility in one major way: the removal of the Facter#method_missing convenience function. Moonshine used this functionality rather than the more cumbersome Facter#value function. For example, instead of gathering the fully-qualified domain name using Facter.fqdn, you now must use Facter.value(:fqdn).

Fortunately, updating the uses of Facter is a fairly simple and mechanical process. Be sure to upgrade all of your Moonshine plugins to the latest version and update any uses of Facter in your app’s manifests.

If you are a Rails Machine customer and would like to upgrade to Ruby 2.2, feel free to submit a support request and we will be happy to help out.