#!/usr/bin/ruby1.8 # Copyright (C) 2012 Steven McDonald # # This program is free software. It comes without any warranty, to the # extent permitted by applicable law. You can redistribute it and/or # modify it under the terms of the Do What The Fuck You Want To Public # License, Version 2, as published by Sam Hocevar. See the file COPYING # in the root of this program's source distribution for details, or: # # http://sam.zoy.org/wtfpl/COPYING require 'lib/aids' def main(argv) svc = AIDS::Service.new(argv[1]) if argv[1] case argv[0] when 'enable' usage unless svc svc.enable! when 'disable' usage unless svc svc.disable! when 'list' if svc display_status(svc) else AIDS.get_all_services.sort_by{|s|s.name}.each{|s|display_status(s)} end else usage end end def display_status(svc) print "#{svc.name[0..14]}#{' ' * (16 - svc.name[0..14].length)}" status = svc.status prettystatus = nil AIDS::RUNLEVEL_ALL.each do |r| print "\t" if prettystatus case status[r] when :start prettystatus = 'on' when :stop prettystatus = 'off' when :none prettystatus = 'none' else next end print "#{r}:#{prettystatus}" end puts end def usage $stderr.puts <<-EOF AIDS - Assistant for Initialisation of Debian Services Usage: #{$0} command [service] Command may be one of: - enable Enables the service. - disable Disables the service. - list Lists the current status of the service, or of all services if none is provided. EOF exit 1 end main(ARGV) if $0 == __FILE__