File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed
Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -111,6 +111,7 @@ def include_errors!(model, **mapping)
111111end
112112
113113require 'active_interaction/extras/filters/anything_filter'
114+ require 'active_interaction/extras/filters/ar_relation_filter'
114115require 'active_interaction/extras/filters/uuid_filter'
115116
116117I18n . load_path . unshift (
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ class ActiveInteraction ::Extras ::Filters ::ArRelationFilter < ActiveInteraction ::ObjectFilter
4+ register :ar_relation
5+
6+ def initialize ( ...)
7+ super
8+ @options . reverse_merge! ( class : ActiveRecord ::Relation )
9+ end
10+
11+ def matches? ( value )
12+ # value == nil triggers active record loading
13+ if value . nil? && default?
14+ # as per v5 there is no way to know if value of `nil` is given by caller or
15+ # is a default value when it's missing. We want to maintain standard default
16+ # behaviour when value is `nil`. Returning `false` will trigger default value
17+ false
18+ else
19+ true
20+ end
21+ end
22+ end
You can’t perform that action at this time.
0 commit comments