4.17
Low commit activity in last 3 years
A long-lived project that still receives updates
This is a module to read, write and manipulate both binary and XML property lists as defined by apple.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 0
>= 0
>= 0
 Project Readme

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

gem install CFPropertyList

or you could clone this repository and place it somewhere in your load path.

Example:

require 'cfpropertylist'

If you're using Rails, you can add it into your Gemfile

gem 'CFPropertyList'

Usage

create a arbitrary data structure of basic data types

data = {
  'name' => 'John Doe',
  'missing' => true,
  'last_seen' => Time.now,
  'friends' => ['Jane Doe','Julian Doe'],
  'likes' => {
    'me' => false
  }
}

create CFPropertyList::List object

plist = CFPropertyList::List.new

call CFPropertyList.guess() to create corresponding CFType values

plist.value = CFPropertyList.guess(data)

write plist to file

plist.save("example.plist", CFPropertyList::List::FORMAT_BINARY)

… later, read it again

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