module Onebox module Engine class TypeformOnebox include Engine matches_regexp(/^https?:\/\/[a-z0-9]+\.typeform\.com\/to\/[a-zA-Z0-9]+/) always_https def to_html typeform_src = build_typeform_src <<~HTML HTML end alias placeholder_html to_html private def build_typeform_src escaped_src = ::Onebox::Helpers.normalize_url_for_output(@url) query_params = CGI::parse(URI::parse(escaped_src).query || '') return escaped_src if query_params.has_key?('typeform-embed') if query_params.empty? escaped_src << '?' unless escaped_src.end_with?('?') else escaped_src << '&' end escaped_src << 'typeform-embed=embed-widget' end end end end