That's one of the things I like about Ruby DSLs. Because the DSL is just Ruby, you can do things like:
[:foo, :bar].each do |attribute|
attr_reader attribute
end
You probably wouldn't want do actually do that with attr_reader, but it is just an example.