Skip to content

Commit

Permalink
Merge pull request #50 from agavrelyuk/feature/README
Browse files Browse the repository at this point in the history
Update README
  • Loading branch information
ckruse committed Dec 6, 2017
2 parents b53f89d + f860c02 commit ba6442e
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 44 deletions.
44 changes: 0 additions & 44 deletions README

This file was deleted.

73 changes: 73 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
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.

# 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

0 comments on commit ba6442e

Please sign in to comment.