Sha256: dfdf121bb55707d42769ab7546bcd0add4db3045d589063b17a435488487c2be

Contents?: true

Size: 1.19 KB

Versions: 4

Compression:

Stored size: 1.19 KB

Contents

require 'mkmf'

module Preconditions
  def check_all_preconditions
    docker_available
    docker_running
    fswatch_available
  end

  def docker_available
    if (find_executable0 'docker').nil?
      raise('Could not find docker binary in path. Please install it, e.g. using "brew install docker" or install docker-for-mac')
    end
  end

  def docker_running
    `docker ps`
    if $?.exitstatus > 0
      raise('No docker daemon seems to be running. Did you start your docker-for-mac / docker-machine?')
    end
  end

  def fswatch_available
    if (find_executable0 'fswatch').nil?
      raise('No fswatch available. Install it by "brew install fswatch"')
    end
  end

  def docker_sync_available
    if (find_executable0 'docker-sync').nil?
      raise('No docker-sync available. Install it by "gem install docker-sync"')
    end
  end

  def rsync_available
    if (find_executable0 'rsync').nil?
      raise('Could not find rsync binary in path. Please install it, e.g. using "brew install rsync"')
    end
  end

  def unison_available
    if (find_executable0 'unison').nil?
      raise('Could not find unison binary in path. Please install it, e.g. using "brew install unison"')
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
docker-sync-0.0.11 lib/preconditions.rb
docker-sync-0.0.9 lib/preconditions.rb
docker-sync-0.0.8 lib/preconditions.rb
docker-sync-0.0.7 lib/preconditions.rb