Method: Rails::Generators::Base.inherited

Defined in:
railties/lib/rails/generators/base.rb

.inherited(base) ⇒ Object

Cache source root and add lib/generators/base/generator/templates to source paths.



242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
# File 'railties/lib/rails/generators/base.rb', line 242

def self.inherited(base) # :nodoc:
  super

  # Invoke source_root so the default_source_root is set.
  base.source_root

  if base.name && !base.name.end_with?("Base")
    Rails::Generators.subclasses << base

    Rails::Generators.templates_path.each do |path|
      if base.name.include?("::")
        base.source_paths << File.join(path, base.base_name, base.generator_name)
      else
        base.source_paths << File.join(path, base.generator_name)
      end
    end
  end
end