class Plister::Preferences
Attributes
path[R]
Public Class Methods
new(path = nil)
click to toggle source
# File lib/plister/preferences.rb, line 5 def initialize(path = nil) @path = path || "/Users/#{Plister.user}/.osx.yml" end
Public Instance Methods
domains()
click to toggle source
# File lib/plister/preferences.rb, line 20 def domains @domains ||= data.map { |_k, v| v.keys }.flatten end
set!(verbose: false)
click to toggle source
# File lib/plister/preferences.rb, line 9 def set!(verbose: false) data.each do |type, domains| domains.each do |domain, prefs| puts "Setting #{type} preferences for #{domain}" if verbose plist = Plist.new(domain, type: type) plist.merge(prefs) plist.write end end end
Private Instance Methods
contents()
click to toggle source
# File lib/plister/preferences.rb, line 30 def contents @contents ||= File.open(path).read end
data()
click to toggle source
# File lib/plister/preferences.rb, line 26 def data @data ||= Psych.load(contents) || {} end