cfoundry_helper 0.3.3 → 0.4.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +17 -29
- data/VERSION +1 -1
- data/cfoundry_helper.gemspec +0 -2
- data/lib/cfoundry_helper/helpers/client_helper.rb +28 -3
- data/lib/cfoundry_helper/version.rb +1 -1
- metadata +29 -57
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1dccf635280428448ea0574de836d9970f608077
|
4
|
+
data.tar.gz: 8eb00847aa13ae11d1f02b42a2313c8ee240482c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bbe3eab3c049e54afe374507f53c66f354376cebc1b0da2749026d53f037e1a2b09ffe8b95289f5f90d11b6be2f9bf759488cf8b3b916ab3673bd77c6a75d09
|
7
|
+
data.tar.gz: 13bfc7d20ec033a224cf60f913a728064edd31d8e8713547c337612f387974efa81cdd8f421ee694583f67e0e427472603d73863a722f5fd0a192d9e1f7e8d8b
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cfoundry_helper (0.
|
4
|
+
cfoundry_helper (0.4.0)
|
5
5
|
activesupport
|
6
6
|
cfoundry
|
7
7
|
jwt (>= 1.0.0)
|
@@ -9,17 +9,16 @@ PATH
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
activemodel (4.
|
13
|
-
activesupport (= 4.
|
14
|
-
builder (~> 3.1
|
15
|
-
activesupport (4.
|
16
|
-
i18n (~> 0.
|
17
|
-
|
18
|
-
|
19
|
-
thread_safe (~> 0.
|
20
|
-
tzinfo (~>
|
21
|
-
|
22
|
-
builder (3.1.4)
|
12
|
+
activemodel (4.2.1)
|
13
|
+
activesupport (= 4.2.1)
|
14
|
+
builder (~> 3.1)
|
15
|
+
activesupport (4.2.1)
|
16
|
+
i18n (~> 0.7)
|
17
|
+
json (~> 1.7, >= 1.7.7)
|
18
|
+
minitest (~> 5.1)
|
19
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
20
|
+
tzinfo (~> 1.1)
|
21
|
+
builder (3.2.2)
|
23
22
|
cf-uaa-lib (2.0.0)
|
24
23
|
multi_json
|
25
24
|
cfoundry (4.7.1)
|
@@ -29,22 +28,16 @@ GEM
|
|
29
28
|
multipart-post (~> 1.1)
|
30
29
|
rubyzip (~> 0.9)
|
31
30
|
coderay (1.0.9)
|
32
|
-
columnize (0.3.6)
|
33
31
|
daemons (1.1.9)
|
34
|
-
debugger (1.6.2)
|
35
|
-
columnize (>= 0.3.1)
|
36
|
-
debugger-linecache (~> 1.2.0)
|
37
|
-
debugger-ruby_core_source (~> 1.2.3)
|
38
|
-
debugger-linecache (1.2.0)
|
39
|
-
debugger-ruby_core_source (1.2.3)
|
40
32
|
diff-lcs (1.2.4)
|
41
33
|
eventmachine (0.12.10)
|
42
34
|
httpclient (2.3.4.1)
|
43
|
-
i18n (0.
|
35
|
+
i18n (0.7.0)
|
36
|
+
json (1.8.2)
|
44
37
|
json_pure (1.8.0)
|
45
38
|
jwt (1.0.0)
|
46
39
|
method_source (0.8.2)
|
47
|
-
minitest (
|
40
|
+
minitest (5.5.1)
|
48
41
|
multi_json (1.10.1)
|
49
42
|
multipart-post (1.2.0)
|
50
43
|
nats (0.4.28)
|
@@ -56,9 +49,6 @@ GEM
|
|
56
49
|
coderay (~> 1.0.5)
|
57
50
|
method_source (~> 0.8)
|
58
51
|
slop (~> 3.4)
|
59
|
-
pry-debugger (0.2.2)
|
60
|
-
debugger (~> 1.3)
|
61
|
-
pry (~> 0.9.10)
|
62
52
|
rack (1.5.2)
|
63
53
|
rake (10.1.0)
|
64
54
|
rspec (2.14.1)
|
@@ -75,23 +65,21 @@ GEM
|
|
75
65
|
daemons (>= 1.0.9)
|
76
66
|
eventmachine (>= 0.12.6)
|
77
67
|
rack (>= 1.0.0)
|
78
|
-
thread_safe (0.
|
79
|
-
|
80
|
-
|
68
|
+
thread_safe (0.3.5)
|
69
|
+
tzinfo (1.2.2)
|
70
|
+
thread_safe (~> 0.1)
|
81
71
|
yajl-ruby (1.1.0)
|
82
72
|
|
83
73
|
PLATFORMS
|
84
74
|
ruby
|
85
75
|
|
86
76
|
DEPENDENCIES
|
87
|
-
activesupport
|
88
77
|
bundler (~> 1.3)
|
89
78
|
cf-uaa-lib
|
90
79
|
cfoundry_helper!
|
91
80
|
httpclient
|
92
81
|
nats
|
93
82
|
pry
|
94
|
-
pry-debugger
|
95
83
|
rake
|
96
84
|
rspec
|
97
85
|
yajl-ruby
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/cfoundry_helper.gemspec
CHANGED
@@ -27,12 +27,10 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency "nats"
|
28
28
|
spec.add_development_dependency "rspec"
|
29
29
|
spec.add_development_dependency "cf-uaa-lib"
|
30
|
-
spec.add_development_dependency "activesupport"
|
31
30
|
spec.add_development_dependency "httpclient"
|
32
31
|
spec.add_development_dependency "yajl-ruby"
|
33
32
|
|
34
33
|
spec.add_development_dependency "pry"
|
35
|
-
spec.add_development_dependency "pry-debugger"
|
36
34
|
|
37
35
|
spec.add_dependency "cfoundry"
|
38
36
|
spec.add_dependency "activesupport"
|
@@ -1,12 +1,17 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
require 'jwt'
|
3
|
+
require 'time'
|
3
4
|
|
4
5
|
module CFoundryHelper::Helpers
|
5
6
|
module ClientHelper
|
7
|
+
MAX_CLIENT_TIMEOUT = 5*60 # 5 minutes
|
8
|
+
|
6
9
|
@@scim_client = nil
|
7
10
|
@@cloud_controller_client = nil
|
8
11
|
@@auth_token = nil
|
9
12
|
@@current_target_url = nil
|
13
|
+
@@scim_client_init_time = nil
|
14
|
+
@@cc_client_init_time = nil
|
10
15
|
|
11
16
|
def self.current_target_url=(url)
|
12
17
|
@@current_target_url = url
|
@@ -33,9 +38,15 @@ module CFoundryHelper::Helpers
|
|
33
38
|
# it is uesd by the uaa service.
|
34
39
|
# see http://www.simplecloud.info/
|
35
40
|
def self.scim_client
|
36
|
-
#
|
41
|
+
# is the client outdated?
|
42
|
+
unless @@scim_client_init_time.nil?
|
43
|
+
time_diff = Time.now - @@scim_client_init_time
|
44
|
+
@@scim_client = nil if time_diff > MAX_CLIENT_TIMEOUT
|
45
|
+
end
|
46
|
+
|
37
47
|
raise CFoundryHelper::Errors::ConfigurationError, "The ClientHelper's current target url is not defined in the configuration yaml file!" if CFoundryHelper.config[@@current_target_url].nil?
|
38
48
|
|
49
|
+
# just return the already initialized client if present
|
39
50
|
return @@scim_client unless @@scim_client.nil?
|
40
51
|
|
41
52
|
token_issuer = ::CF::UAA::TokenIssuer.new(
|
@@ -45,13 +56,23 @@ module CFoundryHelper::Helpers
|
|
45
56
|
|
46
57
|
token_info = token_issuer.client_credentials_grant
|
47
58
|
access_token = token_info.info["access_token"]
|
48
|
-
|
59
|
+
scim_client = ::CF::UAA::Scim.new(CFoundryHelper.config[@@current_target_url]['uaa']['site'], "bEareR #{access_token}")
|
60
|
+
set_scim_client(scim_client)
|
49
61
|
end
|
50
62
|
|
51
63
|
##
|
52
64
|
# Use this client to connect to the cloudcontroller
|
53
65
|
# and register a new user.
|
54
66
|
def self.cloud_controller_client
|
67
|
+
# is the client outdated?
|
68
|
+
unless @@cc_client_init_time.nil?
|
69
|
+
time_diff = Time.now - @@cc_client_init_time
|
70
|
+
if time_diff > MAX_CLIENT_TIMEOUT
|
71
|
+
@@cloud_controller_client = nil
|
72
|
+
@@auth_token = nil
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
55
76
|
# just return the already initialized client if present
|
56
77
|
raise CFoundryHelper::Errors::ConfigurationError, "The ClientHelper's current target url is not defined in the configuration!" if CFoundryHelper.config[@@current_target_url].nil?
|
57
78
|
|
@@ -68,16 +89,18 @@ module CFoundryHelper::Helpers
|
|
68
89
|
end
|
69
90
|
|
70
91
|
def self.set_scim_client(client)
|
92
|
+
@@scim_client_init_time = Time.now
|
71
93
|
@@scim_client = client
|
72
94
|
end
|
73
95
|
|
74
96
|
def self.set_cc_client(client)
|
97
|
+
@@cc_client_init_time = Time.now
|
75
98
|
@@cloud_controller_client = client
|
76
99
|
end
|
77
100
|
|
78
101
|
private
|
79
102
|
|
80
|
-
# Check that the Cloud Foundry auth token isn't
|
103
|
+
# Check that the Cloud Foundry auth token isn't expired.
|
81
104
|
# Returns true if the auth_token is expired or uninitialized.
|
82
105
|
def self.is_auth_token_expired?
|
83
106
|
return true if @@auth_token.nil?
|
@@ -88,6 +111,8 @@ module CFoundryHelper::Helpers
|
|
88
111
|
decoded_token = decoded_token.first if decoded_token.class == Array
|
89
112
|
return true if Time.at(decoded_token['exp']) < Time.now
|
90
113
|
return false
|
114
|
+
rescue
|
115
|
+
return true
|
91
116
|
end
|
92
117
|
end
|
93
118
|
end
|
metadata
CHANGED
@@ -1,195 +1,167 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfoundry_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Weber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: nats
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cf-uaa-lib
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: activesupport
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - '>='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - '>='
|
80
|
+
- - ">="
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: httpclient
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
|
-
- -
|
87
|
+
- - ">="
|
102
88
|
- !ruby/object:Gem::Version
|
103
89
|
version: '0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- -
|
94
|
+
- - ">="
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: yajl-ruby
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
|
-
- -
|
108
|
+
- - ">="
|
123
109
|
- !ruby/object:Gem::Version
|
124
110
|
version: '0'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: pry
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - '>='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: pry-debugger
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - '>='
|
115
|
+
- - ">="
|
144
116
|
- !ruby/object:Gem::Version
|
145
117
|
version: '0'
|
146
118
|
type: :development
|
147
119
|
prerelease: false
|
148
120
|
version_requirements: !ruby/object:Gem::Requirement
|
149
121
|
requirements:
|
150
|
-
- -
|
122
|
+
- - ">="
|
151
123
|
- !ruby/object:Gem::Version
|
152
124
|
version: '0'
|
153
125
|
- !ruby/object:Gem::Dependency
|
154
126
|
name: cfoundry
|
155
127
|
requirement: !ruby/object:Gem::Requirement
|
156
128
|
requirements:
|
157
|
-
- -
|
129
|
+
- - ">="
|
158
130
|
- !ruby/object:Gem::Version
|
159
131
|
version: '0'
|
160
132
|
type: :runtime
|
161
133
|
prerelease: false
|
162
134
|
version_requirements: !ruby/object:Gem::Requirement
|
163
135
|
requirements:
|
164
|
-
- -
|
136
|
+
- - ">="
|
165
137
|
- !ruby/object:Gem::Version
|
166
138
|
version: '0'
|
167
139
|
- !ruby/object:Gem::Dependency
|
168
140
|
name: activesupport
|
169
141
|
requirement: !ruby/object:Gem::Requirement
|
170
142
|
requirements:
|
171
|
-
- -
|
143
|
+
- - ">="
|
172
144
|
- !ruby/object:Gem::Version
|
173
145
|
version: '0'
|
174
146
|
type: :runtime
|
175
147
|
prerelease: false
|
176
148
|
version_requirements: !ruby/object:Gem::Requirement
|
177
149
|
requirements:
|
178
|
-
- -
|
150
|
+
- - ">="
|
179
151
|
- !ruby/object:Gem::Version
|
180
152
|
version: '0'
|
181
153
|
- !ruby/object:Gem::Dependency
|
182
154
|
name: jwt
|
183
155
|
requirement: !ruby/object:Gem::Requirement
|
184
156
|
requirements:
|
185
|
-
- -
|
157
|
+
- - ">="
|
186
158
|
- !ruby/object:Gem::Version
|
187
159
|
version: 1.0.0
|
188
160
|
type: :runtime
|
189
161
|
prerelease: false
|
190
162
|
version_requirements: !ruby/object:Gem::Requirement
|
191
163
|
requirements:
|
192
|
-
- -
|
164
|
+
- - ">="
|
193
165
|
- !ruby/object:Gem::Version
|
194
166
|
version: 1.0.0
|
195
167
|
description: This gem provides additional helper classes and scripts for the cfoundry
|
@@ -203,8 +175,8 @@ executables:
|
|
203
175
|
extensions: []
|
204
176
|
extra_rdoc_files: []
|
205
177
|
files:
|
206
|
-
- .gitignore
|
207
|
-
- .gitmodules
|
178
|
+
- ".gitignore"
|
179
|
+
- ".gitmodules"
|
208
180
|
- CHANGELOG.textile
|
209
181
|
- Gemfile
|
210
182
|
- Gemfile.lock
|
@@ -240,17 +212,17 @@ require_paths:
|
|
240
212
|
- lib
|
241
213
|
required_ruby_version: !ruby/object:Gem::Requirement
|
242
214
|
requirements:
|
243
|
-
- -
|
215
|
+
- - ">="
|
244
216
|
- !ruby/object:Gem::Version
|
245
217
|
version: 1.9.3
|
246
218
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
219
|
requirements:
|
248
|
-
- -
|
220
|
+
- - ">="
|
249
221
|
- !ruby/object:Gem::Version
|
250
222
|
version: '0'
|
251
223
|
requirements: []
|
252
224
|
rubyforge_project:
|
253
|
-
rubygems_version: 2.
|
225
|
+
rubygems_version: 2.2.2
|
254
226
|
signing_key:
|
255
227
|
specification_version: 4
|
256
228
|
summary: This gem provides additional helper classes and scripts for the cfoundry
|