class SnippetFinder

def find(id)

def find(id)
  find_map('find', id)
end

def find_by_name(name)

def find_by_name(name)
  find_map('find_by_name', name)
end

def find_map(meth, *args)

def find_map(meth, *args)
  finder_types.find do |type|
    found = type.send(meth, *args)
    return found if found
  end
end

def finder_types

def finder_types
  [Snippet]
end