Module: CouchRest::Model::Validations::ClassMethods
- Defined in:
- lib/couchrest/model/validations.rb
Instance Method Summary collapse
-
#validates_casted_model(*args) ⇒ Object
Validates the associated casted model.
-
#validates_uniqueness_of(*args) ⇒ Object
Validates if the field is unique for this type of document.
Instance Method Details
#validates_casted_model(*args) ⇒ Object
Validates the associated casted model. This method should not be used within your code as it is automatically included when a CastedModel is used inside the model.
39 40 41 |
# File 'lib/couchrest/model/validations.rb', line 39 def validates_casted_model(*args) validates_with(CastedModelValidator, _merge_attributes(args)) end |
#validates_uniqueness_of(*args) ⇒ Object
Validates if the field is unique for this type of document. Automatically creates a view if one does not already exist and performs a search for all matching documents.
Example:
class Person < CouchRest::Model::Base
property :title, String
validates_uniqueness_of :title
end
Asside from the standard options, you can specify the name of the view you’d like to use for the search inside the :view
option. The following example would search for the code in side the all
view, useful for when unique_id
is used and you’d like to check before receiving a RestClient Conflict error:
validates_uniqueness_of :code, :view => 'all'
A :proxy
parameter is also accepted if you would like to call a method on the document on which the view should be performed.
For Example:
# Same as not including proxy:
validates_uniqueness_of :title, :proxy => 'class'
# Person#company.people provides a proxy object for people
validates_uniqueness_of :title, :proxy => 'company.people'
73 74 75 |
# File 'lib/couchrest/model/validations.rb', line 73 def validates_uniqueness_of(*args) validates_with(UniquenessValidator, _merge_attributes(args)) end |