Sha256: b71771d8818731201844abc29b7323762d912aa2f423012a1c754e57a0d190d0

Contents?: true

Size: 1.02 KB

Versions: 6

Compression:

Stored size: 1.02 KB

Contents

module LearnOpen
  module Environments
    def self.classify(options)
      environment_vars = options.fetch(:environment_vars, LearnOpen.environment_vars)
      platform = options.fetch(:platform, LearnOpen.platform)
      if jupyter_container?(environment_vars)
        JupyterContainerEnvironment.new(options)
      elsif ide_environment?(environment_vars)
        IDEEnvironment.new(options)
      elsif on_mac?(platform)
        MacEnvironment.classify(options)
      elsif on_linux?(platform)
        LinuxEnvironment.new(options)
      else
        GenericEnvironment.new(options)
      end
    end

    def self.jupyter_container?(environment_vars)
      environment_vars['JUPYTER_CONTAINER'] == "true"
    end

    def self.ide_environment?(environment_vars)
      environment_vars['IDE_CONTAINER'] == "true"
    end

    def self.on_mac?(platform)
      !!platform.match(/darwin/)
    end

    def self.on_linux?(platform)
      !!platform.match(/linux/)
    end

    class UnknownLessonDownloadError < StandardError
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
learn-open-1.2.28 lib/learn_open/environments.rb
learn-open-1.2.27 lib/learn_open/environments.rb
learn-open-1.2.26 lib/learn_open/environments.rb
learn-open-1.2.24 lib/learn_open/environments.rb
learn-open-1.2.23 lib/learn_open/environments.rb
learn-open-1.2.22 lib/learn_open/environments.rb