Contentdm-ruby is a project mainly written in Ruby, it's free.
Ruby module to pull data and metadata out of CONTENTdm repositories
= Introduction The ContentDm module for Ruby provides access to structured metadata in CONTENTdm collections via CONTENTdm's built-in OAI-PMH provider interface. The module turns Qualified Dublin Core metadata into a convenient hash structure. With proper authentication, it can also scrape collection-level field information from the CONTENTdm administrative interface and create formatted HTML output from retrieved records.
= Examples
harvester = ContentDm::Harvester.new('http://mycontentdm.example.com/')
collections = harvester.collections
=> {"collection1" => "My First Collection", "collection2" => "My Second Collection"}
record = harvester.get_record("collection1",16)
records = harvester.get_records("collection2")
puts record.to_xml() puts record.to_html()
record = ContentDm::Harvester.get_record('http://mycontentdm.example.com/u/?/collection1,16')