CFPropertyList implementation
class to read, manipulate and write both XML and binary property list
files (plist(5)) as defined by Apple. Have a look at CFPropertyList::List
for more documentation.
# Caution!
In version 3.0.0 we dropped Ruby 1.8 compatibility. If you are using
Ruby 1.8 consider to update Ruby; if you can't upgrade, don't upgrade
CFPropertyList.
# Installation
You could either use ruby gems and install it via
```bash
gem install CFPropertyList
```
or you could clone this repository and place it somewhere in your load path.
Example:
```ruby
require 'cfpropertylist'
```
If you're using Rails, you can add it into your Gemfile
```ruby
gem 'CFPropertyList'
```
# Usage
## create a arbitrary data structure of basic data types
```ruby
data = {
'name' => 'John Doe',
'missing' => true,
'last_seen' => Time.now,
'friends' => ['Jane Doe','Julian Doe'],
'likes' => {
'me' => false
}
}
```
## create CFPropertyList::List object
```ruby
plist = CFPropertyList::List.new
```
## call CFPropertyList.guess() to create corresponding CFType values
```ruby
plist.value = CFPropertyList.guess(data)
```
## write plist to file
```ruby
plist.save("example.plist", CFPropertyList::List::FORMAT_BINARY)
```
## … later, read it again
```ruby
plist = CFPropertyList::List.new(:file => "example.plist")
data = CFPropertyList.native_types(plist.value)
```
# Author and license
**Author:** Christian Kruse (mailto:cjk@wwwtech.de)
**Copyright:** Copyright (c) 2010
**License:** MIT License