diff options
Diffstat (limited to 'railties/lib/rails/generators.rb')
-rw-r--r-- | railties/lib/rails/generators.rb | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/railties/lib/rails/generators.rb b/railties/lib/rails/generators.rb index cd277c5097..3965e05823 100644 --- a/railties/lib/rails/generators.rb +++ b/railties/lib/rails/generators.rb @@ -46,6 +46,7 @@ module Rails :assets => true, :force_plural => false, :helper => true, + :http => false, :integration_tool => nil, :javascripts => true, :javascript_engine => :js, @@ -61,6 +62,7 @@ module Rails } def self.configure!(config) #:nodoc: + http_only! if config.http_only? no_color! unless config.colorize_logging aliases.deep_merge! config.aliases options.deep_merge! config.options @@ -104,6 +106,25 @@ module Rails Thor::Base.shell = Thor::Shell::Basic end + # Configure generators for http only applications. It basically hides + # everything that is usually browser related, such as assets and session + # migration generators, and completely disable views, helpers and assets + # so generators such as scaffold won't create them. + def self.http_only! + hide_namespaces "assets", "css", "js", "session_migration" + + options[:rails].merge!( + :assets => false, + :helper => false, + :http => true, + :javascripts => false, + :javascript_engine => nil, + :stylesheets => false, + :stylesheet_engine => nil, + :template_engine => nil + ) + end + # Track all generators subclasses. def self.subclasses @subclasses ||= [] @@ -235,7 +256,7 @@ module Rails rails.delete("plugin_new") print_list("rails", rails) - hidden_namespaces.each {|n| groups.delete(n.to_s) } + hidden_namespaces.each { |n| groups.delete(n.to_s) } groups.sort.each { |b, n| print_list(b, n) } end |