module Mongoid::Denormalize::ClassMethods
Public Instance Methods
denormalize(*args)
click to toggle source
# File lib/mongoid-denormalize.rb, line 10 def denormalize(*args) *fields, options = args unless options.is_a?(Hash) && options[:from] raise ArgumentError, 'Option :from is needed (e.g. denormalize :name, from: :user).' end fields = Mongoid::Denormalize.get_fields_with_names(self, fields, options) # Add fields to model fields.each { |field| field field[:as], type: field[:type] } # Add hooks Mongoid::Denormalize.add_hook_to_child(self, fields, options) Mongoid::Denormalize.add_hook_to_parent(self, fields, options) end