lib/marshmallow.rb in marshmallow-0.1.3 vs lib/marshmallow.rb in marshmallow-0.2.0
- old
+ new
@@ -81,32 +81,35 @@
return cores[1].strip
end
def self.memory
memory = `system_profiler SPHardwareDataType`.split("\n")
- memory = memory[12].split(":")
- return memory[1].strip
+ memory = memory.grep(/Memory:/).join(":").strip.split(":")
+ memory = memory[1].strip
+ return memory
end
def self.boot_rom
boot = `system_profiler SPHardwareDataType`.split("\n")
boot = boot[13].split(":")
return boot[1].strip
end
def self.smc
smc = `system_profiler SPHardwareDataType`.split("\n")
- smc = smc[14].split(":")
- return smc[1].strip
+ smc = smc.grep(/SMC/).join(":").strip.split(":")
+ smc = smc[1].strip
+ return smc
end
def self.uuid
uuid = `system_profiler SPHardwareDataType`.split("\n")
- uuid = uuid[16].split(":")
- return uuid[1].strip
- end
-
+ results = uuid.grep(/UUID:/).join(":").strip.split(":")
+ results = results[1].strip
+ return results
+ end
+
def self.graphics
graphics = `system_profiler SPDisplaysDataType`.split("\n")
graphics = graphics[2].split(":")
return graphics[0].strip
end
@@ -196,44 +199,44 @@
end
def self.ard_info1
plist = CFPropertyList::List.new(:file => "/Library/Preferences/com.apple.RemoteDesktop.plist")
results = CFPropertyList.native_types(plist.value)
- if results['Text1'].empty?
- return "null"
- else
- return results['Text1']
- end
+ if results.key?('Text1')
+ return results['Text1']
+ else
+ return "Error: plist does not contain key for 'Text1'"
+ end
end
def self.ard_info2
plist = CFPropertyList::List.new(:file => "/Library/Preferences/com.apple.RemoteDesktop.plist")
results = CFPropertyList.native_types(plist.value)
- if results['Text2'].empty?
- return "null"
- else
- return results['Text2']
- end
+ if results.key?('Text2')
+ return results['Text2']
+ else
+ return "Error: plist does not contain key for 'Text2'"
+ end
end
def self.ard_info3
plist = CFPropertyList::List.new(:file => "/Library/Preferences/com.apple.RemoteDesktop.plist")
results = CFPropertyList.native_types(plist.value)
- if results['Text3'].empty?
- return "null"
- else
- return results['Text3']
- end
+ if results.key?('Text3')
+ return results['Text3']
+ else
+ return "Error: plist does not contain key for 'Text3'"
+ end
end
def self.ard_info4
plist = CFPropertyList::List.new(:file => "/Library/Preferences/com.apple.RemoteDesktop.plist")
results = CFPropertyList.native_types(plist.value)
- if results['Text4'].empty?
- return "null"
- else
- return results['Text4']
- end
+ if results.key?('Text4')
+ return results['Text4']
+ else
+ return "Error: plist does not contain key for 'Text4'"
+ end
end
def self.profiles_installed
if `profiles -C`.chomp == "There are no configuration profiles installed in the system domain"
puts "No profiles installed"