diff --git a/lib/plugin/instance.rb b/lib/plugin/instance.rb index 60b2f1fef..f88dea295 100644 --- a/lib/plugin/instance.rb +++ b/lib/plugin/instance.rb @@ -10,7 +10,8 @@ class Plugin::Instance def self.find_all(parent_path) [].tap { |plugins| - Dir["#{parent_path}/**/plugin.rb"].each do |path| + # also follows symlinks - http://stackoverflow.com/q/357754 + Dir["#{parent_path}/**/*/**/plugin.rb"].each do |path| source = File.read(path) metadata = Plugin::Metadata.parse(source) plugins << self.new(metadata, path) diff --git a/spec/components/plugin/instance_spec.rb b/spec/components/plugin/instance_spec.rb index 7f543b990..5f2a11cc3 100644 --- a/spec/components/plugin/instance_spec.rb +++ b/spec/components/plugin/instance_spec.rb @@ -7,7 +7,7 @@ describe Plugin::Instance do it "can find plugins correctly" do plugins = Plugin::Instance.find_all("#{Rails.root}/spec/fixtures/plugins") plugins.count.should == 1 - plugin =plugins[0] + plugin = plugins[0] plugin.name.should == "plugin-name" plugin.path.should == "#{Rails.root}/spec/fixtures/plugins/my_plugin/plugin.rb"