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 2013/01/04 10:23:17 UTC

git commit: Core: Added constraints to JSON output (DTACLOUD-410)

Updated Branches:
  refs/heads/master 727c2e152 -> 129943ea0


Core: Added constraints to JSON output (DTACLOUD-410)


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/129943ea
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/129943ea
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/129943ea

Branch: refs/heads/master
Commit: 129943ea01a2bbfbb984f417b1ec30832d5847f8
Parents: 727c2e1
Author: Michal Fojtik <mf...@redhat.com>
Authored: Thu Jan 3 13:05:50 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Fri Jan 4 10:22:59 2013 +0100

----------------------------------------------------------------------
 server/lib/deltacloud/helpers/deltacloud_helper.rb |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/129943ea/server/lib/deltacloud/helpers/deltacloud_helper.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/helpers/deltacloud_helper.rb b/server/lib/deltacloud/helpers/deltacloud_helper.rb
index 1ae34d7..4575ae2 100644
--- a/server/lib/deltacloud/helpers/deltacloud_helper.rb
+++ b/server/lib/deltacloud/helpers/deltacloud_helper.rb
@@ -29,7 +29,7 @@ module Deltacloud::Helpers
             :href => self.send(:"#{c.collection_name}_url"),
             :features => c.features.select { |f| driver.class.has_feature?(c.collection_name, f.name) }.map { |f|
               f.operations.map { |o|
-                { :name => f.name, :rel => o.name, :params => o.params_array }
+                { :name => f.name, :rel => o.name, :params => o.params_array, :constraints => constraints_hash_for(c.collection_name, f.name) }
               }
             }
           }
@@ -39,6 +39,10 @@ module Deltacloud::Helpers
       JSON::dump(:api => r)
     end
 
+    def constraints_hash_for(collection_name, feature_name)
+      driver.class.constraints(:collection => collection_name, :feature => feature_name).inject({}) { |r, v| r[v[0]]=v[1];r }
+    end
+
     def request_headers
       env.inject({}){|acc, (k,v)| acc[$1.downcase] = v if k =~ /^http_(.*)/i; acc}
     end