Module: ParanoidFu::BelongsToPolymorphicAssociation
- Defined in:
- lib/paranoid_fu/belongs_to_polymorphic_association.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 |
# File 'lib/paranoid_fu/belongs_to_polymorphic_association.rb', line 3 def self.included(base) base.class_eval do alias_method_chain :find_target, :paranoid_fu end end |
Instance Method Details
#conditions ⇒ Object
21 22 23 |
# File 'lib/paranoid_fu/belongs_to_polymorphic_association.rb', line 21 def conditions @conditions ||= interpolate_sql(association_class.send(:sanitize_sql, @reflection.[:conditions])) if @reflection.[:conditions] end |
#find_target_with_paranoid_fu ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/paranoid_fu/belongs_to_polymorphic_association.rb', line 9 def find_target_with_paranoid_fu old_conditions = @reflection.[:conditions] if @reflection.[:without_deleted] # conditions method is not called if conditions isn't set in options hash @reflection.[:conditions] = association_class.merge_conditions(@reflection.[:conditions], association_class.without_deleted_conditions(association_class.table_name)) end find_target_without_paranoid_fu ensure # restore conditions in options hash @reflection.[:conditions] = old_conditions end |