Module: Neo4j::Rails::Validations::ClassMethods
- Defined in:
- lib/neo4j/rails/validations/uniqueness.rb,
lib/neo4j/rails/validations/associated.rb
Instance Method Summary (collapse)
-
- (Object) validates_associated(*attr_names)
Validates whether the associated object or objects are all valid themselves.
- - (Object) validates_uniqueness_of(*attr_names)
Instance Method Details
- (Object) validates_associated(*attr_names)
Validates whether the associated object or objects are all valid themselves. Works with any kind of association.
class Book < Neo4j::Rails::Model
has_n :pages
belongs_to :library
validates_associated :pages, :library
end
Warning: If, after the above definition, you then wrote:
class Page < Neo4j::Rails::Model
has_n(:book).from(:pages)
validates_associated :book
end
this would specify a circular dependency and cause infinite recursion.
NOTE: This validation will not fail if the association hasn't been assigned. If you want to ensure that the association is both present and guaranteed to be valid, you also need to use validates_presence_of.
Configuration options:
-
:message - A custom error message (default is: “is invalid”)
-
:on - Specifies when this validation is active (default is :save, other options :create, :update).
-
:if - Specifies a method, proc or string to call to determine if the validation should occur (e.g. :if => :allow_validation, or :if => Proc.new { |user| user.signup_step > 2 }). The method, proc or string should return or evaluate to a true or false value.
-
:unless - Specifies a method, proc or string to call to determine if the validation should not occur (e.g. :unless => :skip_validation, or :unless => Proc.new { |user| user.signup_step <= 2 }). The method, proc or string should return or evaluate to a true or false value.
44 45 46 47 48 49 |
# File 'lib/neo4j/rails/validations/associated.rb', line 44 def validates_associated(*attr_names) validates_with AssociatedValidator, _merge_attributes(attr_names) rel_attr_names = attr_names.collect{|a| a.is_a?(Symbol) && _decl_rels[a].has_one? ? "#{a}_rel" : a} rel_attr_names = rel_attr_names.collect{|a| a.is_a?(Symbol) && _decl_rels[a].has_n? ? "#{a}_rels" : a} validates_with AssociatedValidator, _merge_attributes(rel_attr_names) end |
- (Object) validates_uniqueness_of(*attr_names)
71 72 73 |
# File 'lib/neo4j/rails/validations/uniqueness.rb', line 71 def validates_uniqueness_of(*attr_names) validates_with UniquenessValidator, _merge_attributes(attr_names) end |