Sha256: 2b46a6058a0260b9c3110dcf7ce5dd102b54d989c3646d96144d5869d164ed94
Contents?: true
Size: 980 Bytes
Versions: 7
Compression:
Stored size: 980 Bytes
Contents
module RailsAdmin module Adapters module Mongoid module ObjectExtension def self.extended(object) object.associations.each do |name, association| association = Association.new(association, object.class) case association.macro when :has_many unless association.autosave? object.singleton_class.after_create do send(name).each(&:save) end end when :has_one unless association.autosave? object.singleton_class.after_create do send(name)&.save end end object.instance_eval <<-RUBY, __FILE__, __LINE__ + 1 def #{name}_id=(item_id) self.#{name} = (#{association.klass}.find(item_id) rescue nil) end RUBY end end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems