class OsxApp
this class describes OSX Application
Attributes
name[R]
path[R]
Public Class Methods
new(name_or_path)
click to toggle source
# File lib/osx_app.rb, line 9 def initialize(name_or_path) if File.directory?(name_or_path) @name = File.basename(name_or_path).gsub('.app', '') @path = name_or_path else @name = name_or_path.gsub('.app', '') @path = "/Applications/#{@name}.app" fail CannotFind, @path unless File.directory?(@path) end validate! end
Public Instance Methods
minimum_osx()
click to toggle source
# File lib/osx_app.rb, line 29 def minimum_osx @minimum_osx ||= read_defaults('LSMinimumSystemVersion') end
version()
click to toggle source
# File lib/osx_app.rb, line 21 def version @version ||= read_defaults('CFBundleShortVersionString') end
version_major()
click to toggle source
# File lib/osx_app.rb, line 25 def version_major version.split('.').first end
Private Instance Methods
info_plist()
click to toggle source
# File lib/osx_app.rb, line 39 def info_plist "#{path}/Contents/Info.plist" end
read_defaults(string)
click to toggle source
# File lib/osx_app.rb, line 43 def read_defaults(string) `defaults read #{info_plist} #{string}`.strip end
validate!()
click to toggle source
# File lib/osx_app.rb, line 35 def validate! fail Invalid, "No #{info_plist}" unless File.exist?(info_plist) end