def resources_missing_from_catalog(resources_to_check)
      [resources_to_check].flatten.select do |res|
        unless res =~ /\A([\w:]+)\[(.+)\]\z/
          raise ArgumentError, "Resource #{res} is not in the expected format"
        end

        type = Regexp.last_match(1)
        title = normalized_title(Regexp.last_match(2), type)
        resource(type: type, title: title).nil?
      end
    end
def resources_missing_from_catalog(resources_to_check)
      [resources_to_check].flatten.select do |res|
        unless res =~ /\A([\w:]+)\[(.+)\]\z/
          raise ArgumentError, "Resource #{res} is not in the expected format"
        end

        type = Regexp.last_match(1)
        title = normalized_title(Regexp.last_match(2), type)
        resource(type: type, title: title).nil?
      end
    end
Private method: Given a list of resources to check, return the references from
 that list that are missing from the catalog. (An empty array returned would indicate
 all references are present in the catalog.)
 @param resources_to_check [String / Array] Resources to check
 @return [Array] References that are missing from catalog