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 2012/01/24 15:42:34 UTC

svn commit: r1235275 - in /deltacloud/trunk/client/lib: deltacloud.rb string.rb

Author: mfojtik
Date: Tue Jan 24 14:42:34 2012
New Revision: 1235275

URL: http://svn.apache.org/viewvc?rev=1235275&view=rev
Log:
Client: Added object_ids method which return an Array with collection members ids (instance_ids, realm_ids, etc.)

Signed-off-by: Michal fojtik <mf...@redhat.com>

Modified:
    deltacloud/trunk/client/lib/deltacloud.rb
    deltacloud/trunk/client/lib/string.rb

Modified: deltacloud/trunk/client/lib/deltacloud.rb
URL: http://svn.apache.org/viewvc/deltacloud/trunk/client/lib/deltacloud.rb?rev=1235275&r1=1235274&r2=1235275&view=diff
==============================================================================
--- deltacloud/trunk/client/lib/deltacloud.rb (original)
+++ deltacloud/trunk/client/lib/deltacloud.rb Tue Jan 24 14:42:34 2012
@@ -280,7 +280,10 @@ module DeltaCloud
     # Generate create_* methods dynamically
     #
     def method_missing(name, *args)
-      if name.to_s =~ /create_(\w+)/
+      if name.to_s =~ /^([\w_]+)_ids$/
+        return self.send(:"#{$1.pluralize}").map { |o| o.id }
+      end
+      if name.to_s =~ /^create_(\w+)/
         params = args[0] if args[0] and args[0].class.eql?(Hash)
         params ||= args[1] if args[1] and args[1].class.eql?(Hash)
         params ||= {}

Modified: deltacloud/trunk/client/lib/string.rb
URL: http://svn.apache.org/viewvc/deltacloud/trunk/client/lib/string.rb?rev=1235275&r1=1235274&r2=1235275&view=diff
==============================================================================
--- deltacloud/trunk/client/lib/string.rb (original)
+++ deltacloud/trunk/client/lib/string.rb Tue Jan 24 14:42:34 2012
@@ -36,6 +36,15 @@ class String
     end
   end
 
+  unless method_defined?(:pluralize)
+    def pluralize
+      return self + 'es' if self =~ /ess$/
+      return self[0, self.length-1] + "ies" if self =~ /ty$/
+      return self if self =~ /data$/
+      self + "s"
+    end
+  end
+
   # Convert string to float if string value seems like Float
   def convert
     return self.to_f if self.strip =~ /^([\d\.]+$)/