[ANN] plist 3.0.0 released!

B

Ben Bleything

== Introduction

Plist is a library to manipulate Property List files, also known as
plists. It can parse plist files into native Ruby data structures as
well as generating new plist files from your Ruby objects.

Plist was originally part of the NARF project (http://www.narf-lib.org/),
until some idiot (me) came along and accidentally released a gem of the
same name. A few apologetic emails later, plist was moved out of NARF
into its own project on RubyForge. NARF's developer, Patrick May, and
I have joined forces and will be maintaining the project together from
here on.

== Release Notes

There are a couple of very important notes about plist 3.0.0:

* The library is no longer compatible with Ruby 1.6.x. It was decided
that ship had sailed.

* The top-level Plist class is now a module, so subclasses of Plist
will no longer work.

* version 3.0.0 sports brand new plist generation code. Code that was
written around the old 2.x generation code will likely break.

Apologies for not formally deprecating this code before it changed. It
all just happened so fast! Bugs found in the 2.x branch will be fixed
if there is demand for it.

Other fun tidbits about the release can be found in the CHANGELOG file,
in the repository or in the rdoc.

== Installation

$ sudo gem install plist

The gem has *just now* been released, so it might be a while before it
actually hits the mirrors. In the meantime, you ought to be able to
download the gem directly from RubyForge, or just check it out from svn
and run:

$ rake gem ; sudo gem install pkg/plist-3.0.0.gem

== Usage

There is a lot more detail in the USAGE document in the rdoc, but here's
a taste:

==== Parsing

result = Plist::parse_xml( '/path/to/your.plist' )

==== Generation

hash = {
:some_key => 'value',
:array => [ 1, 2, 3, 4 ],
:eek:bj => MyVerySpecialCustomObject.new
}

hash.to_plist # these two are
Plist::Emit.dump(hash) # equivalent!

hash.save_plist( '/path/to/your.plist' ) # these two are
Plist::Emit.save_plist( hash, '/path/to/your.plist' ) # equivalent too!

== New Infrastructure!

Merging our libraries also meant merging our infrastructure. Plist is
now hosted entirely at RubyForge.

* Project page: http://rubyforge.org/projects/plist/
* Rdoc: http://plist.rubyforge.org
* Subversion: svn://rubyforge.org/var/svn/plist
* Mailing lists
* (e-mail address removed) -- svn notifications
* (e-mail address removed) -- development discussion

== Conclusion

While I can't really say there are Big Plans(tm) in store for plist
in the future, Patrick and I are both using the library in production
code, so we're not going anywhere. We're both very open to ideas and
suggestions, so if you're using plist and want it to do something it
doesn't, just let us know. Join our mailing list (see above!) and say
hi. Let us know you care.

Cheers!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top