The Resolution constructor in Facter 3.x doesn't receive the name and fact parameters as it happens in Facter 4.x.
AlsoThe has_weight must return the methods which and exec are not implemented. They need to be checked if they exist on class instance, as it does in Facter 3.x