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\.]+$)/