deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mfoj...@redhat.com
Subject [PATCH core 2/3] EC2: Minor improvements to EC2 frontned parser
Date Thu, 26 Jul 2012 14:20:33 GMT
From: Michal Fojtik <mfojtik@redhat.com>

* ActionHandler now advertise mappings using 'mappings' method
* deltacloud_method_params now survive repetetive calls

Signed-off-by: Michal fojtik <mfojtik@redhat.com>
---
 server/lib/ec2/query_parser.rb |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/server/lib/ec2/query_parser.rb b/server/lib/ec2/query_parser.rb
index 8050119..2098d24 100644
--- a/server/lib/ec2/query_parser.rb
+++ b/server/lib/ec2/query_parser.rb
@@ -31,6 +31,10 @@ module Deltacloud::EC2
       :terminate_instances => { :method => :destroy_instance, :params => { 'InstanceId.1'
=> :id }},
     }
 
+    def self.mappings
+      MAPPINGS
+    end
+
     attr_reader :action
 
     def initialize(action)
@@ -38,12 +42,13 @@ module Deltacloud::EC2
     end
 
     def deltacloud_method
-      MAPPINGS[action.action][:method]
+      self.class.mappings[action.action][:method]
     end
 
     def deltacloud_method_params
-      MAPPINGS[action.action][:params].inject({}) do |result, p|
-        result[p.last] = action.parameters.delete(p.first)
+      parameters = action.parameters.dup
+      self.class.mappings[action.action][:params].inject({}) do |result, p|
+        result[p.last] = parameters.delete(p.first)
         result.delete_if { |k,v| v.nil? }
       end
     end
@@ -137,7 +142,7 @@ module Deltacloud::EC2
     end
 
     def valid_actions
-      ActionHandler::MAPPINGS.keys
+      ActionHandler::mappings.keys
     end
 
     def valid_action?
-- 
1.7.10.2


Mime
View raw message