module Dsl::Relations
Public Instance Methods
relations(*params)
click to toggle source
Allows to receive a relation as an input params. Relation can then be received either as :
- relation_id => The key to the corresponding relation - relation => An instance of the object
Params:
params
-
the list of relations to declare
Example :
relations(:entity, :user)
# File lib/dsl/relations.rb, line 28 def relations(*params) options = {} if params.last.is_a?(Hash) options = params.last params.pop end validates(*params, relation: true) unless options[:skip_validations] params.each do |param| relation_key = "#{param}_id".to_sym send(:attributes, param, relation_key) @@relation_keys[name] = (@@relation_keys[name] || []) + [param] end end