How to create a plugin


#1

Hi all,

I would like to create a ‘piece’ of application, a poll system, and want
to make it as a plugin.

I found many information about plugins, most about mixin and extending
core, but not so much for making plugin with controllers and views.

First, Do I think the wrong way with plugin ?

Then I found the following on techno weenie:

for your model :

models_path = File.join(directory, 'app', 'models')
$LOAD_PATH << models_path
Dependencies.load_paths << models_path

for the controllers it’s quite the same:

controller_path = File.join(directory, 'app', 'controllers')
$LOAD_PATH << controller_path
Dependencies.load_paths << controller_path
config.controller_paths << controller_path

And finally to include views, you should integrate in your controller:

self.template_root = File.join(File.dirname(__FILE__), '..',

‘views’)

Is it a good practise ? Is it the good way to share a piece of
application?

And other questions come to my mind:

* How standardize the way of communicate between application and

plugin ?
* In the same topic, I have 2 parts in the plugin, one for admin and
one for front user, How should I do to easily provide a plugin knowing
every application have a different way to authorize or authenticate
users?

Please feel free to share any knowledge on these subjects :slight_smile:


Stephane
http://www.rubynaut.net


#2

Here is a nice tutorial demonstrating how to create a plugin.

http://wiki.rubyonrails.com/rails/pages/HowToWriteAnActsAsChickenPlugin
Please refer this,…

Regards,
Jazzzzzzzzzzzzzy…


#3

Thanks for the link. I have found a lot information about how to create
plugin to extend activerecord but for this plugin I need to provide also
controllers and views :wink:


#4

So much answers, maybe I m on the wrong way :stuck_out_tongue:


#5

Have a look here… http://rails-engines.org/

Wes Ratcliff

On Apr 13, 5:19 pm, “Stephane B.” removed_email_address@domain.invalid


#6

Thanks, finally, I think there are 2 solutions:

  • rails-engines
  • appable plugin

Wes wrote:

Have a look here… http://rails-engines.org/

Wes Ratcliff