class Bcupgrade::Cask

Public Class Methods

new(options, args, config) click to toggle source
# File lib/bcupgrade/cask.rb, line 7
def initialize(options, args, config)
  @config   = config
  @options  = options
  @args     = args.uniq
  @outdated = BrewCask.outdated.split(/\n/)
end

Public Instance Methods

upgrade(casks) click to toggle source
# File lib/bcupgrade/cask.rb, line 14
def upgrade(casks)
  return if @options[:dry_run]

  casks.each do |cask|
    next unless prompt_answer_yes?(cask)

    puts "\n==> Upgrade #{cask}"
    BrewCask.install(cask)
  end
end
upgrade_targets() click to toggle source
# File lib/bcupgrade/cask.rb, line 25
def upgrade_targets
  if @args.any?
    @args
  else
    exclude_ignored_casks(@outdated)
  end
end

Private Instance Methods

exclude_ignored_casks(casks) click to toggle source
# File lib/bcupgrade/cask.rb, line 35
def exclude_ignored_casks(casks)
  casks - @config.ignored_casks
end
prompt_answer_yes?(cask) click to toggle source
# File lib/bcupgrade/cask.rb, line 39
def prompt_answer_yes?(cask)
  input = if @options[:install]
            'y'
          else
            Readline.readline("\nUpgrade #{cask}? [y/n] ")
          end
  if input.casecmp('y').zero? || input.casecmp('yes').zero?
    true
  else
    false
  end
end