Forum: Ruby on Rails An HMVC module to specialize controllers and views

37c2f84d786ea8802dc641311820b503?d=identicon&s=25 Bráulio Bhavamitra (Guest)
on 2014-06-01 20:14
(Received via mailing list)
Hello all,

At EITA, we use Noosfero social-economic with multiple *plugins* (think
of
engines), each one with its models, controllers and views.

These plugins may interact with other, even overwriting the behaviour of
another plugin. That is where HMVC enters. The stating point for that in
Controller Inheritance. By making one plugin's controller inherit
another
plugin's controller, you mean you want to *reuse/overwrite* its
*actions*
and *partials/templates*, and *replace URLs* to use the more specific
controller.

It is something like the STI in models.

I have made a simple module,
https://github.com/CIRANDAS/noosfero-ecosol/blob/m...,
with which you may call on the controller:
  hmvc PluginClass

The PluginClass respond to a controllers method to know which
controllers
are defined on this hmvc context. Then it create a hash of controllers
paths, based on controllers' classes inheritance. With this,
*partials/templates* will look up on the entire inheritance tree and
*URLs *are
replaced to use the most specific controller available on the
inheritance
tree.

This HMVC model is not a multi-app model with each app sending requests
to
one another. It is in-app HMVC.

Also, something similar was done to I18n, allowing translations
overwrite,
depending on context.

*I would like to make this a gem (maybe rails-hmvc), so anyone
interested
in colaborate please contact me.*

cheers,
bráulio

--
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação
da
Mente Macrocósmica, e todas as entidades estão sendo criadas,
preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando.
Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por
isso
a propriedade deste universo é de Brahma, e não dos microcosmos que
também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste
mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-...
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.