Module: Appium

Defined in:
lib/appium_lib_core/patch.rb,
lib/appium_lib_core.rb,
lib/appium_lib_core/device.rb,
lib/appium_lib_core/driver.rb,
lib/appium_lib_core/version.rb,
lib/appium_lib_core/common/log.rb,
lib/appium_lib_core/ios/device.rb,
lib/appium_lib_core/common/wait.rb,
lib/appium_lib_core/common/error.rb,
lib/appium_lib_core/common/logger.rb,
lib/appium_lib_core/element/image.rb,
lib/appium_lib_core/android/device.rb,
lib/appium_lib_core/common/wait/timer.rb,
lib/appium_lib_core/common/base/bridge.rb,
lib/appium_lib_core/common/base/driver.rb,
lib/appium_lib_core/common/command/w3c.rb,
lib/appium_lib_core/ios/search_context.rb,
lib/appium_lib_core/common/base/command.rb,
lib/appium_lib_core/common/device/value.rb,
lib/appium_lib_core/common/ws/websocket.rb,
lib/appium_lib_core/ios/xcuitest/bridge.rb,
lib/appium_lib_core/ios/xcuitest/device.rb,
lib/appium_lib_core/common/device/device.rb,
lib/appium_lib_core/ios/device/clipboard.rb,
lib/appium_lib_core/android/device/screen.rb,
lib/appium_lib_core/common/command/common.rb,
lib/appium_lib_core/common/device/context.rb,
lib/appium_lib_core/common/device/setting.rb,
lib/appium_lib_core/android/device/network.rb,
lib/appium_lib_core/android/search_context.rb,
lib/appium_lib_core/common/base/bridge/w3c.rb,
lib/appium_lib_core/common/base/screenshot.rb,
lib/appium_lib_core/common/command/mjsonwp.rb,
lib/appium_lib_core/common/device/keyboard.rb,
lib/appium_lib_core/common/device/keyevent.rb,
lib/appium_lib_core/ios/uiautomation/patch.rb,
lib/appium_lib_core/android/device/emulator.rb,
lib/appium_lib_core/android/espresso/bridge.rb,
lib/appium_lib_core/common/device/app_state.rb,
lib/appium_lib_core/ios/uiautomation/bridge.rb,
lib/appium_lib_core/android/device/clipboard.rb,
lib/appium_lib_core/common/base/capabilities.rb,
lib/appium_lib_core/common/base/http_default.rb,
lib/appium_lib_core/common/device/device_lock.rb,
lib/appium_lib_core/common/device/ime_actions.rb,
lib/appium_lib_core/android/device/performance.rb,
lib/appium_lib_core/common/base/bridge/mjsonwp.rb,
lib/appium_lib_core/common/base/search_context.rb,
lib/appium_lib_core/ios/xcuitest/device/screen.rb,
lib/appium_lib_core/android/uiautomator1/bridge.rb,
lib/appium_lib_core/android/uiautomator2/bridge.rb,
lib/appium_lib_core/android/uiautomator2/device.rb,
lib/appium_lib_core/common/device/screen_record.rb,
lib/appium_lib_core/common/device/touch_actions.rb,
lib/appium_lib_core/ios/xcuitest/device/battery.rb,
lib/appium_lib_core/ios/xcuitest/search_context.rb,
lib/appium_lib_core/common/device/app_management.rb,
lib/appium_lib_core/common/device/battery_status.rb,
lib/appium_lib_core/common/device/file_management.rb,
lib/appium_lib_core/common/device/image_comparison.rb,
lib/appium_lib_core/common/touch_action/multi_touch.rb,
lib/appium_lib_core/ios/xcuitest/device/performance.rb,
lib/appium_lib_core/common/touch_action/touch_actions.rb,
lib/appium_lib_core/android/uiautomator2/device/battery.rb,
lib/appium_lib_core/common/device/clipboard_content_type.rb

Overview

rubocop:disable Style/ClassAndModuleChildren

Defined Under Namespace

Modules: Core, Logger

Class Method Summary collapse

Class Method Details

.symbolize_keys(hash) ⇒ Object

convert all keys (including nested) to symbols

based on deep_symbolize_keys & deep_transform_keys from rails github.com/rails/docrails/blob/a3b1105ada3da64acfa3843b164b14b734456a50/activesupport/lib/active_support/core_ext/hash/keys.rb#L84

Parameters:

  • hash (Hash)

    Hash value to make symbolise



23
24
25
26
27
28
29
30
31
# File 'lib/appium_lib_core.rb', line 23

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