Skip to content
Browse files

[core] fix mock reset to work with new namespaces

closes #370
  • Loading branch information...
1 parent 8a53fd3 commit c3f91950f9bc3eb9f6e8f2706c42257b21476163 @geemus geemus committed Jun 21, 2011
Showing with 16 additions and 9 deletions.
  1. +16 −9 lib/fog/core/mock.rb
View
25 lib/fog/core/mock.rb
@@ -64,15 +64,22 @@ def self.random_selection(characters, length)
end
def self.reset
- providers = Fog.providers.map {|p| Fog.const_get(p) }
- possible_service_constants = providers.map {|p| p.constants.map {|c| p.const_get(c) } }.flatten
- # c.to_sym is 1.8.7 / 1.9.2 compat
- services = possible_service_constants.select {|s| s.constants.map {|c| c.to_sym }.include?(:Mock) }
- service_mocks = services.map {|s| s.const_get(:Mock) }
-
- service_mocks.each do |service_mock|
- next unless service_mock.respond_to?(:reset)
- service_mock.reset
+ mocked_services = []
+ Fog.constants.map do |x|
+ x_const = Fog.const_get(x)
+ x_const.respond_to?(:constants) && x_const.constants.map do |y|
+ y_const = x_const.const_get(y)
+ y_const.respond_to?(:constants) && y_const.constants.map do |z|
+ if z.to_sym == :Mock
+ mocked_services << y_const.const_get(z)
+ end
+ end
+ end
+ end
+
+ for mocked_service in mocked_services
+ next unless mocked_service.respond_to?(:reset)
+ mocked_service.reset
end
end

0 comments on commit c3f9195

Please sign in to comment.
Something went wrong with that request. Please try again.