class Object
Constants
- CURRENT_HOST_PREFIX
- CURRENT_HOST_SUFFIX
- DEFAULTS
- DOMAINS
- PLISTS
- PREFERENCES
Public Instance Methods
debug(string)
click to toggle source
# File bin/pn, line 39 def debug(string) if ENV['DEBUG'] puts "DEBUG: #{string}" end end
normalize(plist)
click to toggle source
# File bin/pn, line 45 def normalize(plist) plist = plist.chomp if plist !~ /\.plist\z/ nil elsif plist == File.join(PREFERENCES, File.basename(plist)) # File is an immediate child of ~/Library/Preferences; return it sans the # ".plist" extension. DOMAINS[File.basename(plist, '.plist')] elsif plist == File.join(PREFERENCES, 'ByHost', File.basename(plist)) && plist.end_with?(CURRENT_HOST_SUFFIX) # File is in ~/Library/Preferences/ByHost and matches the UUID of the # current host. CURRENT_HOST_PREFIX + DOMAINS[File.basename(plist).chomp(CURRENT_HOST_SUFFIX)] else plist end end
read(plist)
click to toggle source
# File bin/pn, line 27 def read(plist) # Swallow stderr; it's usually harmless. if plist.start_with?(CURRENT_HOST_PREFIX) stdout, stderr, status = Open3.capture3( 'defaults', '-currentHost', 'read', plist[CURRENT_HOST_PREFIX.length..-1] ) else stdout, stderr, status = Open3.capture3('defaults', 'read', plist) end stdout end