README.md in hydra-validations-0.1.0 vs README.md in hydra-validations-0.2.0
- old
+ new
@@ -1,17 +1,20 @@
hydra-validations
=======================
-Custom validators for Hydra applications based on ActiveModel::Validations.
+Custom validators for Hydra applications, based on ActiveModel::Validations.
-### Dependencies
+[](https://travis-ci.org/projecthydra-labs/hydra-validations)
+[](http://badge.fury.io/rb/hydra-validations)
+## Dependencies
+
* Ruby >= 1.9.3
* ActiveModel 4.x
* ActiveFedora 7.x
-### Installation
+## Installation
Include in your Gemfile:
```ruby
gem 'hydra-validations'
@@ -21,17 +24,37 @@
```sh
bundle install
```
-### Example
+## Validators
-With a PORO, we have to include ActiveModel::Validations.
-ActiveRecord::Base and ActiveFedora::Base already include ActiveModel::Validations.
+See also the source code andn spec tests.
+### UniquenessValidator (ActiveFedora)
+
```ruby
+class Validatable < ActiveFedora::Base
+ include Hydra::Validations
+ has_metadata name: 'descMetadata', type: ActiveFedora::QualifiedDublinCoreDatastream
+ has_attributes :title, datastream: 'descMetadata', multiple: false
+ # Can use with multi-value attributes, but single cardinality is required.
+ # See SingleCardinalityValidator below.
+ has_attributes :source, datastream: 'descMetadata', multiple: true
+
+ # validates_uniqueness_of helper method
+ validates_uniqueness_of :title, solr_name: "title_ssi"
+
+ # Using `validates' with options
+ validates :source, uniqueness: { solr_name: "subject_ssim" }
+end
+```
+
+### SingleCardinalityValidatory (Can be used with POROs)
+
+```ruby
class Validatable
- include ActiveModel::Validations
+ include ActiveModel::Validations # required if not already included in class
include Hydra::Validations
attr_accessor :field
validates :field, single_cardinality: true
end