Sha256: b2c05693b7b7c30df71a9a061585e70667251fe91d659333da68ffe0a11afeaf

Contents?: true

Size: 1.08 KB

Versions: 5

Compression:

Stored size: 1.08 KB

Contents

module RunLoop
  # @!visibility private
  module DeviceAgent
    # @!visibility private
    #
    # An abstract base class for something that can launch the CBXRunner on a
    # device.  The CBXRunner is AKA the DeviceAgent.
    class Launcher
      require "run_loop/abstract"
      include RunLoop::Abstract

      # @!visibility private
      attr_reader :device

      # @!visibility private
      # @param [RunLoop::Device] device where to launch the CBX-Runner
      def initialize(device)
        @device = device

        if device.version < RunLoop::Version.new("9.0")
          raise ArgumentError, %Q[
Invalid device:

#{device}

XCUITest is only available for iOS >= 9.0
]
        end
      end

      # @!visibility private
      #
      # Does whatever it takes to launch the CBX-Runner on the device.
      def launch
        abstract_method!
      end

      # @!visibility private
      def self.dot_dir
        path = File.join(RunLoop::DotDir.directory, "xcuitest")

        if !File.exist?(path)
          FileUtils.mkdir_p(path)
        end

        path
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
run_loop_tcc-2.1.6 lib/run_loop/device_agent/launcher.rb
run_loop_tcc-2.1.5 lib/run_loop/device_agent/launcher.rb
run_loop_tcc-2.1.4 lib/run_loop/device_agent/launcher.rb
run_loop_tcc-2.1.3 lib/run_loop/device_agent/launcher.rb
run_loop-2.1.3 lib/run_loop/device_agent/launcher.rb