class Lutaml::UmlRepository::QueryDSL::Conditions::BlockCondition
filtered = condition.apply(classes)
end
c.attributes.any? && c.associations.empty?
condition = BlockCondition.new do |c|
@example Complex filtering
filtered = condition.apply(classes)
condition = BlockCondition.new { |c| c.attributes.size > 10 }
@example Filter by attribute count
The block receives each object and should return true/false.
Allows arbitrary filtering logic to be specified using a Ruby block.
Block-based condition for custom filtering logic
def apply(results)
-
(Array)- Objects for which block returns true
Parameters:
-
results(Array) -- The collection to filter
def apply(results) results.select(&@block) end
def initialize(&block)
-
(ArgumentError)- if no block provided
Parameters:
-
block(Proc) -- The block to use for filtering
def initialize(&block) super() raise ArgumentError, "Block required" unless block @block = block end