Sha256: 92ad99d12cfc111807f1389614ebb7550888306371152c5807a6d31efb395b3e

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

require 'selenium-webdriver'

require_relative 'common'
require_relative 'patch'
require_relative 'driver'

# for multi touch related methods
require_relative 'device/touch_actions'
require_relative 'device/multi_touch'

require_relative 'android'
require_relative 'android_uiautomator2'

require_relative 'ios'
require_relative 'ios_xcuitest'

module Appium
  # convert all keys (including nested) to symbols
  #
  # based on deep_symbolize_keys & deep_transform_keys from rails
  # https://github.com/rails/docrails/blob/a3b1105ada3da64acfa3843b164b14b734456a50/activesupport/lib/active_support/core_ext/hash/keys.rb#L84
  # @param [Hash] hash Hash value to make symbolise
  def self.symbolize_keys(hash)
    raise 'symbolize_keys requires a hash' unless hash.is_a? Hash
    result = {}
    hash.each do |key, value|
      key = key.to_sym rescue key # rubocop:disable Style/RescueModifier
      result[key] = value.is_a?(Hash) ? symbolize_keys(value) : value
    end
    result
  end

  module Core
    def self.for(*args)
      Core::Driver.for(*args)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
appium_lib-9.7.1 lib/appium_lib/core/core.rb
appium_lib-9.7.0 lib/appium_lib/core/core.rb