You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2010/11/05 12:08:17 UTC
svn commit: r1031512 -
/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb
Author: mfojtik
Date: Fri Nov 5 11:08:17 2010
New Revision: 1031512
URL: http://svn.apache.org/viewvc?rev=1031512&view=rev
Log:
Fix Mock driver speed in case you have a lot of YAML files
Modified:
incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb?rev=1031512&r1=1031511&r2=1031512&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/mock/mock_driver.rb Fri Nov 5 11:08:17 2010
@@ -130,12 +130,23 @@ class MockDriver < Deltacloud::BaseDrive
#
# Instances
#
+ require 'ruby-prof'
+
+ def instance(credentials, opts={})
+ check_credentials( credentials )
+ instance_filename = File.join(@storage_root, 'instances', "#{opts[:id]}.yml")
+ return nil unless File.exists?(instance_filename)
+ instance = YAML::load_file(instance_filename)
+ instance[:actions] = instance_actions_for( instance[:state] )
+ instance[:id] = File::basename(instance_filename, ".yml")
+ Instance.new(instance)
+ end
def instances(credentials, opts=nil)
check_credentials( credentials )
instances = []
Dir[ "#{@storage_root}/instances/*.yml" ].each do |instance_file|
- instance = YAML.load( File.read( instance_file ) )
+ instance = YAML::load_file(instance_file)
if ( instance[:owner_id] == credentials.user )
instance[:id] = File.basename( instance_file, ".yml" )
instance[:actions] = instance_actions_for( instance[:state] )