module Selenium::WebDriver::Support::Select::Escaper

@api private

Public Class Methods

escape(str) click to toggle source
# File lib/selenium/webdriver/support/select.rb, line 272
def self.escape(str)
  if str.include?('"') && str.include?("'")
    parts = str.split('"', -1).map { |part| %{"#{part}"} }

    quoted = parts.join(%{, '"', }).
                   gsub(/^"", |, ""$/, '')

    "concat(#{quoted})"
  elsif str.include?('"')
    # escape string with just a quote into being single quoted: f"oo -> 'f"oo'
    "'#{str}'"
  else
    # otherwise return the quoted string
    %{"#{str}"}
  end
end