Sha256: b4a8d3c96d1ba9a4d127b98b9adc9ca22ed40bc9d1f033709e4cb301ab4d21ec

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

#!/usr/bin/env ruby

require 'brewdler'
require 'commander/import'

program :version, Brewdler::VERSION
program :description, 'CLI helper for brewdler'

default_command :install

command :install do |c|
  c.description = 'Install all homebrew based dependecies'
  c.action do |args, options|

    begin
      dependencies = []
      File.open(File.join(Dir.pwd, 'Brewfile')).each { |line|
        line.chomp!
        if line.length > 0 && !comment?(line)
          dependencies << line
        end
      }
    rescue
      puts 'No Brewfile found'
    end

    dependencies.each do |dependency|
      installed_version = installed?(dependency)
      puts "#{installed_version ? 'Using' : 'Installing'}: #{dependency} #{installed_version}"
      install(dependency) unless installed_version
    end

    puts "All dependencies installed"
  end
end

def install(name)
  brewable = `brew info #{name}`
  if brewable[0..4] != 'Error'
    system "brew install #{name}"
  else
    puts "Error: No available formula for #{name}"
  end
end

def installed?(name)
  installed = `brew list #{name} -v`
  if installed.length > 0
    return installed.split(' ').last
  end
end

def comment?(line)
  line =~ /^ *#/
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
brewdler-0.2.0 bin/brewdle