Data Package
============

Library of classes and utilities for reading and writing data packages

### Attribute Helpers

#### Usage

```
attr_required :name
attr_required :path, :if => lamda {|obj|
  obj.attr_missing?(:url) && obj.attr_missing?(:data)
}

attr_optional :title
attr_optional :sources, :default => [], :key => 'sources',
  :serialize => lambda { |source| source.collect(&:to_hash) }
```

key is not required for attr_optional as it defaults to name of the attribute

#### Instance Methods

```
required_attrs => [...]
optional_attrs => [...]
```

```
attr_required?(attr_name) #=> boolean
attr_missing?(attr_name) #=> boolean
attr_present?(attr_name) #=> boolean
valid? #=> boolean, Are all required fields present?
```

Data Package
============

Library of classes and utilities for reading and writing data packages

## Installation

```
$ gem install data_package
```

## Opening and reading data packages

```
require 'data_package'

package = DataPackage::Package.open('path/to/package/dir')

puts package.name
puts package.version
puts package.resources
```

## This package currently supports data package specification v1.0-beta.8
Update the readme a bit
Update the readme a bit
