Colocando plugins do rails dentro de plugins do Noosfero

Bráulio Bhavamitra brauliobhavamitra at gmail.com
Mon Apr 15 16:08:38 BRT 2013


A parte do código que fiz se refere a isto no texto:
*lib/*

This is the directory in which all of the plugin code is contained. Rails
adds this directory to the Ruby load path as well as the Rails
Dependencies load
path.

For example, assume you have a class, MyPlugin, in *lib/my_plugin.rb*.
Since it is in the Ruby load path, a simple require 'my_plugin' will find
it. But since Dependencies auto loads missing constants, you could also
load the file simply by referring to MyPlugin in your plugin.


2013/4/15 Bráulio Bhavamitra <brauliobhavamitra at gmail.com>

> Ok Rodrigo,
>
> Acabo de procurar e acho que deveria fazer usando o config.plugins_path
>
> http://www.oreillynet.com/pub/a/ruby/excerpts/ruby-advanced-rails/rails-plugins.html
>
> Vou fazer esta modificação no core e depois o merge request.
>
> abraços,
> bráulio
>
>
> 2013/4/15 Rodrigo Souto <rodrigo at colivre.coop.br>
>
>> Diga Bráulio,
>>
>> Isso que você está fazendo no plugin pode ser feito como procedimento
>> padrão para todos os plugins do Noosfero. Algo parecido já é feito para
>> incluir os controllers e libs dos plugins. Dê uma olhada no arquivo
>> lib/noosfero/plugin.rb no método init_system. Dessa forma, agente já
>> permite que todo plugin possa ter um sub-diretório /vendor/plugins e
>> os plugins usados pelo plugin já serem incluidos automaticamente.
>>
>> Bráulio Bhavamitra escreveu isso ai:
>> > Olá comunidade,
>> >
>> > Depois do rodrigo souto falar sobre o processo de pluginização das
>> buscas
>> > via solr, que envolve colocar o plugin rails acts_as_solr_reloaded
>> apenas
>> > neste plugin de buscas, eu e Hugo fomos tentar fazer este processo
>> dentro
>> > do plugin de coletivos de consumo (distribution).
>> >
>> > Precisamos colocar o plugin https://github.com/randym/axlsx dentro do
>> > distribution. Para isso, colocamos o código dele dentro da pasta
>> > plugins/distribution/vendor/plugins/axlsx e no arquivo
>> > plugins/distribution/lib/distribution_plugin.rb colocamos o seguinte
>> código:
>> > [ ActiveSupport::Dependencies.load_paths, $:].each do |path|
>> >   vendor = Dir.glob File.join(File.dirname(__FILE__),
>> > '/../vendor/plugins/*')
>> >   vendor.each do |plugin|
>> >     path << plugin + '/lib'
>> >   end
>> > end
>> >
>> > Este código faz com que os plugins do plugin distribution sejam
>> carregados
>> > e funcionem perfeitamente.
>> > Gostaria de saber do Rodrigo ou outra pessoa da comunidade como fizeram
>> > isto e se já há alguma padronização para tal.
>> >
>> > PS: plugins do noosfero deveriam chamar aplicativo ou outro nome sem
>> > conflito...
>> >
>> > abraços,
>> > bráulio
>>
>> > _______________________________________________
>> > Noosfero-br mailing list
>> > Noosfero-br at listas.softwarelivre.org
>> > http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-br
>>
>>
>> --
>> Rodrigo Souto <rodrigo at colivre.coop.br> :: 55 71 8131-7714
>> Colivre - Cooperativa de Tecnologias Livres
>> http://www.colivre.coop.br/
>>
>> _______________________________________________
>> Noosfero-br mailing list
>> Noosfero-br at listas.softwarelivre.org
>> http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-br
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-br/attachments/20130415/f644e8f1/attachment-0001.html>


More information about the Noosfero-br mailing list