moduleDeclarativePolicy# Used when the name of a delegate is mentioned in# the rule DSL.classDelegateDsldefinitialize(rule_dsl,delegate_name)@rule_dsl=rule_dsl@delegate_name=delegate_nameenddefmethod_missing(m,*a,&b)returnsuperunlessa.empty?&&!block_given?@rule_dsl.delegate(@delegate_name,m)endendend