Sha256: 475120c4c9b8d29beb96af0c5dfcf87f77041472570e7783d65b420b49e91065

Contents?: true

Size: 1.58 KB

Versions: 52

Compression:

Stored size: 1.58 KB

Contents

# frozen_string_literal: true

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

module Appium
  module Core
    class Base
      #
      # @api private
      #
      module HasNetworkConnection
        def network_connection_type
          connection_value = @bridge.network_connection

          connection_type = values_to_type[connection_value]

          # In case the connection type is not recognized return the
          # connection value.
          connection_type || connection_value
        end

        def network_connection_type=(connection_type)
          raise ::Appium::Core::Error::ArgumentError, 'Invalid connection type' unless valid_type? connection_type

          connection_value = type_to_values[connection_type]

          @bridge.network_connection = connection_value
        end

        private

        def type_to_values
          { airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0 }
        end

        def values_to_type
          type_to_values.invert
        end

        def valid_type?(type)
          type_to_values.keys.include? type
        end
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
appium_lib_core-9.2.1 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-9.2.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-9.1.3 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-9.1.2 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-8.0.2 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-8.0.1 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-8.0.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.5.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.4.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.3.2 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.3.1 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.3.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.2.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.1.1 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.1.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-7.0.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-6.5.0 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-6.4.2 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-6.4.1 lib/appium_lib_core/common/base/has_network_connection.rb
appium_lib_core-6.4.0 lib/appium_lib_core/common/base/has_network_connection.rb