class Selenium::WebDriver::Common::Options

Private Instance Methods

camel_case(str) click to toggle source
# File lib/selenium/webdriver/common/options.rb, line 46
def camel_case(str)
  str.to_s.gsub(/_([a-z])/) { Regexp.last_match(1).upcase }
end
convert_json_key(key) click to toggle source
# File lib/selenium/webdriver/common/options.rb, line 39
def convert_json_key(key)
  key = camel_case(key) if key.is_a?(Symbol)
  return key if key.is_a?(String)

  raise TypeError, "expected String or Symbol, got #{key.inspect}:#{key.class}"
end
generate_as_json(value) click to toggle source
# File lib/selenium/webdriver/common/options.rb, line 25
def generate_as_json(value)
  if value.respond_to?(:as_json)
    value.as_json
  elsif value.is_a?(Hash)
    value.each_with_object({}) { |(key, val), hash| hash[convert_json_key(key)] = generate_as_json(val) }
  elsif value.is_a?(Array)
    value.map(&method(:generate_as_json))
  elsif value.is_a?(Symbol)
    value.to_s
  else
    value
  end
end