Module: Hackmac::Plist

Included in:
DiskInfo, Disks, Kext
Defined in:
lib/hackmac/plist.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *a) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/hackmac/plist.rb', line 18

def method_missing(name, *a)
  n = name.to_s
  if n =~ /(.+)=\z/
    @plist[$1] = a.first
  elsif @plist.key?(n)
    @plist[n]
  end
end

Instance Method Details

#as_hashObject



10
11
12
# File 'lib/hackmac/plist.rb', line 10

def as_hash(*)
  @plist.dup
end

#plist(*cmd) ⇒ Object



6
7
8
# File 'lib/hackmac/plist.rb', line 6

def plist(*cmd)
  @plist = ::Plist.parse_xml(`#{Shellwords.join(cmd)}`)
end

#to_json(*a) ⇒ Object



14
15
16
# File 'lib/hackmac/plist.rb', line 14

def to_json(*a)
  as_hash.to_json(*a)
end