[ANN] plist 3.0.0 released!

Discussion in 'Ruby' started by Ben Bleything, Sep 21, 2006.

  1. == 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
    * -- svn notifications
    * -- 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.

    Ben Bleything, Sep 21, 2006
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.