Sha256: 5a79359bd5f00d56edb3690c61c99eb5df4b20f6b523cabdbe213fcd8c1daf59

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

require 'open3'

module LearnTest
  module PythonUnittest
    class RequirementsChecker
      def self.check_installation
        new.check_installation
      end

      def check_installation
        PythonChecker.check
        PipChecker.check
      end
    end

    class PythonChecker
      def self.check
        new.check
      end

      def check
        if !python_installed? || !correct_python_version?
          puts "Please install python 2.7.x or 3.x.x"
          exit
        end
      end

      def python_installed?
        !`which python`.empty?
      end

      def correct_python_version?
        output = Open3.popen3('python', '--version')
        version = output[2].read.strip
        !!version.match(/ 2.7.*| 3.*/)
      end
    end

    class PipChecker
      def self.check
        new.check
      end

      def check
        if !pip_installed?
          puts "Please ensure pip is installed"
          exit
        end
      end

      def pip_installed?
        !`which pip`.empty?
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
learn-test-1.2.0 lib/learn_test/python_unittest/requirements_checker.rb
learn-test-1.1.1 lib/learn_test/python_unittest/requirements_checker.rb
learn-test-1.1.0 lib/learn_test/python_unittest/requirements_checker.rb