Sha256: aa4f003e38a2ad0bbfbc592947162300e01af83c569b74a726c47bc779edc91f

Contents?: true

Size: 1.28 KB

Versions: 16

Compression:

Stored size: 1.28 KB

Contents

require 'docker-sync/preconditions/preconditions_osx'
require 'docker-sync/preconditions/preconditions_linux'

require 'singleton'
require 'os'

module DockerSync
  module Preconditions
    class Strategy
      include Singleton

      attr_accessor :strategy

      def initialize
        if DockerSync::Preconditions::Strategy.is_osx
          @strategy = DockerSync::Preconditions::Osx.new
        elsif DockerSync::Preconditions::Strategy.is_linux
          @strategy = DockerSync::Preconditions::Linux.new
        end
      end

      def self.is_osx
        return OS.mac?
      end

      def self.is_linux
        return OS.linux?
      end

      def check_all_preconditions(config)
        strategy.check_all_preconditions(config)
      end

      def docker_available
        strategy.docker_available
      end

      def docker_running
        strategy.docker_running
      end

      def rsync_available
        strategy.rsync_available
      end


      def fswatch_available
        strategy.fswatch_available
      end

      def unison_available
        strategy.unison_available
      end

      def is_driver_docker_for_mac?
        strategy.is_driver_docker_for_mac?
      end

      def is_driver_docker_toolbox?
        strategy.is_driver_docker_toolbox?
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
docker-sync-0.4.6 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.5 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.5.beta1 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.4 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.4.beta2 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.4.beta1 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.3 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.3.pre.beta1 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.2 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.1 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.1.pre.beta2 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.1.pre.beta1 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.0 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.0.pre.beta2 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.4.0.pre.beta1 lib/docker-sync/preconditions/strategy.rb
docker-sync-0.3.6 lib/docker-sync/preconditions/strategy.rb