cfoundry_helper 0.3.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19904dfa34730a958d5094029a7b231b24b01968
4
- data.tar.gz: e4d21a700c8c1f3ae817ae086b7b46e042c5da53
3
+ metadata.gz: 1dccf635280428448ea0574de836d9970f608077
4
+ data.tar.gz: 8eb00847aa13ae11d1f02b42a2313c8ee240482c
5
5
  SHA512:
6
- metadata.gz: 5e0bd11fcc89ae298939e6cd181055a4f06fcd01cbcea5b65e94994c864c54d16d175b5cdd90cb0d5bf9e4dbd19c53c4c1557374976c6e261c47b8f2abd9f2ab
7
- data.tar.gz: a7b99e2619e04bf586419dba24129f0b3b6156ee6979fb7f3d1475ea0e708f400b8d28141dcc79a4774748360ecdadaf1febbd2c193db63ac094e5d3a6c75c29
6
+ metadata.gz: 6bbe3eab3c049e54afe374507f53c66f354376cebc1b0da2749026d53f037e1a2b09ffe8b95289f5f90d11b6be2f9bf759488cf8b3b916ab3673bd77c6a75d09
7
+ data.tar.gz: 13bfc7d20ec033a224cf60f913a728064edd31d8e8713547c337612f387974efa81cdd8f421ee694583f67e0e427472603d73863a722f5fd0a192d9e1f7e8d8b
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cfoundry_helper (0.3.3)
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.0.0)
13
- activesupport (= 4.0.0)
14
- builder (~> 3.1.0)
15
- activesupport (4.0.0)
16
- i18n (~> 0.6, >= 0.6.4)
17
- minitest (~> 4.2)
18
- multi_json (~> 1.3)
19
- thread_safe (~> 0.1)
20
- tzinfo (~> 0.3.37)
21
- atomic (1.1.14)
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.6.5)
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 (4.7.5)
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.1.3)
79
- atomic
80
- tzinfo (0.3.38)
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.3.3
1
+ 0.4.0
@@ -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
- # just return the already initialized client if present
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
- @@scim_client = ::CF::UAA::Scim.new(CFoundryHelper.config[@@current_target_url]['uaa']['site'], "bEareR #{access_token}")
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 expierd.
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
@@ -1,3 +1,3 @@
1
1
  module CFoundryHelper
2
- VERSION = "0.3.3"
2
+ VERSION = "0.4.0"
3
3
  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.3.3
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: 2014-07-10 00:00:00.000000000 Z
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.0.6
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