Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
catch throw refactor
# OLD
def insert_uncategorized_category(uncategorized)
insert_at = nil
@categories.each_with_index do |c, idx|
if (uncategorized.topics_week || 0) > (c.topics_week || 0)
insert_at = idx
break
end
end
@categories.insert(insert_at || @categories.size, uncategorized)
end
# NEW
def insert_uncategorized_category(uncategorized)
insert_at = catch(:idx){
@categories.each_with_index do |c, idx|
throw(:idx, idx) if (uncategorized.topics_week || 0) > (c.topics_week || 0)
end
nil # <-- return nil if we get this far
}
@categories.insert(insert_at || @categories.size, uncategorized)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment