diff --git a/core/mui/cairo_sub_parts_quote.rb b/core/mui/cairo_sub_parts_quote.rb index 66d59c9..22efbb3 100644 --- a/core/mui/cairo_sub_parts_quote.rb +++ b/core/mui/cairo_sub_parts_quote.rb @@ -30,15 +30,19 @@ class Gdk::SubPartsQuote < Gdk::SubPartsMessageBase note.reference&.uri || note.uri }.select{ |u| u.is_a?(Diva::URI) - }.map{ |target_uri| - model_class = Enumerator.new{ |y| + }.flat_map{ |target_uri| + model_classes = Enumerator.new{ |y| Plugin.filtering(:model_of_uri, target_uri, y) - }.lazy.map{ |model_slug| + }.map{ |model_slug| Diva::Model(model_slug) - }.find{ |mc| + }.select{ |mc| mc.spec.timeline } - Delayer.Deferred.new{ model_class.find_by_uri(target_uri) } if model_class + if model_classes + model_classes.map {|model_class| + Delayer.Deferred.new{ model_class.find_by_uri(target_uri) } + } + end }.compact if !promise_list.empty? Delayer::Deferred.when(promise_list).next{ |quoting|