module TapDance::BrewCLI
Attributes
dry_run[RW]
One offing terminal commands makes it easy to stub.
prefix[W]
Public Class Methods
formula_info(name)
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 35 def formula_info(name) exec "info #{name}" end
formula_versions(name)
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 39 def formula_versions(name) exec "versions #{name}" end
install(name, flags="")
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 23 def install(name, flags="") exec "install #{name} #{flag_string flags}", true end
list_versions(name)
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 31 def list_versions(name) exec "list --versions #{name}" end
prefix()
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 15 def prefix @prefix ||= exec("--prefix").strip end
tap(url)
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 43 def tap(url) exec "tap #{url}", true end
tap_list()
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 51 def tap_list exec "tap" end
untap(url)
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 47 def untap(url) exec "untap #{url}", true end
update()
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 19 def update exec "update", true end
upgrade(name, flags="")
click to toggle source
# File lib/tap_dance/brew_cli.rb, line 27 def upgrade(name, flags="") exec "upgrade #{name} #{flag_string flags}", true end
Private Class Methods
exec(cmd, volatile=false)
click to toggle source
Private because we want all brew commands wrapped for testing.
# File lib/tap_dance/brew_cli.rb, line 60 def exec(cmd, volatile=false) # If a command is volatile (causes system changes), # we want to offer a dry-run option for testing # and the CLI. cmd.strip! if volatile and @dry_run TapDance.ui.warn "Would run: brew #{cmd}" return nil else ShellResult.of "brew #{cmd}" end end
flag_string(flags)
click to toggle source
Sanitize flags with standard unix conventions and generate a string
# File lib/tap_dance/brew_cli.rb, line 76 def flag_string(flags) case flags when String return flags else return flags.squash("-").map {|m| case m when /^--/ m when /^-[^\-]/ m else if m =~ /^.[ =]/ "-#{m}" else "--#{m}" end end }.join(" ") end end