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 => [...] serializable_attrs => [...]

attr_required?(attr_name) #=> boolean

valid? #=> boolean, Are all required fields present?

attr_missing?(attr_name) #=> boolean attr_present?(attr_name) #=> boolean