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.
@@ -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
@@ -0,0 +1,3 @@
1
+ module CFRuntime
2
+ VERSION = "0.0.1"
3
+ 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
+