Yes, you can write:
cats.each { |cat| cat.name }
Or simply:
cats.each(&:name)
Note that Enumerable#each returns the same object you are iterating over (here cats), so you should only use it if you are performing some kind of side-effect within the block. Most likely, you wanted to get the cat names, in that case use Enumerable#map instead:
cat_names = cats.map(&:name)