module Platform::OS::OSX
Public Instance Methods
application_path_for_application(application_name)
click to toggle source
# File lib/Platform/OS/OSX.rb, line 83 def application_path_for_application(application_name) application_paths.detect do |application_path| File.basename(application_path) == application_name || File.basename(application_path, '.app') == application_name end end
application_paths(username = nil)
click to toggle source
# File lib/Platform/OS/OSX.rb, line 59 def application_paths(username = nil) system_application_paths + user_application_paths(username) end
applications_in_directory(directory)
click to toggle source
# File lib/Platform/OS/OSX.rb, line 94 def applications_in_directory(directory) Files.new(path: directory, pattern: '*.app').collect{|file| file.path} end
detect(return_version_string = false)
click to toggle source
# File lib/Platform/OS/OSX.rb, line 27 def detect(return_version_string = false) if return_version_string SystemProfiler.system_version else self.methods(false).select{|e| e =~ /\?$/}.detect{|e| send(e)}.to_s.capture(/^(\w+)\?/) end end
leopard?()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 39 def leopard? SystemProfiler.major_system_version == 10 && SystemProfiler.minor_system_version == 5 end
lion?()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 47 def lion? SystemProfiler.major_system_version == 10 && SystemProfiler.minor_system_version == 7 end
mavericks?()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 55 def mavericks? SystemProfiler.major_system_version == 10 && SystemProfiler.minor_system_version == 9 end
mountain_lion?()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 51 def mountain_lion? SystemProfiler.major_system_version == 10 && SystemProfiler.minor_system_version == 8 end
name()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 23 def name detect.split('_').collect{|e| e.capitalize}.join(' ') end
snow_leopard?()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 43 def snow_leopard? SystemProfiler.major_system_version == 10 && SystemProfiler.minor_system_version == 6 end
start(application_name)
click to toggle source
# File lib/Platform/OS/OSX.rb, line 90 def start(application_name) system("open #{application_path_for_application(application_name)}") end
system_application_paths()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 63 def system_application_paths applications_in_directory('/Applications') end
tiger?()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 35 def tiger? SystemProfiler.major_system_version == 10 && SystemProfiler.minor_system_version == 4 end
user_application_paths(username = nil)
click to toggle source
# File lib/Platform/OS/OSX.rb, line 67 def user_application_paths(username = nil) if username applications_in_directory("/Users/#{username}/Applications") else usernames.collect do |username| applications_in_directory("/Users/#{username}/Applications") end.flatten end end
usernames()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 77 def usernames `dscl . list /users`.split("\n") .reject{|username| username =~ /^_/} .reject{|username| %w{daemon nobody root}.include?(username)} end
version()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 15 def version Version.new(version_string) end
version_string()
click to toggle source
# File lib/Platform/OS/OSX.rb, line 19 def version_string detect(true) end