[PATCH conductor 19/21] Improve ProviderSelection::Base#chain_strategy to use cached classes

ifarkas at redhat.com ifarkas at redhat.com
Thu Jul 26 07:14:59 UTC 2012


From: Imre Farkas <ifarkas at redhat.com>

---
 src/lib/provider_selection/base.rb |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/provider_selection/base.rb b/src/lib/provider_selection/base.rb
index d2525fb..bf1e320 100644
--- a/src/lib/provider_selection/base.rb
+++ b/src/lib/provider_selection/base.rb
@@ -16,7 +16,7 @@ module ProviderSelection
       end
 
       def find_strategy_by_name(name)
-        @strategies.detect{ |strategy| strategy.name == name }
+        @strategies.detect{ |strategy| strategy.name == name.to_s }
       end
 
       def add_view_path(view_path)
@@ -60,7 +60,8 @@ module ProviderSelection
     end
 
     def chain_strategy(name, options = {})
-      @strategy_chain = "provider_selection/strategies/#{name.to_s}".classify.constantize.new(@strategy_chain, options)
+      @strategy = self.class.find_strategy_by_name(name)
+      @strategy_chain = @strategy.klass.new(@strategy_chain, options)
     end
 
     private
-- 
1.7.10.4




More information about the aeolus-devel mailing list