From 6c80d77e50aefc08e6ca6f289f4ff9a60514bcbe Mon Sep 17 00:00:00 2001 From: Stephen Paul Suarez Date: Mon, 13 Jan 2014 16:02:54 +0800 Subject: [PATCH] support all_tenants --- .../openstack/volume/v1/public/list_volumes.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/aviator/openstack/volume/v1/public/list_volumes.rb b/lib/aviator/openstack/volume/v1/public/list_volumes.rb index 069ff50..63e6eb5 100644 --- a/lib/aviator/openstack/volume/v1/public/list_volumes.rb +++ b/lib/aviator/openstack/volume/v1/public/list_volumes.rb @@ -7,6 +7,7 @@ module Aviator link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple_v1__tenant_id__volumes_v1__tenant_id__volumes.html' + param :all_tenants, required: false param :details, required: false param :status, required: false param :availability_zone, required: false @@ -29,7 +30,17 @@ module Aviator def url str = "#{ base_url }/volumes" str += "/detail" if params[:details] - str += params_to_querystring(optional_params + required_params - [:details]) + + filters = [] + + (optional_params + required_params - [:details]).each do |param_name| + value = param_name == :all_tenants && params[param_name] ? 1 : params[param_name] + filters << "#{ param_name }=#{ value }" if value + end + + str += "?#{ filters.join('&') }" unless filters.empty? + + str end end