I'm not that lazy for avoiding to type "--full -T -O" every time I
create a new gem.
By the way I don't get why 's.add_development_dependency "sqlite3"' is
added to gemspec when -O is specified.
The problem here is that it seems inconsistent to me for a plugin not to
be an Engine. I don't even understand why we have so many concepts for
extending Rails, like plugins, Railtie and Engine.
I guess it would be better to provide a single approach for extending
Rails 4.
In Rails 1, you could get an app-like tree in your plugin and they would
be automatically added to the Rails application. It still seems to be
the case for generators, for example:
http://guides.rubyonrails.org/plugins.html
But then, things changed a lot and what Rails 1 used to call a plugin
seems to be what an Engine currently is:
http://guides.rubyonrails.org/engines.html
Except that the Engine API is better designed than plugins were by that
time.
But it doesn't seem consistent to me that you can just drop generators
to lib/generators in your plugins, but can't drop your assets in lib/assets.
So, I guess that what I'd really want is to always create engines and
call them plugins.
I can't really understand why you consider useful to have plugins,
engines and railties as separate concepts.
Best,
Rodrigo.
Em 05-06-2012 13:48, Luiz Felipe Garcia Pereira escreveu:
It's a "rails plugin new" not "rails engine new".
It doesn't create a default Engine because not all plugins are engines.
If it's an engine and not just a plugin/railtie you would normally
want the "--full" option.
If not, just create it. It's only 4 lines of code.
On Tue, Jun 5, 2012 at 1:25 PM, Rodrigo Rosenfeld Rosas
<[email protected] <mailto:[email protected]>> wrote:
But my engines usually don't have any routes and even those who
have are not mountable ones.
I'm just asking for an engine to be created even for non-mountable
engines. I mean, as the default behavior of "rails plugin new
plugin-name".
The "--full" will add integration tests which I also don't usually
include in my gems.
Usually I want to bundle some JS libraries as Rails gems for
easier reuse among my projects.
Basically, I'd like "rails plugin new plugin-name" to be
equivalent of "rails plugin new plugin-name --full -T".
Does it make sense?
Cheers,
Rodrigo.
Em 05-06-2012 13:17, Luís Ferreira escreveu:
Yes. Just do "rails new plugin some_example --mountable".
You should also take a look at --full. ;)
On Jun 5, 2012, at 2:55 PM, Rodrigo Rosenfeld Rosas wrote:
What version are you talking about? That doesn't happen on
latest stable 3.2.5 here.
If that is already implemented in master, then great, I
hope it to be backported to 3.2.6 when it gets released...
Thanks,
Rodrigo.
Em 05-06-2012 10:22, Luís Ferreira escreveu:
It creates the lib/some-example/engine.rb file which
is just as you described and then requires it in
lib/some-example.rb. Shouldn't that be enough?
On Jun 5, 2012, at 2:10 PM, Rodrigo Rosenfeld Rosas wrote:
I've been creating several engines for Rails
lately and I found that having an engine class
inherited from Rails::Engine is required if you
intend to bundle some Sprockets assets.
So, shouldn't the template for "rails plugin new"
change so that "rails plugin new some-example"
would create something like:
lib/some-example.rb:
module SomeExample
class Engine< Rails::Engine
end
end
instead of an empty SomeExample module?
Maybe the "plugin new" could add some option like
'--skip-engine' or disable it automatically if
"--skip-sprockets" is used.
Make sense?
Kind regards,
Rodrigo.
Cumprimentos, Luís Ferreira
--
You received this message because you are subscribed to the Google Groups "Ruby on
Rails: Core" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en.