class Luffa::CLI

Public Class Methods

exit_on_failure?() click to toggle source
# File lib/luffa/cli/cli.rb, line 17
def self.exit_on_failure?
  true
end

Public Instance Methods

authorize() click to toggle source
# File lib/luffa/cli/cli.rb, line 27
def authorize
  this_dir = File.dirname(__FILE__)
  relative_path = File.join(this_dir, '..', '..', '..', 'script', 'ci')
  plist_path = File.expand_path(relative_path)

  analysis_plist = "#{plist_path}/com.apple.dt.instruments.process.analysis.plist"
  kill_plist = "#{plist_path}/com.apple.dt.instruments.process.kill.plist"

  analysis_domain = 'com.apple.dt.instruments.process.analysis'
  analysis_args = ['security', 'authorizationdb', 'write', analysis_domain]

  kill_domain = 'com.apple.dt.instruments.process.kill'
  kill_args = ['security', 'authorizationdb', 'write', kill_domain]

  cmd = "sudo #{analysis_args.join(' ')} < \"#{analysis_plist}\""
  options = {
    :pass_msg => 'Wrote analysis.plist',
    :fail_msg => 'Could not write analysis.plist',
    :exit_on_nonzero_status => false
  }
  analysis_code = Luffa.unix_command(cmd, options)

  cmd = "sudo #{kill_args.join(' ')} < \"#{kill_plist}\""
  options = {
    :pass_msg => 'Wrote kill.plist',
    :fail_msg => 'Could not write kill.plist',
    :exit_on_nonzero_status => false
  }

  kill_code = Luffa.unix_command(cmd, options)
  analysis_code == 0 && kill_code == 0
end
version() click to toggle source
# File lib/luffa/cli/cli.rb, line 22
def version
  puts Luffa::VERSION
end