cfoundry 4.0.4.rc2 → 4.1.0

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.
@@ -7,6 +7,8 @@ require "forwardable"
7
7
 
8
8
  module CFoundry
9
9
  class BaseClient # :nodoc:
10
+ include CFoundry::ProxyOptions
11
+
10
12
  extend Forwardable
11
13
 
12
14
  attr_reader :rest_client
@@ -27,7 +29,7 @@ module CFoundry
27
29
  endpoint = info[:authorization_endpoint]
28
30
 
29
31
  if endpoint
30
- uaa = CFoundry::UAAClient.new(endpoint)
32
+ uaa = CFoundry::UAAClient.new(endpoint, "cf", http_proxy: http_proxy, https_proxy: https_proxy)
31
33
  uaa.trace = trace
32
34
  uaa.token = token
33
35
  uaa
@@ -105,7 +107,7 @@ module CFoundry
105
107
  opts[:verify_mode] = OpenSSL::SSL::VERIFY_NONE
106
108
  end
107
109
 
108
- Net::HTTP.start(uri.host, uri.port, opts) do |http|
110
+ Net::HTTP.start(uri.host, uri.port, *proxy_options_for(uri), opts) do |http|
109
111
  http.read_timeout = 5
110
112
 
111
113
  req = Net::HTTP::Get.new(uri.request_uri)
@@ -1,3 +1,5 @@
1
+ require "cfoundry/concerns/proxy_options"
2
+
1
3
  require "cfoundry/baseclient"
2
4
  require "cfoundry/rest_client"
3
5
  require "cfoundry/auth_token"
@@ -0,0 +1,17 @@
1
+ module CFoundry
2
+ module ProxyOptions
3
+ def proxy_options_for(uri)
4
+ ssl = uri.is_a?(URI::HTTPS)
5
+ proxy_to_use = (ssl ? https_proxy : http_proxy)
6
+
7
+ if proxy_to_use.blank?
8
+ []
9
+ else
10
+ proxy_to_use = "proto://#{proxy_to_use}" unless proxy_to_use =~ /:\/\//
11
+ proxy_uri = URI.parse(proxy_to_use)
12
+ proxy_user, proxy_password = proxy_uri.userinfo.split(/:/) if proxy_uri.userinfo
13
+ [proxy_uri.host, proxy_uri.port, proxy_user, proxy_password]
14
+ end
15
+ end
16
+ end
17
+ end
@@ -7,20 +7,10 @@ require "fileutils"
7
7
  module CFoundry
8
8
  class RestClient
9
9
  class HTTPFactory
10
- def self.create(uri, http_proxy, https_proxy)
11
- scheme = uri.scheme
12
- proxy_to_use = (scheme == "http" ? http_proxy : https_proxy)
13
-
14
- if proxy_to_use
15
- proxy_uri = URI.parse(proxy_to_use)
16
- proxy_user, proxy_pass = proxy_uri.userinfo.split(/:/) if proxy_uri.userinfo
17
- http = Net::HTTP::Proxy(proxy_uri.host, proxy_uri.port, proxy_user, proxy_pass).
18
- new(uri.host, uri.port)
19
- else
20
- http = Net::HTTP.new(uri.host, uri.port)
21
- end
10
+ def self.create(uri, proxy_options = [])
11
+ http = Net::HTTP.new(uri.host, uri.port, *proxy_options)
22
12
 
23
- if scheme == "https"
13
+ if uri.is_a?(URI::HTTPS)
24
14
  http.use_ssl = true
25
15
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
26
16
  end
@@ -30,6 +20,7 @@ module CFoundry
30
20
  end
31
21
 
32
22
  include CFoundry::TraceHelpers
23
+ include CFoundry::ProxyOptions
33
24
 
34
25
  LOG_LENGTH = 10
35
26
 
@@ -148,7 +139,7 @@ module CFoundry
148
139
 
149
140
  add_headers(request, headers)
150
141
 
151
- http = HTTPFactory.create(uri, http_proxy, https_proxy)
142
+ http = HTTPFactory.create(uri, proxy_options_for(uri))
152
143
 
153
144
  # TODO remove this when staging returns streaming responses
154
145
  http.read_timeout = 300
@@ -3,17 +3,19 @@ require "uaa"
3
3
 
4
4
  module CFoundry
5
5
  class UAAClient
6
- attr_accessor :target, :client_id, :token, :trace
6
+ attr_accessor :target, :client_id, :token, :trace, :http_proxy, :https_proxy
7
7
 
8
- def initialize(target, client_id = "cf")
8
+ def initialize(target, client_id = "cf", options = {})
9
9
  @target = target
10
10
  @client_id = client_id
11
- CF::UAA::Misc.symbolize_keys = true
11
+ @http_proxy = options[:http_proxy]
12
+ @https_proxy = options[:https_proxy]
13
+ @uaa_info_client = uaa_info_client_for(target)
12
14
  end
13
15
 
14
16
  def prompts
15
17
  wrap_uaa_errors do
16
- CF::UAA::Misc.server(target)[:prompts]
18
+ @uaa_info_client.server[:prompts]
17
19
  end
18
20
  end
19
21
 
@@ -44,7 +46,7 @@ module CFoundry
44
46
 
45
47
  def password_score(password)
46
48
  wrap_uaa_errors do
47
- response = CF::UAA::Misc.password_strength(uaa_url, password)
49
+ response = uaa_info_client_for(uaa_url).password_strength(password)
48
50
 
49
51
  required_score = response[:requiredScore] || 0
50
52
  case (response[:score] || 0)
@@ -90,8 +92,20 @@ module CFoundry
90
92
 
91
93
  private
92
94
 
95
+ def uaa_info_client_for(url)
96
+ CF::UAA::Info.new(url,
97
+ :symbolize_keys => true,
98
+ :http_proxy => http_proxy,
99
+ :https_proxy => https_proxy
100
+ )
101
+ end
102
+
93
103
  def token_issuer
94
- @token_issuer ||= CF::UAA::TokenIssuer.new(target, client_id, nil, :symbolize_keys => true)
104
+ @token_issuer ||= CF::UAA::TokenIssuer.new(target, client_id, nil,
105
+ :symbolize_keys => true,
106
+ :http_proxy => @http_proxy,
107
+ :https_proxy => @https_proxy
108
+ )
95
109
  @token_issuer.logger.level = @trace ? Logger::Severity::TRACE : 1
96
110
  @token_issuer
97
111
  end
@@ -104,7 +118,7 @@ module CFoundry
104
118
  end
105
119
 
106
120
  def uaa_url
107
- @uaa_url ||= CF::UAA::Misc.discover_uaa(target)
121
+ @uaa_url ||= @uaa_info_client.discover_uaa
108
122
  end
109
123
 
110
124
  def authenticate_with_password_grant(credentials)
@@ -1,4 +1,4 @@
1
1
  module CFoundry # :nodoc:
2
2
  # CFoundry library version number.
3
- VERSION = "4.0.4.rc2".freeze
3
+ VERSION = "4.1.0".freeze
4
4
  end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe CFoundry::BaseClient do
4
+ let(:authorization_endpoint) { "http://uaa.example.com" }
4
5
  subject(:client) { CFoundry::BaseClient.new("http://api.example.com") }
5
6
  describe "#request" do
6
7
  before do
@@ -104,7 +105,7 @@ describe CFoundry::BaseClient do
104
105
 
105
106
  describe "UAAClient" do
106
107
  context "with a valid uaa endpoint" do
107
- let(:info) { { :authorization_endpoint => "http://uaa.example.com" } }
108
+ let(:info) { { :authorization_endpoint => authorization_endpoint } }
108
109
 
109
110
  before do
110
111
  subject.stub(:info) { info }
@@ -134,6 +135,22 @@ describe CFoundry::BaseClient do
134
135
  expect(subject.uaa.target).to eq "foo"
135
136
  end
136
137
  end
138
+
139
+ context "when proxy is set" do
140
+ before do
141
+ subject.http_proxy = 'http-proxy.example.com'
142
+ subject.https_proxy = 'https-proxy.example.com'
143
+ end
144
+
145
+ it "passes the proxy to the uaa client" do
146
+ CFoundry::UAAClient.stub(:new).and_call_original
147
+ subject.uaa
148
+ expect(CFoundry::UAAClient).to have_received(:new).with(anything, anything, hash_including(
149
+ http_proxy: 'http-proxy.example.com',
150
+ https_proxy: 'https-proxy.example.com'
151
+ ))
152
+ end
153
+ end
137
154
  end
138
155
 
139
156
  describe "#token=" do
@@ -219,6 +236,16 @@ describe CFoundry::BaseClient do
219
236
  expect(chunks).to eq(["https result"])
220
237
  end
221
238
 
239
+ it "sets proxy options if available" do
240
+ stub_request(:get, "https://example.com/something")
241
+ subject.https_proxy = "user:password@https-proxy.example.com:1234"
242
+ Net::HTTP.stub(:start).and_call_original
243
+
244
+ subject.stream_url("https://example.com/something")
245
+
246
+ expect(Net::HTTP).to have_received(:start).with(anything, anything, 'https-proxy.example.com', 1234, 'user', 'password', anything)
247
+ end
248
+
222
249
  it "raises NotFound if response is 404" do
223
250
  stub_request(:get, "http://example.com/something").to_return(
224
251
  :status => 404, :body => "result")
@@ -289,11 +289,10 @@ describe CFoundry::RestClient do
289
289
 
290
290
  describe CFoundry::RestClient::HTTPFactory do
291
291
  describe ".create" do
292
- let(:http_proxy) { '' }
293
- let(:https_proxy) { '' }
292
+ let(:proxy_options) { [] }
294
293
  let(:target_uri) { "http://api.example.com" }
295
294
 
296
- subject { CFoundry::RestClient::HTTPFactory.create(URI.parse(target_uri), http_proxy, https_proxy) }
295
+ subject { CFoundry::RestClient::HTTPFactory.create(URI.parse(target_uri), proxy_options) }
297
296
 
298
297
  context "when no proxy URI is set" do
299
298
  it "should return an instance of the plain Net:HTTP class" do
@@ -313,7 +312,7 @@ describe CFoundry::RestClient do
313
312
  end
314
313
 
315
314
  context "when a http proxy URI without user/password is set " do
316
- let(:http_proxy) { "http://exapmle.com:8080" }
315
+ let(:proxy_options) { ["exapmle.com", 8080, nil, nil] }
317
316
 
318
317
  it "should return an instance of the proxy class" do
319
318
  expect(subject.proxy?).to be_true
@@ -323,7 +322,7 @@ describe CFoundry::RestClient do
323
322
  end
324
323
 
325
324
  context "when a http proxy URI with user/password is set " do
326
- let(:http_proxy) { "http://user:pass@exapmle.com:8080" }
325
+ let(:proxy_options) { ["exapmle.com", "8080", "user", "pass"] }
327
326
 
328
327
  it "should return an instance of the proxy class" do
329
328
  expect(subject.proxy?).to be_true
@@ -331,41 +330,6 @@ describe CFoundry::RestClient do
331
330
  expect(subject.proxy_pass).to eql("pass")
332
331
  end
333
332
  end
334
-
335
- context "when a https proxy URI is set and the target is an https URI" do
336
- let(:target_uri) { "https://example.com" }
337
- let(:https_proxy) { "http://exapmle.com:8080" }
338
-
339
- it "should return an instance of the proxy class" do
340
- expect(subject.proxy?).to be_true
341
- end
342
- end
343
-
344
- context "when a https proxy URI is set and the target is an http URI" do
345
- let(:target_uri) { "http://example.com" }
346
- let(:https_proxy) { "http://exapmle.com:8080" }
347
-
348
- it "should return an instance of the plain Net:HTTP class" do
349
- expect(subject.proxy?).to be_nil
350
- end
351
- end
352
-
353
- context "when a http proxy URI is set and the target is an https URI" do
354
- let(:target_uri) { "https://example.com" }
355
- let(:http_proxy) { "http://exapmle.com:8080" }
356
-
357
- it "should return an instance of the plain Net:HTTP class" do
358
- expect(subject.proxy?).to be_nil
359
- end
360
- end
361
-
362
- context "when an invalid proxy URI is set" do
363
- let(:http_proxy) { "invalid URI" }
364
-
365
- it "should raise an error" do
366
- expect { subject }.to raise_error(URI::InvalidURIError)
367
- end
368
- end
369
333
  end
370
334
  end
371
335
 
@@ -25,6 +25,17 @@ EOF
25
25
  end
26
26
  end
27
27
 
28
+ describe '#initialize' do
29
+ it "passes proxy info to the UAA info client" do
30
+ CF::UAA::Info.stub(:new)
31
+ CFoundry::UAAClient.new(target, 'cf', http_proxy: 'http-proxy.example.com', https_proxy: 'https-proxy.example.com')
32
+ expect(CF::UAA::Info).to have_received(:new).with(anything, hash_including(
33
+ http_proxy: 'http-proxy.example.com',
34
+ https_proxy: 'https-proxy.example.com'
35
+ ))
36
+ end
37
+ end
38
+
28
39
  describe '#prompts' do
29
40
  subject { uaa.prompts }
30
41
 
@@ -338,6 +349,19 @@ EOF
338
349
  uaa.trace = false
339
350
  expect(uaa.send(:token_issuer).logger.level).to eq 1
340
351
  end
352
+
353
+ it "passes proxy info to the token issuer" do
354
+ CF::UAA::TokenIssuer.stub(:new).and_call_original
355
+ uaa.http_proxy = 'http-proxy.example.com'
356
+ uaa.https_proxy = 'https-proxy.example.com'
357
+
358
+ uaa.send(:token_issuer)
359
+
360
+ expect(CF::UAA::TokenIssuer).to have_received(:new).with(anything, anything, anything, hash_including(
361
+ http_proxy: 'http-proxy.example.com',
362
+ https_proxy: 'https-proxy.example.com'
363
+ ))
364
+ end
341
365
  end
342
366
 
343
367
  describe "#scim" do
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  SPEC_ROOT = File.dirname(__FILE__).freeze
2
2
 
3
3
  require "rspec"
4
+ require "putsinator"
4
5
  require "cfoundry"
5
6
  require "webmock/rspec"
6
7
  require "ostruct"
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfoundry
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.4.rc2
4
+ version: 4.1.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Cloud Foundry Team
@@ -9,11 +10,12 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2013-08-01 00:00:00.000000000 Z
13
+ date: 2013-08-07 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: activemodel
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
20
  - - ~>
19
21
  - !ruby/object:Gem::Version
@@ -21,6 +23,7 @@ dependencies:
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ~>
26
29
  - !ruby/object:Gem::Version
@@ -28,20 +31,23 @@ dependencies:
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: cf-uaa-lib
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
36
  - - ~>
33
37
  - !ruby/object:Gem::Version
34
- version: 1.3.10
38
+ version: 2.0.0
35
39
  type: :runtime
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
44
  - - ~>
40
45
  - !ruby/object:Gem::Version
41
- version: 1.3.10
46
+ version: 2.0.0
42
47
  - !ruby/object:Gem::Dependency
43
48
  name: multi_json
44
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
45
51
  requirements:
46
52
  - - ~>
47
53
  - !ruby/object:Gem::Version
@@ -49,6 +55,7 @@ dependencies:
49
55
  type: :runtime
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
52
59
  requirements:
53
60
  - - ~>
54
61
  - !ruby/object:Gem::Version
@@ -56,6 +63,7 @@ dependencies:
56
63
  - !ruby/object:Gem::Dependency
57
64
  name: multipart-post
58
65
  requirement: !ruby/object:Gem::Requirement
66
+ none: false
59
67
  requirements:
60
68
  - - ~>
61
69
  - !ruby/object:Gem::Version
@@ -63,6 +71,7 @@ dependencies:
63
71
  type: :runtime
64
72
  prerelease: false
65
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
66
75
  requirements:
67
76
  - - ~>
68
77
  - !ruby/object:Gem::Version
@@ -70,6 +79,7 @@ dependencies:
70
79
  - !ruby/object:Gem::Dependency
71
80
  name: rubyzip
72
81
  requirement: !ruby/object:Gem::Requirement
82
+ none: false
73
83
  requirements:
74
84
  - - ~>
75
85
  - !ruby/object:Gem::Version
@@ -77,6 +87,7 @@ dependencies:
77
87
  type: :runtime
78
88
  prerelease: false
79
89
  version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
80
91
  requirements:
81
92
  - - ~>
82
93
  - !ruby/object:Gem::Version
@@ -84,6 +95,7 @@ dependencies:
84
95
  - !ruby/object:Gem::Dependency
85
96
  name: anchorman
86
97
  requirement: !ruby/object:Gem::Requirement
98
+ none: false
87
99
  requirements:
88
100
  - - ! '>='
89
101
  - !ruby/object:Gem::Version
@@ -91,6 +103,7 @@ dependencies:
91
103
  type: :development
92
104
  prerelease: false
93
105
  version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
94
107
  requirements:
95
108
  - - ! '>='
96
109
  - !ruby/object:Gem::Version
@@ -98,6 +111,7 @@ dependencies:
98
111
  - !ruby/object:Gem::Dependency
99
112
  name: factory_girl
100
113
  requirement: !ruby/object:Gem::Requirement
114
+ none: false
101
115
  requirements:
102
116
  - - ! '>='
103
117
  - !ruby/object:Gem::Version
@@ -105,6 +119,7 @@ dependencies:
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
108
123
  requirements:
109
124
  - - ! '>='
110
125
  - !ruby/object:Gem::Version
@@ -112,6 +127,7 @@ dependencies:
112
127
  - !ruby/object:Gem::Dependency
113
128
  name: gem-release
114
129
  requirement: !ruby/object:Gem::Requirement
130
+ none: false
115
131
  requirements:
116
132
  - - ! '>='
117
133
  - !ruby/object:Gem::Version
@@ -119,6 +135,7 @@ dependencies:
119
135
  type: :development
120
136
  prerelease: false
121
137
  version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
122
139
  requirements:
123
140
  - - ! '>='
124
141
  - !ruby/object:Gem::Version
@@ -126,6 +143,7 @@ dependencies:
126
143
  - !ruby/object:Gem::Dependency
127
144
  name: json_pure
128
145
  requirement: !ruby/object:Gem::Requirement
146
+ none: false
129
147
  requirements:
130
148
  - - ~>
131
149
  - !ruby/object:Gem::Version
@@ -133,6 +151,7 @@ dependencies:
133
151
  type: :development
134
152
  prerelease: false
135
153
  version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
136
155
  requirements:
137
156
  - - ~>
138
157
  - !ruby/object:Gem::Version
@@ -140,6 +159,7 @@ dependencies:
140
159
  - !ruby/object:Gem::Dependency
141
160
  name: rake
142
161
  requirement: !ruby/object:Gem::Requirement
162
+ none: false
143
163
  requirements:
144
164
  - - ! '>='
145
165
  - !ruby/object:Gem::Version
@@ -147,6 +167,7 @@ dependencies:
147
167
  type: :development
148
168
  prerelease: false
149
169
  version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
150
171
  requirements:
151
172
  - - ! '>='
152
173
  - !ruby/object:Gem::Version
@@ -154,20 +175,23 @@ dependencies:
154
175
  - !ruby/object:Gem::Dependency
155
176
  name: rspec
156
177
  requirement: !ruby/object:Gem::Requirement
178
+ none: false
157
179
  requirements:
158
180
  - - ~>
159
181
  - !ruby/object:Gem::Version
160
- version: '2.13'
182
+ version: '2.14'
161
183
  type: :development
162
184
  prerelease: false
163
185
  version_requirements: !ruby/object:Gem::Requirement
186
+ none: false
164
187
  requirements:
165
188
  - - ~>
166
189
  - !ruby/object:Gem::Version
167
- version: '2.13'
190
+ version: '2.14'
168
191
  - !ruby/object:Gem::Dependency
169
192
  name: shoulda-matchers
170
193
  requirement: !ruby/object:Gem::Requirement
194
+ none: false
171
195
  requirements:
172
196
  - - ~>
173
197
  - !ruby/object:Gem::Version
@@ -175,6 +199,7 @@ dependencies:
175
199
  type: :development
176
200
  prerelease: false
177
201
  version_requirements: !ruby/object:Gem::Requirement
202
+ none: false
178
203
  requirements:
179
204
  - - ~>
180
205
  - !ruby/object:Gem::Version
@@ -182,6 +207,7 @@ dependencies:
182
207
  - !ruby/object:Gem::Dependency
183
208
  name: timecop
184
209
  requirement: !ruby/object:Gem::Requirement
210
+ none: false
185
211
  requirements:
186
212
  - - ~>
187
213
  - !ruby/object:Gem::Version
@@ -189,6 +215,7 @@ dependencies:
189
215
  type: :development
190
216
  prerelease: false
191
217
  version_requirements: !ruby/object:Gem::Requirement
218
+ none: false
192
219
  requirements:
193
220
  - - ~>
194
221
  - !ruby/object:Gem::Version
@@ -196,6 +223,7 @@ dependencies:
196
223
  - !ruby/object:Gem::Dependency
197
224
  name: webmock
198
225
  requirement: !ruby/object:Gem::Requirement
226
+ none: false
199
227
  requirements:
200
228
  - - ~>
201
229
  - !ruby/object:Gem::Version
@@ -203,10 +231,27 @@ dependencies:
203
231
  type: :development
204
232
  prerelease: false
205
233
  version_requirements: !ruby/object:Gem::Requirement
234
+ none: false
206
235
  requirements:
207
236
  - - ~>
208
237
  - !ruby/object:Gem::Version
209
238
  version: '1.9'
239
+ - !ruby/object:Gem::Dependency
240
+ name: putsinator
241
+ requirement: !ruby/object:Gem::Requirement
242
+ none: false
243
+ requirements:
244
+ - - ! '>='
245
+ - !ruby/object:Gem::Version
246
+ version: '0'
247
+ type: :development
248
+ prerelease: false
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ none: false
251
+ requirements:
252
+ - - ! '>='
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
210
255
  description:
211
256
  email:
212
257
  - vcap-dev@googlegroups.com
@@ -236,6 +281,7 @@ files:
236
281
  - lib/cfoundry/chatty_hash.rb
237
282
  - lib/cfoundry/client.rb
238
283
  - lib/cfoundry/concerns/login_helpers.rb
284
+ - lib/cfoundry/concerns/proxy_options.rb
239
285
  - lib/cfoundry/errors.rb
240
286
  - lib/cfoundry/rest_client.rb
241
287
  - lib/cfoundry/test_support.rb
@@ -384,26 +430,33 @@ files:
384
430
  - spec/support/test_model_builder.rb
385
431
  homepage: http://github.com/cloudfoundry/cfoundry
386
432
  licenses: []
387
- metadata: {}
388
433
  post_install_message:
389
434
  rdoc_options: []
390
435
  require_paths:
391
436
  - lib
392
437
  required_ruby_version: !ruby/object:Gem::Requirement
438
+ none: false
393
439
  requirements:
394
440
  - - ! '>='
395
441
  - !ruby/object:Gem::Version
396
442
  version: '0'
443
+ segments:
444
+ - 0
445
+ hash: -3532839030076498984
397
446
  required_rubygems_version: !ruby/object:Gem::Requirement
447
+ none: false
398
448
  requirements:
399
- - - ! '>'
449
+ - - ! '>='
400
450
  - !ruby/object:Gem::Version
401
- version: 1.3.1
451
+ version: '0'
452
+ segments:
453
+ - 0
454
+ hash: -3532839030076498984
402
455
  requirements: []
403
456
  rubyforge_project: cfoundry
404
- rubygems_version: 2.0.5
457
+ rubygems_version: 1.8.25
405
458
  signing_key:
406
- specification_version: 4
459
+ specification_version: 3
407
460
  summary: High-level library for working with the Cloud Foundry API.
408
461
  test_files:
409
462
  - spec/cc_api_stub/applications_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzcyYjhmZjYxNzg5Yzg5NDFhZDJiZThlZmQzMjdiOGE4ZTg3ODEzMQ==
5
- data.tar.gz: !binary |-
6
- MTFlMTk5ODQ5YTQxMTM2NmJkYjQ2YmFkZDRkOTM5ZDhmNmE1N2JjYQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NTUwNTA2ZmRiN2JhM2MzNjIxZWQ5MzJlMzAwMTRmNGFmN2I4OWQ0MmU0MWFl
10
- Y2YwOWMxMTk1NGUzOWQ3NjJhODgwOTA5ZjY2Y2E5YjRlODJmMjY2ODQ4MDI5
11
- YWYzYjM0MzUwZTkwY2U2NTVjZDNmYjdlNjI1NGY2YTEyZGMxMDQ=
12
- data.tar.gz: !binary |-
13
- ZmMyYTBjMDM0MmNmY2ZjMzVlMzQwY2JmMWY4NDlmMzRjMjlhMzllMzI4N2Uy
14
- MWRjNGEyOGM3ZjM4NjZkOGE0NGRkOTFlODkxZWIwMGExYzcyZTU0NTZhMjU4
15
- MTRmNWE0NjBlMmZkNDQ1ZWIyMzM2NTlkZmIxMzYxNzIxMmY3M2Q=