class Strapper::Brew

Attributes

name[R]

Public Class Methods

new(name, version=nil) click to toggle source
# File lib/strapper/brew.rb, line 6
def initialize(name, version=nil)
  @name = name
  @version = version
end

Public Instance Methods

formula_version() click to toggle source
# File lib/strapper/brew.rb, line 39
def formula_version
  formula_version = `brew info #{@name}`
  puts formula_version
  formula_version.split($/).first.match(/#{@name}: stable ([^\s,]+)/)[1]
end
install() click to toggle source
# File lib/strapper/brew.rb, line 20
def install
  brewable = `brew info #{@name}`
  if brewable[0..4] != 'Error'
    system "brew install #{@name}"
  else
    puts "Error: No available formula for #{@name}"
  end
end
installed?() click to toggle source
# File lib/strapper/brew.rb, line 29
def installed?
  installed_version = `brew list --versions #{@name}`.chomp
  !installed_version.empty?
end
installed_version() click to toggle source
# File lib/strapper/brew.rb, line 34
def installed_version
  installed_version = `brew list --versions #{@name}`.chomp
  installed_version.match(/#{@name} ([^\s]+)/)[1]
end
run() click to toggle source
# File lib/strapper/brew.rb, line 11
def run
  if installed?
    puts "Using #{name} (#{installed_version})"
  else
    puts "Installing #{name} (#{formula_version})"
    install
  end
end