Ah, the .delete call returns the element that was deleted, not the resulting hash, so the initializer gets nil passed in.  Try:

    Facts::Importer.new(debian_facts.delete_if { |k,v| k == "lsbdistcodename" })