Ok, What if we don't have a domain or an FQDN already? That could end badly.  Should we do:

    name.include?('.') ? name : (domain.nil? ? nil : "#{name}.#{domain}")

or:

    (name.include?('.') or domain.nil?) ? name : "#{name}.#{domain}"