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 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