corl 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/.document +5 -0
  2. data/.gitmodules +4 -0
  3. data/Gemfile +24 -0
  4. data/Gemfile.lock +123 -0
  5. data/LICENSE.txt +674 -0
  6. data/README.rdoc +27 -0
  7. data/Rakefile +78 -0
  8. data/VERSION +1 -0
  9. data/bin/corl +55 -0
  10. data/corl.gemspec +228 -0
  11. data/lib/corl/action/add.rb +69 -0
  12. data/lib/corl/action/bootstrap.rb +83 -0
  13. data/lib/corl/action/clone.rb +40 -0
  14. data/lib/corl/action/create.rb +55 -0
  15. data/lib/corl/action/exec.rb +41 -0
  16. data/lib/corl/action/extract.rb +49 -0
  17. data/lib/corl/action/image.rb +30 -0
  18. data/lib/corl/action/images.rb +55 -0
  19. data/lib/corl/action/lookup.rb +35 -0
  20. data/lib/corl/action/machines.rb +51 -0
  21. data/lib/corl/action/provision.rb +37 -0
  22. data/lib/corl/action/remove.rb +51 -0
  23. data/lib/corl/action/save.rb +53 -0
  24. data/lib/corl/action/seed.rb +115 -0
  25. data/lib/corl/action/spawn.rb +75 -0
  26. data/lib/corl/action/start.rb +37 -0
  27. data/lib/corl/action/stop.rb +30 -0
  28. data/lib/corl/action/update.rb +37 -0
  29. data/lib/corl/command/shell.rb +164 -0
  30. data/lib/corl/configuration/file.rb +386 -0
  31. data/lib/corl/event/puppet.rb +90 -0
  32. data/lib/corl/event/regex.rb +52 -0
  33. data/lib/corl/extension/puppetloader.rb +24 -0
  34. data/lib/corl/machine/fog.rb +310 -0
  35. data/lib/corl/machine/physical.rb +161 -0
  36. data/lib/corl/network/default.rb +26 -0
  37. data/lib/corl/node/aws.rb +90 -0
  38. data/lib/corl/node/fog.rb +198 -0
  39. data/lib/corl/node/google.rb +115 -0
  40. data/lib/corl/node/local.rb +26 -0
  41. data/lib/corl/node/rackspace.rb +89 -0
  42. data/lib/corl/project/git.rb +465 -0
  43. data/lib/corl/project/github.rb +108 -0
  44. data/lib/corl/provisioner/puppetnode/resource.rb +245 -0
  45. data/lib/corl/provisioner/puppetnode/resource_group.rb +205 -0
  46. data/lib/corl/provisioner/puppetnode.rb +407 -0
  47. data/lib/corl/template/environment.rb +73 -0
  48. data/lib/corl/template/json.rb +16 -0
  49. data/lib/corl/template/wrapper.rb +16 -0
  50. data/lib/corl/template/yaml.rb +16 -0
  51. data/lib/corl/translator/json.rb +27 -0
  52. data/lib/corl/translator/yaml.rb +27 -0
  53. data/lib/corl.rb +173 -0
  54. data/lib/corl_core/codes.rb +107 -0
  55. data/lib/corl_core/config/collection.rb +57 -0
  56. data/lib/corl_core/config/options.rb +70 -0
  57. data/lib/corl_core/config.rb +337 -0
  58. data/lib/corl_core/core.rb +59 -0
  59. data/lib/corl_core/corl.rb +254 -0
  60. data/lib/corl_core/errors.rb +84 -0
  61. data/lib/corl_core/facade.rb +126 -0
  62. data/lib/corl_core/gems.rb +72 -0
  63. data/lib/corl_core/manager.rb +425 -0
  64. data/lib/corl_core/mixin/action/commit.rb +58 -0
  65. data/lib/corl_core/mixin/action/keypair.rb +105 -0
  66. data/lib/corl_core/mixin/action/node.rb +129 -0
  67. data/lib/corl_core/mixin/action/project.rb +53 -0
  68. data/lib/corl_core/mixin/action/push.rb +52 -0
  69. data/lib/corl_core/mixin/config/collection.rb +53 -0
  70. data/lib/corl_core/mixin/config/ops.rb +53 -0
  71. data/lib/corl_core/mixin/config/options.rb +39 -0
  72. data/lib/corl_core/mixin/lookup.rb +196 -0
  73. data/lib/corl_core/mixin/macro/object_interface.rb +361 -0
  74. data/lib/corl_core/mixin/macro/plugin_interface.rb +380 -0
  75. data/lib/corl_core/mixin/settings.rb +46 -0
  76. data/lib/corl_core/mixin/sub_config.rb +148 -0
  77. data/lib/corl_core/mod/hash.rb +29 -0
  78. data/lib/corl_core/mod/hiera_backend.rb +63 -0
  79. data/lib/corl_core/plugin/action.rb +381 -0
  80. data/lib/corl_core/plugin/base.rb +374 -0
  81. data/lib/corl_core/plugin/command.rb +98 -0
  82. data/lib/corl_core/plugin/configuration.rb +177 -0
  83. data/lib/corl_core/plugin/event.rb +53 -0
  84. data/lib/corl_core/plugin/extension.rb +12 -0
  85. data/lib/corl_core/plugin/machine.rb +266 -0
  86. data/lib/corl_core/plugin/network.rb +359 -0
  87. data/lib/corl_core/plugin/node.rb +904 -0
  88. data/lib/corl_core/plugin/project.rb +927 -0
  89. data/lib/corl_core/plugin/provisioner.rb +51 -0
  90. data/lib/corl_core/plugin/template.rb +80 -0
  91. data/lib/corl_core/plugin/translator.rb +38 -0
  92. data/lib/corl_core/util/cli.rb +352 -0
  93. data/lib/corl_core/util/data.rb +404 -0
  94. data/lib/corl_core/util/disk.rb +114 -0
  95. data/lib/corl_core/util/git.rb +47 -0
  96. data/lib/corl_core/util/interface.rb +319 -0
  97. data/lib/corl_core/util/liquid.rb +17 -0
  98. data/lib/corl_core/util/package.rb +93 -0
  99. data/lib/corl_core/util/shell.rb +239 -0
  100. data/lib/corl_core/util/ssh.rb +286 -0
  101. data/lib/facter/corl_config_ready.rb +13 -0
  102. data/lib/facter/corl_exists.rb +15 -0
  103. data/lib/facter/corl_network.rb +17 -0
  104. data/lib/hiera/corl_logger.rb +18 -0
  105. data/lib/puppet/indirector/corl.rb +27 -0
  106. data/lib/puppet/indirector/data_binding/corl.rb +6 -0
  107. data/lib/puppet/parser/functions/config_initialized.rb +26 -0
  108. data/lib/puppet/parser/functions/corl_include.rb +44 -0
  109. data/lib/puppet/parser/functions/corl_resources.rb +58 -0
  110. data/lib/puppet/parser/functions/deep_merge.rb +21 -0
  111. data/lib/puppet/parser/functions/ensure.rb +29 -0
  112. data/lib/puppet/parser/functions/file_exists.rb +19 -0
  113. data/lib/puppet/parser/functions/global_array.rb +35 -0
  114. data/lib/puppet/parser/functions/global_hash.rb +35 -0
  115. data/lib/puppet/parser/functions/global_options.rb +23 -0
  116. data/lib/puppet/parser/functions/global_param.rb +43 -0
  117. data/lib/puppet/parser/functions/interpolate.rb +26 -0
  118. data/lib/puppet/parser/functions/is_false.rb +21 -0
  119. data/lib/puppet/parser/functions/is_true.rb +21 -0
  120. data/lib/puppet/parser/functions/module_array.rb +38 -0
  121. data/lib/puppet/parser/functions/module_hash.rb +38 -0
  122. data/lib/puppet/parser/functions/module_options.rb +23 -0
  123. data/lib/puppet/parser/functions/module_param.rb +48 -0
  124. data/lib/puppet/parser/functions/name.rb +21 -0
  125. data/lib/puppet/parser/functions/render.rb +33 -0
  126. data/lib/puppet/parser/functions/value.rb +21 -0
  127. data/locales/en.yml +232 -0
  128. data/spec/corl_core/interface_spec.rb +489 -0
  129. data/spec/corl_mock_input.rb +29 -0
  130. data/spec/corl_test_kernel.rb +22 -0
  131. data/spec/spec_helper.rb +15 -0
  132. metadata +406 -0
metadata ADDED
@@ -0,0 +1,406 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: corl
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Adrian Webb
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-02-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: log4r
16
+ requirement: &13672300 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.1'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *13672300
25
+ - !ruby/object:Gem::Dependency
26
+ name: i18n
27
+ requirement: &13670860 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '0.6'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *13670860
36
+ - !ruby/object:Gem::Dependency
37
+ name: deep_merge
38
+ requirement: &13669880 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '1.0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *13669880
47
+ - !ruby/object:Gem::Dependency
48
+ name: celluloid
49
+ requirement: &13668760 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.15'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *13668760
58
+ - !ruby/object:Gem::Dependency
59
+ name: sshkey
60
+ requirement: &13636440 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '1.6'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *13636440
69
+ - !ruby/object:Gem::Dependency
70
+ name: hiera
71
+ requirement: &13635160 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: '1.3'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *13635160
80
+ - !ruby/object:Gem::Dependency
81
+ name: multi_json
82
+ requirement: &13632960 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: '1.7'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *13632960
91
+ - !ruby/object:Gem::Dependency
92
+ name: grit
93
+ requirement: &14008180 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '2.5'
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: *14008180
102
+ - !ruby/object:Gem::Dependency
103
+ name: octokit
104
+ requirement: &14171720 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '2.7'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *14171720
113
+ - !ruby/object:Gem::Dependency
114
+ name: netrc
115
+ requirement: &14170760 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: '0.7'
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *14170760
124
+ - !ruby/object:Gem::Dependency
125
+ name: fog
126
+ requirement: &14170240 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: '1.20'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: *14170240
135
+ - !ruby/object:Gem::Dependency
136
+ name: rgen
137
+ requirement: &14169640 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: '0.6'
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: *14169640
146
+ - !ruby/object:Gem::Dependency
147
+ name: facter
148
+ requirement: &14168680 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ~>
152
+ - !ruby/object:Gem::Version
153
+ version: '1.7'
154
+ type: :runtime
155
+ prerelease: false
156
+ version_requirements: *14168680
157
+ - !ruby/object:Gem::Dependency
158
+ name: puppet
159
+ requirement: &14167480 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ~>
163
+ - !ruby/object:Gem::Version
164
+ version: '3.2'
165
+ type: :runtime
166
+ prerelease: false
167
+ version_requirements: *14167480
168
+ - !ruby/object:Gem::Dependency
169
+ name: bundler
170
+ requirement: &14166160 !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ~>
174
+ - !ruby/object:Gem::Version
175
+ version: '1.2'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: *14166160
179
+ - !ruby/object:Gem::Dependency
180
+ name: jeweler
181
+ requirement: &14234700 !ruby/object:Gem::Requirement
182
+ none: false
183
+ requirements:
184
+ - - ~>
185
+ - !ruby/object:Gem::Version
186
+ version: '2.0'
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: *14234700
190
+ - !ruby/object:Gem::Dependency
191
+ name: rspec
192
+ requirement: &14233900 !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: '2.10'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: *14233900
201
+ - !ruby/object:Gem::Dependency
202
+ name: rdoc
203
+ requirement: &14232740 !ruby/object:Gem::Requirement
204
+ none: false
205
+ requirements:
206
+ - - ~>
207
+ - !ruby/object:Gem::Version
208
+ version: '3.12'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: *14232740
212
+ - !ruby/object:Gem::Dependency
213
+ name: yard
214
+ requirement: &14231020 !ruby/object:Gem::Requirement
215
+ none: false
216
+ requirements:
217
+ - - ~>
218
+ - !ruby/object:Gem::Version
219
+ version: '0.8'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: *14231020
223
+ description: ! "= CORL (Cluster Orchestration and Research Library)\n\nComing soon!\n\nNote:
224
+ \ This library is still very early in development!\n\n== Contributing to CORL\n
225
+ \n* Check out the latest {major}.{minor} branch to make sure the feature hasn't
226
+ \n been implemented or the bug hasn't been fixed yet.\n* Check out the issue tracker
227
+ to make sure someone already hasn't requested \n it and/or contributed it.\n* Fork
228
+ the project.\n* Start a feature/bugfix branch.\n* Commit and push until you are
229
+ happy with your contribution.\n* Make sure to add tests for it. This is important
230
+ so I don't break it in a \n future version unintentionally.\n* Please try not to
231
+ mess with the Rakefile, version, or history. If you want \n to have your own version,
232
+ or is otherwise necessary, that is fine, but \n please isolate to its own commit
233
+ so I can cherry-pick around it.\n\n== Copyright\n\nLicensed under GPLv3. See LICENSE.txt
234
+ for further details.\n\nCopyright (c) 2013 Adrian Webb <adrian.webb@coralnexus.com>\nCoral
235
+ Technology Group LLC"
236
+ email: adrian.webb@coralnexus.com
237
+ executables:
238
+ - corl
239
+ extensions: []
240
+ extra_rdoc_files:
241
+ - LICENSE.txt
242
+ - README.rdoc
243
+ files:
244
+ - .document
245
+ - .gitmodules
246
+ - Gemfile
247
+ - Gemfile.lock
248
+ - LICENSE.txt
249
+ - README.rdoc
250
+ - Rakefile
251
+ - VERSION
252
+ - bin/corl
253
+ - corl.gemspec
254
+ - lib/corl.rb
255
+ - lib/corl/action/add.rb
256
+ - lib/corl/action/bootstrap.rb
257
+ - lib/corl/action/clone.rb
258
+ - lib/corl/action/create.rb
259
+ - lib/corl/action/exec.rb
260
+ - lib/corl/action/extract.rb
261
+ - lib/corl/action/image.rb
262
+ - lib/corl/action/images.rb
263
+ - lib/corl/action/lookup.rb
264
+ - lib/corl/action/machines.rb
265
+ - lib/corl/action/provision.rb
266
+ - lib/corl/action/remove.rb
267
+ - lib/corl/action/save.rb
268
+ - lib/corl/action/seed.rb
269
+ - lib/corl/action/spawn.rb
270
+ - lib/corl/action/start.rb
271
+ - lib/corl/action/stop.rb
272
+ - lib/corl/action/update.rb
273
+ - lib/corl/command/shell.rb
274
+ - lib/corl/configuration/file.rb
275
+ - lib/corl/event/puppet.rb
276
+ - lib/corl/event/regex.rb
277
+ - lib/corl/extension/puppetloader.rb
278
+ - lib/corl/machine/fog.rb
279
+ - lib/corl/machine/physical.rb
280
+ - lib/corl/network/default.rb
281
+ - lib/corl/node/aws.rb
282
+ - lib/corl/node/fog.rb
283
+ - lib/corl/node/google.rb
284
+ - lib/corl/node/local.rb
285
+ - lib/corl/node/rackspace.rb
286
+ - lib/corl/project/git.rb
287
+ - lib/corl/project/github.rb
288
+ - lib/corl/provisioner/puppetnode.rb
289
+ - lib/corl/provisioner/puppetnode/resource.rb
290
+ - lib/corl/provisioner/puppetnode/resource_group.rb
291
+ - lib/corl/template/environment.rb
292
+ - lib/corl/template/json.rb
293
+ - lib/corl/template/wrapper.rb
294
+ - lib/corl/template/yaml.rb
295
+ - lib/corl/translator/json.rb
296
+ - lib/corl/translator/yaml.rb
297
+ - lib/corl_core/codes.rb
298
+ - lib/corl_core/config.rb
299
+ - lib/corl_core/config/collection.rb
300
+ - lib/corl_core/config/options.rb
301
+ - lib/corl_core/core.rb
302
+ - lib/corl_core/corl.rb
303
+ - lib/corl_core/errors.rb
304
+ - lib/corl_core/facade.rb
305
+ - lib/corl_core/gems.rb
306
+ - lib/corl_core/manager.rb
307
+ - lib/corl_core/mixin/action/commit.rb
308
+ - lib/corl_core/mixin/action/keypair.rb
309
+ - lib/corl_core/mixin/action/node.rb
310
+ - lib/corl_core/mixin/action/project.rb
311
+ - lib/corl_core/mixin/action/push.rb
312
+ - lib/corl_core/mixin/config/collection.rb
313
+ - lib/corl_core/mixin/config/ops.rb
314
+ - lib/corl_core/mixin/config/options.rb
315
+ - lib/corl_core/mixin/lookup.rb
316
+ - lib/corl_core/mixin/macro/object_interface.rb
317
+ - lib/corl_core/mixin/macro/plugin_interface.rb
318
+ - lib/corl_core/mixin/settings.rb
319
+ - lib/corl_core/mixin/sub_config.rb
320
+ - lib/corl_core/mod/hash.rb
321
+ - lib/corl_core/mod/hiera_backend.rb
322
+ - lib/corl_core/plugin/action.rb
323
+ - lib/corl_core/plugin/base.rb
324
+ - lib/corl_core/plugin/command.rb
325
+ - lib/corl_core/plugin/configuration.rb
326
+ - lib/corl_core/plugin/event.rb
327
+ - lib/corl_core/plugin/extension.rb
328
+ - lib/corl_core/plugin/machine.rb
329
+ - lib/corl_core/plugin/network.rb
330
+ - lib/corl_core/plugin/node.rb
331
+ - lib/corl_core/plugin/project.rb
332
+ - lib/corl_core/plugin/provisioner.rb
333
+ - lib/corl_core/plugin/template.rb
334
+ - lib/corl_core/plugin/translator.rb
335
+ - lib/corl_core/util/cli.rb
336
+ - lib/corl_core/util/data.rb
337
+ - lib/corl_core/util/disk.rb
338
+ - lib/corl_core/util/git.rb
339
+ - lib/corl_core/util/interface.rb
340
+ - lib/corl_core/util/liquid.rb
341
+ - lib/corl_core/util/package.rb
342
+ - lib/corl_core/util/shell.rb
343
+ - lib/corl_core/util/ssh.rb
344
+ - lib/facter/corl_config_ready.rb
345
+ - lib/facter/corl_exists.rb
346
+ - lib/facter/corl_network.rb
347
+ - lib/hiera/corl_logger.rb
348
+ - lib/puppet/indirector/corl.rb
349
+ - lib/puppet/indirector/data_binding/corl.rb
350
+ - lib/puppet/parser/functions/config_initialized.rb
351
+ - lib/puppet/parser/functions/corl_include.rb
352
+ - lib/puppet/parser/functions/corl_resources.rb
353
+ - lib/puppet/parser/functions/deep_merge.rb
354
+ - lib/puppet/parser/functions/ensure.rb
355
+ - lib/puppet/parser/functions/file_exists.rb
356
+ - lib/puppet/parser/functions/global_array.rb
357
+ - lib/puppet/parser/functions/global_hash.rb
358
+ - lib/puppet/parser/functions/global_options.rb
359
+ - lib/puppet/parser/functions/global_param.rb
360
+ - lib/puppet/parser/functions/interpolate.rb
361
+ - lib/puppet/parser/functions/is_false.rb
362
+ - lib/puppet/parser/functions/is_true.rb
363
+ - lib/puppet/parser/functions/module_array.rb
364
+ - lib/puppet/parser/functions/module_hash.rb
365
+ - lib/puppet/parser/functions/module_options.rb
366
+ - lib/puppet/parser/functions/module_param.rb
367
+ - lib/puppet/parser/functions/name.rb
368
+ - lib/puppet/parser/functions/render.rb
369
+ - lib/puppet/parser/functions/value.rb
370
+ - locales/en.yml
371
+ - spec/corl_core/interface_spec.rb
372
+ - spec/corl_mock_input.rb
373
+ - spec/corl_test_kernel.rb
374
+ - spec/spec_helper.rb
375
+ homepage: http://github.com/coralnexus/corl
376
+ licenses:
377
+ - GPLv3
378
+ post_install_message:
379
+ rdoc_options:
380
+ - --title
381
+ - Cluster Orchestration and Research Library
382
+ - --main
383
+ - README.rdoc
384
+ - --line-numbers
385
+ require_paths:
386
+ - lib
387
+ required_ruby_version: !ruby/object:Gem::Requirement
388
+ none: false
389
+ requirements:
390
+ - - ! '>='
391
+ - !ruby/object:Gem::Version
392
+ version: 1.8.1
393
+ required_rubygems_version: !ruby/object:Gem::Requirement
394
+ none: false
395
+ requirements:
396
+ - - ! '>='
397
+ - !ruby/object:Gem::Version
398
+ version: '0'
399
+ requirements: []
400
+ rubyforge_project: corl
401
+ rubygems_version: 1.8.11
402
+ signing_key:
403
+ specification_version: 3
404
+ summary: Provides core data elements and utilities used in other CORL gems
405
+ test_files: []
406
+ has_rdoc: