Method: Zena::Acts::SecureNode::InstanceMethods#ref
- Defined in:
- lib/zena/acts/secure_node.rb
#ref ⇒ Object
Reference to validate access rights
328 329 330 331 332 333 334 335 336 337 338 339 340 341 |
# File 'lib/zena/acts/secure_node.rb', line 328 def ref # new record and self as reference (creating root node) return self if ref_field == :id && new_record? if !@ref || (@ref.id != ref_field_id) # no ref or ref changed @ref = secure(ref_class) { ref_class.find_by_id(ref_field_id) } end if @ref && (self.new_record? || (:id == ref_field) || (self[:id] != @ref[:id] )) # reference is accepted only if it is not the same as self or self is root (ref_field==:id set by Node) @ref.freeze else nil end end |