class Appraisal::CLI
Public Class Methods
exit_on_failure?()
click to toggle source
# File lib/appraisal/cli.rb, line 35 def self.exit_on_failure? true end
help(shell, subcommand = false)
click to toggle source
Override help command to print out usage
Calls superclass method
# File lib/appraisal/cli.rb, line 10 def self.help(shell, subcommand = false) shell.say strip_heredoc(<<-help) Appraisal: Find out what your Ruby gems are worth. Usage: appraisal [APPRAISAL_NAME] EXTERNAL_COMMAND If APPRAISAL_NAME is given, only run that EXTERNAL_COMMAND against the given appraisal, otherwise it runs the EXTERNAL_COMMAND against all appraisals. help if File.exist?('Appraisals') shell.say shell.say 'Available Appraisal(s):' AppraisalFile.each do |appraisal| shell.say " - #{appraisal.name}" end end shell.say super end
Private Class Methods
strip_heredoc(string)
click to toggle source
# File lib/appraisal/cli.rb, line 111 def self.strip_heredoc(string) indent = string.scan(/^[ \t]*(?=\S)/).min.size || 0 string.gsub(/^[ \t]{#{indent}}/, '') end
Public Instance Methods
clean()
click to toggle source
# File lib/appraisal/cli.rb, line 72 def clean FileUtils.rm_f Dir['gemfiles/*.{gemfile,gemfile.lock}'] end
generate()
click to toggle source
# File lib/appraisal/cli.rb, line 65 def generate AppraisalFile.each do |appraisal| appraisal.write_gemfile end end
install()
click to toggle source
# File lib/appraisal/cli.rb, line 55 def install invoke :generate, [], {} AppraisalFile.each do |appraisal| appraisal.install(options) appraisal.relativize end end
list()
click to toggle source
# File lib/appraisal/cli.rb, line 86 def list AppraisalFile.new.appraisals.each { |appraisal| puts appraisal.name } end
update(*gems)
click to toggle source
# File lib/appraisal/cli.rb, line 77 def update(*gems) invoke :generate, [] AppraisalFile.each do |appraisal| appraisal.update(gems) end end
version()
click to toggle source
# File lib/appraisal/cli.rb, line 91 def version puts "Appraisal #{VERSION}" end
Private Instance Methods
method_missing(name, *args, &block)
click to toggle source
# File lib/appraisal/cli.rb, line 97 def method_missing(name, *args, &block) matching_appraisal = AppraisalFile.new.appraisals.detect do |appraisal| appraisal.name == name.to_s end if matching_appraisal Command.new(args, :gemfile => matching_appraisal.gemfile_path).run else AppraisalFile.each do |appraisal| Command.new(ARGV, :gemfile => appraisal.gemfile_path).run end end end