Module: Kakurenbo::MixinARAssociations::Association
- Defined in:
- lib/kakurenbo/mixin_ar_associations.rb
Class Method Summary collapse
-
.included(base_class) ⇒ Object
Extend ClassMethods after include.
Instance Method Summary collapse
-
#scope_with_deleted ⇒ Object
Load deleted model, if owner is deleted.
Class Method Details
.included(base_class) ⇒ Object
Extend ClassMethods after include.
5 6 7 |
# File 'lib/kakurenbo/mixin_ar_associations.rb', line 5 def self.included(base_class) base_class.class_eval { alias_method_chain :scope, :deleted } end |
Instance Method Details
#scope_with_deleted ⇒ Object
Load deleted model, if owner is deleted.
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/kakurenbo/mixin_ar_associations.rb', line 10 def scope_with_deleted if @owner.paranoid? and @owner.destroyed? and klass.paranoid? col = klass.arel_table[klass.kakurenbo_column] owner_deleted_at = @owner.send(@owner.class.kakurenbo_column) condition = col.eq(nil).or(col.gteq(owner_deleted_at)) scope_without_deleted.with_deleted.where(condition) else scope_without_deleted end end |