ravello-sdk 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ravello-sdk.rb +21 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8a0e3fca67a534a87c88d788893a19010bb7d943
4
- data.tar.gz: 1d3af88858452d9b64380a7be31ec77e72000fed
3
+ metadata.gz: f3d72ea5334dd2ba10caf01e4aaeb8fd30693346
4
+ data.tar.gz: e3b31cad6cdd22c58cd7f78b66a5569d0c540a18
5
5
  SHA512:
6
- metadata.gz: 5d40f979fe440eeaf9875c4bf109de76c11be8fa96a5bfe7d2d9d77e1480b0a3c146b01a551ac7fc49803476904712b04aef8f0d4950c48eea51ec5f9a8b79d5
7
- data.tar.gz: 74331233fbfa7d3863c6029a461e992ee7a3924f0a47b29b8269745f52e2d5f7b202cec65881ee413ece5ee84d12b82a7cf86cba5b136ebaf67e9617d0441367
6
+ metadata.gz: 772fefa5fb18e7c6b1e8a62e4c7930cf5f21cb554bf6574117fc7501278a8cfe0b3a2a1009343a8fea083b7dc4b0ee5e51a95bddcdbde7f66f596d9bb07c5beb
7
+ data.tar.gz: e62c6aff0bfcc953fcdf58f6cb1d5a5f27f3e87973c7bf9d07da7061ad828ed7b7930bf925333db39c9db3860b3e9686a23979760d6ba513d527cc7939e38d0c
@@ -1,4 +1,5 @@
1
1
  require "uri"
2
+ require "set"
2
3
  require "json"
3
4
  require "logger"
4
5
  require "base64"
@@ -76,7 +77,27 @@ module Ravello
76
77
  if states.length == 1 then states[0] else states end
77
78
  end
78
79
 
80
+ # Return a new unique name for an object.
81
+ # @param prefix [String] The name prefix
82
+ # @params existing [Array<String>, Array<Hash>] An list of existing names
83
+ # @return [String] A new name that is different from all existing names
84
+ def new_name(existing, prefix)
85
+ names = Set.new
86
+ existing.each do |name|
87
+ if name.is_a? Hash
88
+ names << name['name']
89
+ else
90
+ names << name
91
+ end
92
+ end
93
+ for i in 1..names.length+1 do
94
+ name = "#{prefix}#{i}"
95
+ return name if !names.include? name
96
+ end
97
+ end
98
+
79
99
  module_function :deep_copy, :random_luid, :update_luids, :update_luids!
100
+ module_function :new_name
80
101
 
81
102
  # A client for the Ravello API. The client is a thin layer on top of the
82
103
  # RESTful API. The client manages a single HTTPS connection, and implements
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ravello-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geert Jansen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-10 00:00:00.000000000 Z
11
+ date: 2013-12-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: geert.jansen@ravellosystems.com