class Rails::Plugin


root during the boot process.
Rails::Plugin is that plugins automatically load the file “init.rb” at the plugin
Besides this conceptual difference, the only difference between Rails::Engine and
be used as plugin and vice-versa.
to be loaded twice. This means that if you want to ship an Engine as gem it cannot
declare a Rails::Engine inside your Plugin, otherwise it would cause the same files
placing inside vendor/plugins. Since this is done automatically, you actually cannot
Rails::Plugin. Rails::Plugin is automatically configured to be an engine by simply
Opposite to Rails::Railtie and Rails::Engine, you are not supposed to inherit from
Rails::Engine.
in the boot process, it does not have the same configuration powers as a bare
Rails::Plugin is nothing more than a Rails::Engine, but since it’s loaded too late

def self.all(list, paths)

def self.all(list, paths)
  plugins = []
  paths.each do |path|
    Dir["#{path}/*"].each do |plugin_path|
      plugin = new(plugin_path)
      next unless list.include?(plugin.name) || list.include?(:all)
      if global_plugins.include?(plugin.name)
        warn "WARNING: plugin #{plugin.name} from #{path} was not loaded. Plugin with the same name has been already loaded."
        next
      end
      global_plugins << plugin.name
      plugins << plugin
    end
  end
  plugins.sort_by do |p|
    [list.index(p.name) || list.index(:all), p.name.to_s]
  end
end

def self.global_plugins

def self.global_plugins
  @global_plugins ||= []
end

def self.inherited(base)

def self.inherited(base)
  raise "You cannot inherit from Rails::Plugin"
end

def config

def config
  @config ||= Engine::Configuration.new
end

def initialize(root)

def initialize(root)
  ActiveSupport::Deprecation.warn "You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released"
  @name = File.basename(root).to_sym
  config.root = root
end

def railtie_name

def railtie_name
  name.to_s
end