= Nokogiri-PList
== DESCRIPTION:
Nokogiri-plist provides the functionality for dealing with XML in Apple's property list format.
There is already a plist gem (http://github.com/bleything/plist) that has similar functionality. I didn't realize it until I had written most of this gem. However this gem uses Nokogiri, so the implementation is simpler. The plist gem does its own XML parsing. I figured since I was already using Nokogiri in my project, it's better to build on top of that. I did get ideas from the original gem. I have benchmarked my gem against that gem and it performs similarly. Once I come up with a little more scientific benchmarks, I'll show them.'
== FEATURES:
- Parsers plist files into simple basic Ruby objects
- Generates plist XML from Ruby objects
- Uses the awesome Nokogiri gem
== USAGE:
Sample plist (test.plist)
Beers
Black Butte
Steel Reserve
Bass Pale Ale
Beer DrinkerCasey
Beers Drank4123
require 'nokogiri-plist'
Parse the plist XML
plist = Nokogiri::PList(open('test.plist'))
=> { "Beers" => ["Black Butte", "Steel Reserve", "Bass Pale Ale"], "Beers Drank" => 4123, "Beer Drinker" => "Casey"}
Read a dict property thats value is an array
plist["Beers"]
=> ["Black Butte", "Steel Reserve", "Bass Pale Ale"]
Read another value
plist["Beer Drinker"]
=> "Casey"
Turn it into a string containing XML
puts plist.to_plist_xml
Beers
Black Butte
Steel Reserve
Bass Pale Ale
Beers Drank4123
Beer DrinkerCasey
Convert a string into a plist XML string
"beer".to_plist_xml
=> "beer"
Convert an array to a plist XML string
puts (1..3).to_a.to_plist_xml
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
== REQUIREMENTS:
- Ruby (tested with 1.9.1 and 1.8.7)
- nokogiri
- shoulda and mocha (only if you want to run the tests)
== INSTALL:
- [sudo] gem install nokogiri-plist