40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/mongoid/relations_dirty_tracking.rb', line 40
def track_relation?(rel_name)
rel_name = rel_name.to_s
options = relations_dirty_tracking_options
to_track = (!options[:only].blank? && options[:only].include?(rel_name)) ||
(options[:only].blank? && !options[:except].include?(rel_name))
trackables = [Mongoid::Association::Embedded::EmbedsOne::Proxy,
Mongoid::Association::Embedded::EmbedsMany::Proxy,
Mongoid::Association::Referenced::HasOne::Proxy,
Mongoid::Association::Referenced::HasMany::Proxy,
Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy,
Mongoid::Association::Referenced::BelongsTo::Proxy]
to_track && trackables.include?(relations[rel_name].try(:relation))
end
|