Sha256: 5625eddb1414d64070bd58b440421769a77cbf4c7d146ea08df7ffd2c1a16bdb
Contents?: true
Size: 1016 Bytes
Versions: 2
Compression:
Stored size: 1016 Bytes
Contents
require 'ostruct' class Velcro class Homebrew HOMEBREW_COMMAND = 'brew' def install_dependencies(dependencies) dependencies.each do |dependency| install(dependency) end end def install(dependency) command = "#{HOMEBREW_COMMAND} install #{dependency.name}" command << " -v #{dependency.version}" if dependency.version shellout(command) end def child_dependencies(dependency) deps(dependency).split.map do |child| child = OpenStruct.new(name: child) child.version = versions(child).split.first child end end def deps(dependency) command = "#{HOMEBREW_COMMAND} deps #{dependency.name}" shellout(command, true) end def versions(dependency) command = "#{HOMEBREW_COMMAND} versions --compact #{dependency.name}" shellout(command, true) end def shellout(command, quiet = false) output = `#{command}` puts output unless quiet output end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
velcro-0.1.0 | lib/velcro/homebrew.rb |
velcro-0.0.1 | lib/velcro/homebrew.rb |