=begin
esta é uma solução que tenho implementada no PHP.
a configuração é feita no construtor,
pois o PHP não suporta código a nível de classe como o Ruby.
Como posso converter o comportamento abaixo para nivel de classe,
onde eu posso configurar direto na classe, sem utilizar o construtor?
=end
class CrudController
attr_reader :acoes
def initialize
@acoes = [:view, :edit, :destroy]
end
end
class BlogController < CrudController
def initialize
super
@acoes << :posts
end
end
crud = CrudController.new
blog = BlogController.new
puts crud.acoes.inspect # [:view, :edit, :destroy]
puts blog.acoes.inspect # [:view, :edit, :destroy, :blog]
# e estaticamente tambem
puts CrudController.acoes.inspect # [:view, :edit, :destroy]
puts BlogController.acoes.inspect # [:view, :edit, :destroy, :blog]