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)

Returns:
  • (Array) - Objects for which block returns true

Parameters:
  • results (Array) -- The collection to filter
def apply(results)
  results.select(&@block)
end

def initialize(&block)

Raises:
  • (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