class Selenium::WebDriver::Firefox::Options
def add_argument(arg)
def add_argument(arg) @args << arg end
def add_option(name, value)
def add_option(name, value) @options[name] = value end
def add_preference(name, value)
def add_preference(name, value) prefs[name] = value end
def as_json(*)
def as_json(*) opts = @options opts[:profile] = @profile.encoded if @profile opts[:args] = @args if @args.any? opts[:binary] = @binary if @binary opts[:prefs] = @prefs unless @prefs.empty? opts[:log] = {level: @log_level} if @log_level {KEY => opts} end
def initialize(**opts)
def initialize(**opts) @args = opts.delete(:args) || [] @binary = opts.delete(:binary) @profile = opts.delete(:profile) @log_level = opts.delete(:log_level) @prefs = opts.delete(:prefs) || {} @options = opts.delete(:options) || {} end
def profile=(profile)
def profile=(profile) @profile = if profile.is_a?(Profile) profile else Profile.from_name(profile) end end