cf-runtime 0.0.1
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.
- data/LICENSE +12737 -0
- data/README.md +28 -0
- data/lib/cfruntime.rb +26 -0
- data/lib/cfruntime/amqp.rb +43 -0
- data/lib/cfruntime/carrot.rb +44 -0
- data/lib/cfruntime/mongodb.rb +86 -0
- data/lib/cfruntime/mysql.rb +44 -0
- data/lib/cfruntime/postgres.rb +50 -0
- data/lib/cfruntime/properties.rb +124 -0
- data/lib/cfruntime/redis.rb +44 -0
- data/lib/cfruntime/version.rb +3 -0
- metadata +266 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'redis'
|
2
|
+
require 'cfruntime/properties'
|
3
|
+
module CFRuntime
|
4
|
+
class RedisClient
|
5
|
+
|
6
|
+
# Creates and returns a +Redis+ instance connected to a single redis service.
|
7
|
+
# Passes optional Hash of non-connection-related options to +Redis.new+.
|
8
|
+
# Raises +ArgumentError+ If zero or multiple redis services are found.
|
9
|
+
def self.create(options={})
|
10
|
+
service_names = CloudApp.service_names_of_type('redis')
|
11
|
+
if service_names.length != 1
|
12
|
+
raise ArgumentError.new("Expected 1 service of redis type, " +
|
13
|
+
"but found #{service_names.length}. " +
|
14
|
+
"Consider using create_from_svc(service_name) instead.")
|
15
|
+
end
|
16
|
+
create_from_svc(service_names[0],options)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Creates and returns a +Redis+ instance connected to a redis service with the
|
20
|
+
# specified name.
|
21
|
+
# Passes optional Hash of non-connection-related options to +Redis.new+.
|
22
|
+
# Raises +ArgumentError+ If specified redis service is not found.
|
23
|
+
def self.create_from_svc(service_name, options={})
|
24
|
+
Redis.new(options_for_svc(service_name,options))
|
25
|
+
end
|
26
|
+
|
27
|
+
# Merges provided options with connection options for specified redis service.
|
28
|
+
# Returns merged Hash containing (password, :host, :port)
|
29
|
+
# Raises +ArgumentError+ If specified redis service is not found.
|
30
|
+
def self.options_for_svc(service_name,options={})
|
31
|
+
service_props = CFRuntime::CloudApp.service_props(service_name)
|
32
|
+
if service_props.nil?
|
33
|
+
raise ArgumentError.new("Service with name #{service_name} not found")
|
34
|
+
end
|
35
|
+
cfoptions = options
|
36
|
+
cfoptions[:host] = service_props[:host]
|
37
|
+
cfoptions[:port] = service_props[:port]
|
38
|
+
cfoptions[:password] = service_props[:password]
|
39
|
+
#host and port are ignored if path is provided, so we null it out
|
40
|
+
cfoptions[:path] = nil
|
41
|
+
cfoptions
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
metadata
ADDED
@@ -0,0 +1,266 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cf-runtime
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- VMware
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-02-10 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: crack
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ~>
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 17
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 3
|
32
|
+
- 1
|
33
|
+
version: 0.3.1
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: redis
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 2
|
47
|
+
- 0
|
48
|
+
version: "2.0"
|
49
|
+
type: :development
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: amqp
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 27
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
- 8
|
63
|
+
version: "0.8"
|
64
|
+
type: :development
|
65
|
+
version_requirements: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
name: carrot
|
68
|
+
prerelease: false
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ~>
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 15
|
75
|
+
segments:
|
76
|
+
- 1
|
77
|
+
- 0
|
78
|
+
version: "1.0"
|
79
|
+
type: :development
|
80
|
+
version_requirements: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: mongo
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 31
|
90
|
+
segments:
|
91
|
+
- 1
|
92
|
+
- 2
|
93
|
+
- 0
|
94
|
+
version: 1.2.0
|
95
|
+
type: :development
|
96
|
+
version_requirements: *id005
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pg
|
99
|
+
prerelease: false
|
100
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
102
|
+
requirements:
|
103
|
+
- - ~>
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
hash: 51
|
106
|
+
segments:
|
107
|
+
- 0
|
108
|
+
- 11
|
109
|
+
- 0
|
110
|
+
version: 0.11.0
|
111
|
+
type: :development
|
112
|
+
version_requirements: *id006
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: mysql2
|
115
|
+
prerelease: false
|
116
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
118
|
+
requirements:
|
119
|
+
- - ~>
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
hash: 25
|
122
|
+
segments:
|
123
|
+
- 0
|
124
|
+
- 2
|
125
|
+
- 7
|
126
|
+
version: 0.2.7
|
127
|
+
type: :development
|
128
|
+
version_requirements: *id007
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: rake
|
131
|
+
prerelease: false
|
132
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
134
|
+
requirements:
|
135
|
+
- - ~>
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
hash: 63
|
138
|
+
segments:
|
139
|
+
- 0
|
140
|
+
- 9
|
141
|
+
- 2
|
142
|
+
version: 0.9.2
|
143
|
+
type: :development
|
144
|
+
version_requirements: *id008
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: rcov
|
147
|
+
prerelease: false
|
148
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
150
|
+
requirements:
|
151
|
+
- - ~>
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
hash: 47
|
154
|
+
segments:
|
155
|
+
- 0
|
156
|
+
- 9
|
157
|
+
- 10
|
158
|
+
version: 0.9.10
|
159
|
+
type: :development
|
160
|
+
version_requirements: *id009
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
name: rack-test
|
163
|
+
prerelease: false
|
164
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
166
|
+
requirements:
|
167
|
+
- - ~>
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
hash: 5
|
170
|
+
segments:
|
171
|
+
- 0
|
172
|
+
- 6
|
173
|
+
- 1
|
174
|
+
version: 0.6.1
|
175
|
+
type: :development
|
176
|
+
version_requirements: *id010
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
name: rspec
|
179
|
+
prerelease: false
|
180
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
181
|
+
none: false
|
182
|
+
requirements:
|
183
|
+
- - ~>
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
hash: 23
|
186
|
+
segments:
|
187
|
+
- 2
|
188
|
+
- 6
|
189
|
+
- 0
|
190
|
+
version: 2.6.0
|
191
|
+
type: :development
|
192
|
+
version_requirements: *id011
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: ci_reporter
|
195
|
+
prerelease: false
|
196
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
197
|
+
none: false
|
198
|
+
requirements:
|
199
|
+
- - ~>
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
hash: 5
|
202
|
+
segments:
|
203
|
+
- 1
|
204
|
+
- 6
|
205
|
+
- 5
|
206
|
+
version: 1.6.5
|
207
|
+
type: :development
|
208
|
+
version_requirements: *id012
|
209
|
+
description: Cloud Foundry Runtime Library
|
210
|
+
email: support@vmware.com
|
211
|
+
executables: []
|
212
|
+
|
213
|
+
extensions: []
|
214
|
+
|
215
|
+
extra_rdoc_files:
|
216
|
+
- README.md
|
217
|
+
- LICENSE
|
218
|
+
files:
|
219
|
+
- LICENSE
|
220
|
+
- README.md
|
221
|
+
- lib/cfruntime/amqp.rb
|
222
|
+
- lib/cfruntime/carrot.rb
|
223
|
+
- lib/cfruntime/mongodb.rb
|
224
|
+
- lib/cfruntime/mysql.rb
|
225
|
+
- lib/cfruntime/postgres.rb
|
226
|
+
- lib/cfruntime/properties.rb
|
227
|
+
- lib/cfruntime/redis.rb
|
228
|
+
- lib/cfruntime/version.rb
|
229
|
+
- lib/cfruntime.rb
|
230
|
+
homepage: http://vmware.com
|
231
|
+
licenses: []
|
232
|
+
|
233
|
+
post_install_message:
|
234
|
+
rdoc_options:
|
235
|
+
- -N
|
236
|
+
- --tab-width=2
|
237
|
+
- --exclude='cf-runtime.gemspec|spec'
|
238
|
+
require_paths:
|
239
|
+
- lib
|
240
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
241
|
+
none: false
|
242
|
+
requirements:
|
243
|
+
- - ">="
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
hash: 3
|
246
|
+
segments:
|
247
|
+
- 0
|
248
|
+
version: "0"
|
249
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
250
|
+
none: false
|
251
|
+
requirements:
|
252
|
+
- - ">="
|
253
|
+
- !ruby/object:Gem::Version
|
254
|
+
hash: 3
|
255
|
+
segments:
|
256
|
+
- 0
|
257
|
+
version: "0"
|
258
|
+
requirements: []
|
259
|
+
|
260
|
+
rubyforge_project:
|
261
|
+
rubygems_version: 1.8.10
|
262
|
+
signing_key:
|
263
|
+
specification_version: 3
|
264
|
+
summary: Cloud Foundry Runtime Library
|
265
|
+
test_files: []
|
266
|
+
|