fog 0.3.26 → 0.3.27
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +4 -1
- data/fog.gemspec +3 -2
- data/lib/fog.rb +2 -1
- data/lib/fog/aws/cdn.rb +1 -0
- data/lib/fog/aws/compute.rb +1 -1
- data/lib/fog/aws/elb.rb +1 -0
- data/lib/fog/aws/iam.rb +1 -0
- data/lib/fog/aws/models/compute/image.rb +1 -1
- data/lib/fog/aws/models/compute/images.rb +2 -2
- data/lib/fog/aws/models/compute/server.rb +13 -3
- data/lib/fog/aws/models/compute/servers.rb +13 -1
- data/lib/fog/aws/requests/storage/get_bucket.rb +7 -6
- data/lib/fog/aws/simpledb.rb +2 -1
- data/lib/fog/aws/storage.rb +3 -1
- data/lib/fog/bluebox/compute.rb +1 -0
- data/lib/fog/brightbox/compute.rb +1 -0
- data/lib/fog/core/attributes.rb +1 -0
- data/lib/fog/core/credentials.rb +1 -2
- data/lib/fog/core/service.rb +5 -33
- data/lib/fog/core/ssh.rb +1 -2
- data/lib/fog/go_grid/compute.rb +2 -2
- data/lib/fog/google/storage.rb +2 -0
- data/lib/fog/linode/compute.rb +1 -0
- data/lib/fog/new_servers/compute.rb +2 -2
- data/lib/fog/rackspace.rb +7 -1
- data/lib/fog/rackspace/cdn.rb +3 -0
- data/lib/fog/rackspace/compute.rb +3 -0
- data/lib/fog/rackspace/storage.rb +3 -0
- data/lib/fog/slicehost/compute.rb +1 -0
- data/lib/fog/terremark/ecloud.rb +3 -1
- data/lib/fog/vcloud.rb +2 -1
- data/tests/helper.rb +16 -19
- metadata +28 -14
data/Gemfile.lock
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fog (0.3.
|
4
|
+
fog (0.3.27)
|
5
5
|
builder
|
6
6
|
excon (>= 0.2.8)
|
7
7
|
formatador (>= 0.0.16)
|
8
8
|
json
|
9
9
|
mime-types
|
10
|
+
named-parameters (>= 0.0.14)
|
10
11
|
net-ssh (>= 2.0.23)
|
11
12
|
nokogiri (>= 1.4.4)
|
12
13
|
ruby-hmac
|
@@ -21,6 +22,7 @@ GEM
|
|
21
22
|
formatador (>= 0.0.12)
|
22
23
|
json (1.4.6)
|
23
24
|
mime-types (1.16)
|
25
|
+
named-parameters (0.0.14)
|
24
26
|
net-ssh (2.0.23)
|
25
27
|
nokogiri (1.4.4)
|
26
28
|
rake (0.8.7)
|
@@ -40,6 +42,7 @@ DEPENDENCIES
|
|
40
42
|
formatador (>= 0.0.16)
|
41
43
|
json
|
42
44
|
mime-types
|
45
|
+
named-parameters (>= 0.0.14)
|
43
46
|
net-ssh (>= 2.0.23)
|
44
47
|
nokogiri (>= 1.4.4)
|
45
48
|
rake
|
data/fog.gemspec
CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |s|
|
|
7
7
|
## If your rubyforge_project name is different, then edit it and comment out
|
8
8
|
## the sub! line in the Rakefile
|
9
9
|
s.name = 'fog'
|
10
|
-
s.version = '0.3.
|
11
|
-
s.date = '2010-12-
|
10
|
+
s.version = '0.3.27'
|
11
|
+
s.date = '2010-12-04'
|
12
12
|
s.rubyforge_project = 'fog'
|
13
13
|
|
14
14
|
## Make sure your summary is short. The description may be as long
|
@@ -47,6 +47,7 @@ Gem::Specification.new do |s|
|
|
47
47
|
s.add_dependency('formatador', '>=0.0.16')
|
48
48
|
s.add_dependency('json')
|
49
49
|
s.add_dependency('mime-types')
|
50
|
+
s.add_dependency('named-parameters', '>=0.0.14')
|
50
51
|
s.add_dependency('net-ssh', '>=2.0.23')
|
51
52
|
s.add_dependency('nokogiri', '>=1.4.4')
|
52
53
|
s.add_dependency('ruby-hmac')
|
data/lib/fog.rb
CHANGED
@@ -3,6 +3,7 @@ require 'base64'
|
|
3
3
|
require 'cgi'
|
4
4
|
require 'excon'
|
5
5
|
require 'formatador'
|
6
|
+
require 'named-parameters'
|
6
7
|
require 'time'
|
7
8
|
|
8
9
|
__DIR__ = File.dirname(__FILE__)
|
@@ -18,7 +19,7 @@ module Fog
|
|
18
19
|
@mocking = false
|
19
20
|
|
20
21
|
unless const_defined?(:VERSION)
|
21
|
-
VERSION = '0.3.
|
22
|
+
VERSION = '0.3.27'
|
22
23
|
end
|
23
24
|
|
24
25
|
module Mock
|
data/lib/fog/aws/cdn.rb
CHANGED
data/lib/fog/aws/compute.rb
CHANGED
@@ -2,7 +2,7 @@ module Fog
|
|
2
2
|
module AWS
|
3
3
|
class Compute < Fog::Service
|
4
4
|
|
5
|
-
requires
|
5
|
+
requires :aws_access_key_id, :aws_secret_access_key
|
6
6
|
recognizes :endpoint, :region, :host, :path, :port, :scheme, :persistent
|
7
7
|
|
8
8
|
model_path 'fog/aws/models/compute'
|
data/lib/fog/aws/elb.rb
CHANGED
data/lib/fog/aws/iam.rb
CHANGED
@@ -27,7 +27,7 @@ module Fog
|
|
27
27
|
connection.deregister_image(id)
|
28
28
|
|
29
29
|
if(delete_snapshot && root_device_type == "ebs")
|
30
|
-
block_device = block_device_mapping.
|
30
|
+
block_device = block_device_mapping.detect {|block_device| block_device['deviceName'] == root_device_name}
|
31
31
|
@connection.snapshots.new(:id => block_device['snapshotId']).destroy
|
32
32
|
else
|
33
33
|
true
|
@@ -84,7 +84,7 @@ module Fog
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def key_pair=(new_keypair)
|
87
|
-
key_name = new_keypair && new_keypair.name
|
87
|
+
self.key_name = new_keypair && new_keypair.name
|
88
88
|
end
|
89
89
|
|
90
90
|
def private_key_path
|
@@ -151,7 +151,8 @@ module Fog
|
|
151
151
|
|
152
152
|
def setup(credentials = {})
|
153
153
|
requires :identity, :ip_address, :username
|
154
|
-
|
154
|
+
require 'json'
|
155
|
+
|
155
156
|
commands = [
|
156
157
|
%{mkdir .ssh},
|
157
158
|
%{passwd -l root},
|
@@ -160,7 +161,16 @@ module Fog
|
|
160
161
|
if public_key
|
161
162
|
commands << %{echo "#{public_key}" >> ~/.ssh/authorized_keys}
|
162
163
|
end
|
163
|
-
|
164
|
+
# allow some retries over the first 120 seconds because aws is weird
|
165
|
+
Timeout::timeout(120) do
|
166
|
+
begin
|
167
|
+
Timeout::timeout(4) do
|
168
|
+
Fog::SSH.new(ip_address, username, credentials).run(commands)
|
169
|
+
end
|
170
|
+
rescue Net::SSH::AuthenticationFailed, Timeout::Error
|
171
|
+
retry
|
172
|
+
end
|
173
|
+
end
|
164
174
|
rescue Errno::ECONNREFUSED => e
|
165
175
|
sleep(1)
|
166
176
|
retry
|
@@ -98,7 +98,19 @@ module Fog
|
|
98
98
|
end
|
99
99
|
|
100
100
|
server.save
|
101
|
-
|
101
|
+
# eventual consistency sometimes means a delay before it appears
|
102
|
+
retries = 3
|
103
|
+
begin
|
104
|
+
server.wait_for { ready? }
|
105
|
+
rescue Fog::Errors::Error => error
|
106
|
+
sleep(1)
|
107
|
+
retries -= 1
|
108
|
+
if retries > 0
|
109
|
+
retry
|
110
|
+
else
|
111
|
+
raise error
|
112
|
+
end
|
113
|
+
end
|
102
114
|
server.setup(:key_data => [server.private_key])
|
103
115
|
server
|
104
116
|
end
|
@@ -86,12 +86,13 @@ module Fog
|
|
86
86
|
|
87
87
|
response.status = 200
|
88
88
|
response.body = {
|
89
|
-
'
|
90
|
-
'
|
91
|
-
'
|
92
|
-
'
|
93
|
-
'
|
94
|
-
'
|
89
|
+
'CommonPrefixes' => [],
|
90
|
+
'Contents' => truncated_contents,
|
91
|
+
'IsTruncated' => truncated_contents.size != contents.size,
|
92
|
+
'Marker' => options['marker'],
|
93
|
+
'MaxKeys' => max_keys,
|
94
|
+
'Name' => bucket['Name'],
|
95
|
+
'Prefix' => options['prefix']
|
95
96
|
}
|
96
97
|
if options['max-keys'] && options['max-keys'] < response.body['Contents'].length
|
97
98
|
response.body['IsTruncated'] = true
|
data/lib/fog/aws/simpledb.rb
CHANGED
@@ -3,7 +3,8 @@ module Fog
|
|
3
3
|
class SimpleDB < Fog::Service
|
4
4
|
|
5
5
|
requires :aws_access_key_id, :aws_secret_access_key
|
6
|
-
|
6
|
+
recognizes :host, :nil_string, :path, :port, :scheme, :persistent
|
7
|
+
|
7
8
|
request_path 'fog/aws/requests/simpledb'
|
8
9
|
request :batch_put_attributes
|
9
10
|
request :create_domain
|
data/lib/fog/aws/storage.rb
CHANGED
@@ -3,7 +3,8 @@ module Fog
|
|
3
3
|
class Storage < Fog::Service
|
4
4
|
|
5
5
|
requires :aws_access_key_id, :aws_secret_access_key
|
6
|
-
|
6
|
+
recognizes :endpoint, :region, :host, :path, :port, :scheme, :persistent
|
7
|
+
|
7
8
|
model_path 'fog/aws/models/storage'
|
8
9
|
collection :directories
|
9
10
|
model :directory
|
@@ -175,6 +176,7 @@ module Fog
|
|
175
176
|
end
|
176
177
|
end
|
177
178
|
|
179
|
+
|
178
180
|
class Real
|
179
181
|
include Utils
|
180
182
|
extend Fog::Deprecation
|
data/lib/fog/bluebox/compute.rb
CHANGED
data/lib/fog/core/attributes.rb
CHANGED
data/lib/fog/core/credentials.rb
CHANGED
@@ -28,7 +28,6 @@ module Fog
|
|
28
28
|
unless credentials && credentials[credential]
|
29
29
|
print("\n To run as '#{credential}', add the following to #{config_path}\n")
|
30
30
|
yml = <<-YML
|
31
|
-
|
32
31
|
:#{credential}:
|
33
32
|
:aws_access_key_id: INTENTIONALLY_LEFT_BLANK
|
34
33
|
:aws_secret_access_key: INTENTIONALLY_LEFT_BLANK
|
@@ -51,7 +50,7 @@ module Fog
|
|
51
50
|
:terremark_username: INTENTIONALLY_LEFT_BLANK
|
52
51
|
:terremark_password: INTENTIONALLY_LEFT_BLANK
|
53
52
|
YML
|
54
|
-
print(yml)
|
53
|
+
print("\n#{yml}\n")
|
55
54
|
raise(ArgumentError.new("Missing Credentials"))
|
56
55
|
end
|
57
56
|
credentials[credential]
|
data/lib/fog/core/service.rb
CHANGED
@@ -34,13 +34,16 @@ module Fog
|
|
34
34
|
EOS
|
35
35
|
end
|
36
36
|
|
37
|
+
def requirements
|
38
|
+
declared_parameters_for :new, :required
|
39
|
+
end
|
40
|
+
|
37
41
|
def new(options={})
|
38
42
|
if Fog.bin
|
39
|
-
default_credentials = Fog.credentials
|
43
|
+
default_credentials = filter_parameters(Fog.credentials)
|
40
44
|
options = default_credentials.merge(options)
|
41
45
|
end
|
42
46
|
|
43
|
-
validate_arguments(options)
|
44
47
|
setup_requirements
|
45
48
|
|
46
49
|
if Fog.mocking?
|
@@ -110,41 +113,10 @@ module Fog
|
|
110
113
|
@requests ||= []
|
111
114
|
end
|
112
115
|
|
113
|
-
def requires(*args)
|
114
|
-
requirements.concat(args)
|
115
|
-
end
|
116
|
-
|
117
|
-
def requirements
|
118
|
-
@requirements ||= []
|
119
|
-
end
|
120
|
-
|
121
|
-
def recognizes(*args)
|
122
|
-
recognized.concat(args)
|
123
|
-
end
|
124
|
-
|
125
|
-
def recognized
|
126
|
-
@recognized ||= []
|
127
|
-
end
|
128
|
-
|
129
116
|
def reset_data(keys=Mock.data.keys)
|
130
117
|
Mock.reset_data(keys)
|
131
118
|
end
|
132
119
|
|
133
|
-
def validate_arguments(options)
|
134
|
-
missing = requirements - options.keys
|
135
|
-
unless missing.empty?
|
136
|
-
raise ArgumentError, "Missing required arguments: #{missing.join(', ')}"
|
137
|
-
end
|
138
|
-
|
139
|
-
# FIXME: avoid failing for the services that don't have recognizes yet
|
140
|
-
unless recognizes.empty?
|
141
|
-
unrecognized = options.keys - requirements - recognized
|
142
|
-
unless unrecognized.empty?
|
143
|
-
raise ArgumentError, "Unrecognized arguments: #{unrecognized.join(', ')}"
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
120
|
end
|
149
121
|
|
150
122
|
end
|
data/lib/fog/core/ssh.rb
CHANGED
data/lib/fog/go_grid/compute.rb
CHANGED
@@ -2,8 +2,8 @@ module Fog
|
|
2
2
|
module GoGrid
|
3
3
|
class Compute < Fog::Service
|
4
4
|
|
5
|
-
requires :go_grid_api_key
|
6
|
-
|
5
|
+
requires :go_grid_api_key, :go_grid_shared_secret
|
6
|
+
recognizes :host, :path, :port, :scheme, :persistent
|
7
7
|
|
8
8
|
model_path 'fog/go_grid/models/compute'
|
9
9
|
model :image
|
data/lib/fog/google/storage.rb
CHANGED
@@ -3,6 +3,7 @@ module Fog
|
|
3
3
|
class Storage < Fog::Service
|
4
4
|
|
5
5
|
requires :google_storage_access_key_id, :google_storage_secret_access_key
|
6
|
+
recognizes :host, :port, :scheme, :persistent
|
6
7
|
|
7
8
|
model_path 'fog/google/models/storage'
|
8
9
|
collection :directories
|
@@ -135,6 +136,7 @@ module Fog
|
|
135
136
|
end
|
136
137
|
end
|
137
138
|
|
139
|
+
|
138
140
|
class Real
|
139
141
|
include Utils
|
140
142
|
extend Fog::Deprecation
|
data/lib/fog/linode/compute.rb
CHANGED
@@ -4,8 +4,8 @@ module Fog
|
|
4
4
|
module NewServers
|
5
5
|
class Compute < Fog::Service
|
6
6
|
|
7
|
-
requires :new_servers_password
|
8
|
-
|
7
|
+
requires :new_servers_password, :new_servers_username
|
8
|
+
recognizes :host, :port, :scheme, :persistent
|
9
9
|
|
10
10
|
model_path 'fog/new_servers/models/compute'
|
11
11
|
|
data/lib/fog/rackspace.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Fog
|
2
2
|
module Rackspace
|
3
|
-
|
3
|
+
|
4
|
+
include NamedParameters
|
4
5
|
extend Fog::Provider
|
5
6
|
|
6
7
|
service_path 'fog/rackspace'
|
@@ -10,6 +11,11 @@ module Fog
|
|
10
11
|
service 'servers'
|
11
12
|
service 'storage'
|
12
13
|
|
14
|
+
# NOTE: might be better to rely on the caller alone to enforce parameter
|
15
|
+
# requirements...
|
16
|
+
has_named_parameters :'self.authenticate',
|
17
|
+
:required => [ :rackspace_api_key, :rackspace_username ],
|
18
|
+
:optional => [ :rackspace_auth_url ]
|
13
19
|
def self.authenticate(options)
|
14
20
|
rackspace_auth_url = options[:rackspace_auth_url] || "auth.api.rackspacecloud.com"
|
15
21
|
connection = Fog::Connection.new("https://" + rackspace_auth_url)
|
data/lib/fog/rackspace/cdn.rb
CHANGED
@@ -3,6 +3,9 @@ module Fog
|
|
3
3
|
class CDN < Fog::Service
|
4
4
|
|
5
5
|
requires :rackspace_api_key, :rackspace_username
|
6
|
+
# NOTE: recognizes clause delegates to Fog::Rackspace.authenticate's so
|
7
|
+
# we also declare those parameters that the authenticate expects...
|
8
|
+
recognizes :rackspace_auth_url, :persistent
|
6
9
|
|
7
10
|
model_path 'fog/rackspace/models/cdn'
|
8
11
|
|
@@ -3,6 +3,9 @@ module Fog
|
|
3
3
|
class Compute < Fog::Service
|
4
4
|
|
5
5
|
requires :rackspace_api_key, :rackspace_username
|
6
|
+
# NOTE: recognizes clause delegates to Fog::Rackspace.authenticate's so
|
7
|
+
# we also declare those parameters that the authenticate expects...
|
8
|
+
recognizes :rackspace_auth_url, :persistent
|
6
9
|
|
7
10
|
model_path 'fog/rackspace/models/compute'
|
8
11
|
model :flavor
|
@@ -3,6 +3,9 @@ module Fog
|
|
3
3
|
class Storage < Fog::Service
|
4
4
|
|
5
5
|
requires :rackspace_api_key, :rackspace_username
|
6
|
+
# NOTE: recognizes clause delegates to Fog::Rackspace.authenticate's so
|
7
|
+
# we also declare those parameters that the authenticate expects...
|
8
|
+
recognizes :rackspace_auth_url, :persistent
|
6
9
|
|
7
10
|
model_path 'fog/rackspace/models/storage'
|
8
11
|
model :directory
|
data/lib/fog/terremark/ecloud.rb
CHANGED
data/lib/fog/vcloud.rb
CHANGED
data/tests/helper.rb
CHANGED
@@ -1,28 +1,25 @@
|
|
1
|
-
|
2
|
-
__LIB_DIR__ = File.join(__DIR__, '../lib')
|
3
|
-
|
4
|
-
[ __DIR__, __LIB_DIR__ ].each do |directory|
|
5
|
-
$LOAD_PATH.unshift directory unless
|
6
|
-
$LOAD_PATH.include?(directory) ||
|
7
|
-
$LOAD_PATH.include?(File.expand_path(directory))
|
8
|
-
end
|
9
|
-
|
10
|
-
require 'fog'
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'lib', 'fog')
|
11
2
|
require 'fog/core/bin'
|
12
3
|
|
13
4
|
Fog.bin = true
|
14
5
|
|
15
|
-
|
16
|
-
|
6
|
+
__DIR__ = File.dirname(__FILE__)
|
7
|
+
|
8
|
+
$LOAD_PATH.unshift __DIR__ unless
|
9
|
+
$LOAD_PATH.include?(__DIR__) ||
|
10
|
+
$LOAD_PATH.include?(File.expand_path(__DIR__))
|
11
|
+
|
12
|
+
require 'helpers/collection_tests'
|
13
|
+
require 'helpers/model_tests'
|
17
14
|
|
18
|
-
require '
|
19
|
-
require '
|
20
|
-
require '
|
15
|
+
require 'helpers/compute/flavors_tests'
|
16
|
+
require 'helpers/compute/server_tests'
|
17
|
+
require 'helpers/compute/servers_tests'
|
21
18
|
|
22
|
-
require '
|
23
|
-
require '
|
24
|
-
require '
|
25
|
-
require '
|
19
|
+
require 'helpers/storage/directory_tests'
|
20
|
+
require 'helpers/storage/directories_tests'
|
21
|
+
require 'helpers/storage/file_tests'
|
22
|
+
require 'helpers/storage/files_tests'
|
26
23
|
|
27
24
|
# Use so you can run in mock mode from the command line:
|
28
25
|
#
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 27
|
9
|
+
version: 0.3.27
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- geemus (Wesley Beary)
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-12-
|
17
|
+
date: 2010-12-04 00:00:00 -08:00
|
18
18
|
default_executable: fog
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -85,6 +85,20 @@ dependencies:
|
|
85
85
|
prerelease: false
|
86
86
|
type: :runtime
|
87
87
|
version_requirements: &id006 !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
segments:
|
92
|
+
- 0
|
93
|
+
- 0
|
94
|
+
- 14
|
95
|
+
version: 0.0.14
|
96
|
+
requirement: *id006
|
97
|
+
name: named-parameters
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
prerelease: false
|
100
|
+
type: :runtime
|
101
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
88
102
|
requirements:
|
89
103
|
- - ">="
|
90
104
|
- !ruby/object:Gem::Version
|
@@ -93,12 +107,12 @@ dependencies:
|
|
93
107
|
- 0
|
94
108
|
- 23
|
95
109
|
version: 2.0.23
|
96
|
-
requirement: *
|
110
|
+
requirement: *id007
|
97
111
|
name: net-ssh
|
98
112
|
- !ruby/object:Gem::Dependency
|
99
113
|
prerelease: false
|
100
114
|
type: :runtime
|
101
|
-
version_requirements: &
|
115
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
102
116
|
requirements:
|
103
117
|
- - ">="
|
104
118
|
- !ruby/object:Gem::Version
|
@@ -107,36 +121,36 @@ dependencies:
|
|
107
121
|
- 4
|
108
122
|
- 4
|
109
123
|
version: 1.4.4
|
110
|
-
requirement: *
|
124
|
+
requirement: *id008
|
111
125
|
name: nokogiri
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
prerelease: false
|
114
128
|
type: :runtime
|
115
|
-
version_requirements: &
|
129
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
116
130
|
requirements:
|
117
131
|
- - ">="
|
118
132
|
- !ruby/object:Gem::Version
|
119
133
|
segments:
|
120
134
|
- 0
|
121
135
|
version: "0"
|
122
|
-
requirement: *
|
136
|
+
requirement: *id009
|
123
137
|
name: ruby-hmac
|
124
138
|
- !ruby/object:Gem::Dependency
|
125
139
|
prerelease: false
|
126
140
|
type: :development
|
127
|
-
version_requirements: &
|
141
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - ">="
|
130
144
|
- !ruby/object:Gem::Version
|
131
145
|
segments:
|
132
146
|
- 0
|
133
147
|
version: "0"
|
134
|
-
requirement: *
|
148
|
+
requirement: *id010
|
135
149
|
name: rake
|
136
150
|
- !ruby/object:Gem::Dependency
|
137
151
|
prerelease: false
|
138
152
|
type: :development
|
139
|
-
version_requirements: &
|
153
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
140
154
|
requirements:
|
141
155
|
- - "="
|
142
156
|
- !ruby/object:Gem::Version
|
@@ -145,12 +159,12 @@ dependencies:
|
|
145
159
|
- 3
|
146
160
|
- 1
|
147
161
|
version: 1.3.1
|
148
|
-
requirement: *
|
162
|
+
requirement: *id011
|
149
163
|
name: rspec
|
150
164
|
- !ruby/object:Gem::Dependency
|
151
165
|
prerelease: false
|
152
166
|
type: :development
|
153
|
-
version_requirements: &
|
167
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
154
168
|
requirements:
|
155
169
|
- - "="
|
156
170
|
- !ruby/object:Gem::Version
|
@@ -159,7 +173,7 @@ dependencies:
|
|
159
173
|
- 1
|
160
174
|
- 10
|
161
175
|
version: 0.1.10
|
162
|
-
requirement: *
|
176
|
+
requirement: *id012
|
163
177
|
name: shindo
|
164
178
|
description: The Ruby cloud computing library.
|
165
179
|
email: geemus@gmail.com
|