module Selenium::WebDriver::ProfileHelper
@api private
Common methods for Chrome::Profile
and Firefox::Profile
Includers must implement layout_on_disk
Public Class Methods
Source
# File lib/selenium/webdriver/common/profile_helper.rb, line 34 def self.decoded(json) JSON.parse(json).fetch('zip') end
Source
# File lib/selenium/webdriver/common/profile_helper.rb, line 30 def self.included(base) base.extend ClassMethods end
Public Instance Methods
Source
# File lib/selenium/webdriver/common/profile_helper.rb, line 42 def as_json(*) {'zip' => encoded} end
Source
# File lib/selenium/webdriver/common/profile_helper.rb, line 38 def encoded Zipper.zip(layout_on_disk) end
Source
# File lib/selenium/webdriver/common/profile_helper.rb, line 46 def to_json(*) JSON.generate as_json end
Private Instance Methods
Source
# File lib/selenium/webdriver/common/profile_helper.rb, line 52 def create_tmp_copy(directory) tmp_directory = Dir.mktmpdir('webdriver-rb-profilecopy') # TODO: must be a better way.. FileUtils.rm_rf tmp_directory FileUtils.mkdir_p File.dirname(tmp_directory), mode: 0o700 FileUtils.cp_r directory, tmp_directory tmp_directory end
Source
# File lib/selenium/webdriver/common/profile_helper.rb, line 63 def verify_model(model) return unless model raise Errno::ENOENT, model unless File.exist?(model) raise Errno::ENOTDIR, model unless File.directory?(model) model end