I read a few documents on these arguments, but I did not understand clearly what they are, what are the differences between them and if one of them fits my needs.
I need to write a piece of application which can be plugged in other application and I want to include it in other applications as a gem. Essentially I need a couple of models, one controller and no views, plus some initialization, support for configuration parameters coming from the hosting app and a generator.
Am I on the right way?
What should I read to understand how to do that?
Update:
A very nice article with a lot af details can be found here.
Essentially:
Railtie is the core of the Rails Framework and provides several hooks to extend Rails and/or modify the initialization process.
A Rails::Engine is nothing more than a Railtie with some initializers already set. And since Rails::Application and Rails::Plugin are engines, the same configuration described here can be used in all three.