Class: DefaultsSystem

Inherits:
Object
  • Object
show all
Defined in:
lib/osaka/defaultssystem.rb

Instance Method Summary collapse

Constructor Details

#initialize(domain) ⇒ DefaultsSystem

Returns a new instance of DefaultsSystem.



6
7
8
9
10
# File 'lib/osaka/defaultssystem.rb', line 6

def initialize(domain)
  @domain = domain
  @settings = {}
  parse_settings_file(Osaka::CommandRunner.run("defaults read #{domain}"))
end

Instance Method Details

#[](key) ⇒ Object



20
21
22
# File 'lib/osaka/defaultssystem.rb', line 20

def [](key)
  @settings[key]
end

#[]=(key, value) ⇒ Object



24
25
26
# File 'lib/osaka/defaultssystem.rb', line 24

def []=(key, value)
  Osaka::CommandRunner.run("defaults write #{@domain} #{key} #{value}")
end

#parse_settings_file(settings_from_defaults) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/osaka/defaultssystem.rb', line 12

def parse_settings_file (settings_from_defaults)    
  scanner = StringScanner.new (settings_from_defaults)
  scanner.scan(/{\n/)
  while scanner.scan(/\s+(.*) = (.*);\n/) do
    @settings[scanner[1]] = scanner[2]
  end
end