Sha256: ea667790101da773ba79a2b4d867f78ad147049092d788def2f10339b0bc4a77
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
module LaunchAgent class Base attr_reader :args DOMAIN = 'com.buycheapviagraonlinenow' KEYS = [ 'Label', 'Disabled', 'UserName', 'GroupName', 'inetdCompatibility', 'LimitLoadToHosts', 'LimitLoadFromHosts', 'LimitLoadToSessionType', 'Program', 'ProgramArguments', 'EnableGlobbing', 'EnableTransactions', 'OnDemand', 'KeepAlive', 'RunAtLoad', 'RootDirectory', 'WorkingDirectory', 'EnvironmentVariables', 'Umask', 'TimeOut', 'ExitTimeOut', 'ThrottleInterval', 'InitGroups', 'WatchPaths', 'QueueDirectories', 'StartOnMount', 'StartInterval', 'StartCalendarInterval', 'StandardInPath', 'StandardOutPath', 'StandardErrorPath', 'Debug', 'WaitForDebugger', 'SoftResourceLimits', 'HardResourceLimits', 'Nice', 'AbandonProcessGroup', 'LowPriorityIO', 'LaunchOnlyOnce', 'MachServices', 'Sockets' ] def initialize(*args) @args = args @params = {} @user_params = {} end def load open(plist_filename, 'w') do |file| file.write(plist_content) end `launchctl load -w #{plist_filename}` end def unload `launchctl unload -w #{plist_filename}` File.unlink(plist_filename) end def loaded? system("launchctl list -x #{job_id}") end def []=(key, value) if KEYS.include?(key) @user_params[key] = value end end def plist_filename File.expand_path('~/Library/LaunchAgents/' + job_id + '.plist') end def build_params end def plist_content build_params @params.merge(@user_params).to_plist end def job_id DOMAIN + '.' + @args.inject([]) do |m, arg| m << arg.to_s.gsub(/\W/, '_') end.join('__') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
launch-agent-0.8.1 | lib/launch_agent/base.rb |