module Guard

def run_on_guards(scopes = {})

Other tags:
    Yield: - the task to run

Parameters:
  • scopes (Hash) -- an hash with a guard or a group scope
def run_on_guards(scopes = {})
  if scope_guard = scopes[:guard]
    yield(scope_guard)
  else
    groups = scopes[:group] ? [scopes[:group]] : @groups
    groups.each do |group|
      catch :task_has_failed do
        guards(:group => group.name).each do |guard|
          yield(guard)
        end
      end
    end
  end
end