boris 1.0.0.beta.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.
Files changed (88) hide show
  1. data/LICENSE.md +9 -0
  2. data/README.md +94 -0
  3. data/boris.gemspec +28 -0
  4. data/doc/Array.html +437 -0
  5. data/doc/Boris.html +230 -0
  6. data/doc/Boris/ConnectionAlreadyActive.html +123 -0
  7. data/doc/Boris/ConnectionFailed.html +127 -0
  8. data/doc/Boris/Connector.html +794 -0
  9. data/doc/Boris/InvalidCredentials.html +131 -0
  10. data/doc/Boris/InvalidOption.html +123 -0
  11. data/doc/Boris/InvalidTargetName.html +123 -0
  12. data/doc/Boris/Lumberjack.html +466 -0
  13. data/doc/Boris/MissingCredentials.html +123 -0
  14. data/doc/Boris/NoActiveConnection.html +123 -0
  15. data/doc/Boris/NoProfileDetected.html +123 -0
  16. data/doc/Boris/Options.html +783 -0
  17. data/doc/Boris/Profiles.html +117 -0
  18. data/doc/Boris/Profiles/Linux.html +1151 -0
  19. data/doc/Boris/Profiles/RedHat.html +875 -0
  20. data/doc/Boris/Profiles/Solaris.html +1230 -0
  21. data/doc/Boris/Profiles/Structure.html +2050 -0
  22. data/doc/Boris/Profiles/UNIX.html +893 -0
  23. data/doc/Boris/Profiles/Windows.html +1846 -0
  24. data/doc/Boris/Profiles/Windows/Windows2003.html +304 -0
  25. data/doc/Boris/Profiles/Windows/Windows2008.html +379 -0
  26. data/doc/Boris/Profiles/Windows/Windows2012.html +304 -0
  27. data/doc/Boris/SNMPConnector.html +512 -0
  28. data/doc/Boris/SSHConnector.html +633 -0
  29. data/doc/Boris/Target.html +2002 -0
  30. data/doc/Boris/WMIConnector.html +1134 -0
  31. data/doc/BorisLogger.html +217 -0
  32. data/doc/Hash.html +195 -0
  33. data/doc/String.html +1246 -0
  34. data/doc/_index.html +420 -0
  35. data/doc/class_list.html +53 -0
  36. data/doc/css/common.css +1 -0
  37. data/doc/css/full_list.css +57 -0
  38. data/doc/css/style.css +328 -0
  39. data/doc/file.README.html +183 -0
  40. data/doc/file_list.html +55 -0
  41. data/doc/frames.html +28 -0
  42. data/doc/index.html +183 -0
  43. data/doc/js/app.js +214 -0
  44. data/doc/js/full_list.js +173 -0
  45. data/doc/js/jquery.js +4 -0
  46. data/doc/method_list.html +1468 -0
  47. data/doc/top-level-namespace.html +126 -0
  48. data/lib/boris.rb +30 -0
  49. data/lib/boris/connectors.rb +47 -0
  50. data/lib/boris/connectors/snmp.rb +56 -0
  51. data/lib/boris/connectors/ssh.rb +110 -0
  52. data/lib/boris/connectors/wmi.rb +186 -0
  53. data/lib/boris/errors.rb +17 -0
  54. data/lib/boris/helpers/array.rb +63 -0
  55. data/lib/boris/helpers/constants.rb +20 -0
  56. data/lib/boris/helpers/hash.rb +8 -0
  57. data/lib/boris/helpers/scrubber.rb +51 -0
  58. data/lib/boris/helpers/string.rb +130 -0
  59. data/lib/boris/lumberjack.rb +47 -0
  60. data/lib/boris/options.rb +86 -0
  61. data/lib/boris/profiles/linux/redhat.rb +77 -0
  62. data/lib/boris/profiles/linux_core.rb +216 -0
  63. data/lib/boris/profiles/unix/solaris.rb +307 -0
  64. data/lib/boris/profiles/unix_core.rb +85 -0
  65. data/lib/boris/profiles/windows/windows2003.rb +15 -0
  66. data/lib/boris/profiles/windows/windows2008.rb +23 -0
  67. data/lib/boris/profiles/windows/windows2012.rb +15 -0
  68. data/lib/boris/profiles/windows_core.rb +530 -0
  69. data/lib/boris/structure.rb +167 -0
  70. data/lib/boris/target.rb +340 -0
  71. data/test/connector_tests/test_snmp.rb +35 -0
  72. data/test/connector_tests/test_ssh.rb +51 -0
  73. data/test/connector_tests/test_wmi.rb +129 -0
  74. data/test/helper_tests/test_array.rb +25 -0
  75. data/test/helper_tests/test_hash.rb +10 -0
  76. data/test/helper_tests/test_string.rb +136 -0
  77. data/test/profile_tests/test_core_skeleton +107 -0
  78. data/test/profile_tests/test_linux_core.rb +331 -0
  79. data/test/profile_tests/test_redhat.rb +134 -0
  80. data/test/profile_tests/test_solaris.rb +523 -0
  81. data/test/profile_tests/test_unix_core.rb +117 -0
  82. data/test/profile_tests/test_windows.rb +536 -0
  83. data/test/setup_tests.rb +14 -0
  84. data/test/test_all.rb +8 -0
  85. data/test/test_options.rb +44 -0
  86. data/test/test_structure.rb +136 -0
  87. data/test/test_target.rb +146 -0
  88. metadata +241 -0
@@ -0,0 +1,1134 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Boris::WMIConnector
8
+
9
+ &mdash; Documentation by YARD 0.8.3
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (W)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Boris.html" title="Boris (module)">Boris</a></span></span>
36
+ &raquo;
37
+ <span class="title">WMIConnector</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Boris::WMIConnector
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName"><span class='object_link'><a href="Connector.html" title="Boris::Connector (class)">Connector</a></span></span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next"><span class='object_link'><a href="Connector.html" title="Boris::Connector (class)">Connector</a></span></li>
82
+
83
+ <li class="next">Boris::WMIConnector</li>
84
+
85
+ </ul>
86
+ <a href="#" class="inheritanceTree">show all</a>
87
+
88
+ </dd>
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+ <dt class="r2 last">Defined in:</dt>
99
+ <dd class="r2 last">lib/boris/connectors/wmi.rb</dd>
100
+
101
+ </dl>
102
+ <div class="clear"></div>
103
+
104
+
105
+ <h2>Constant Summary</h2>
106
+
107
+ <dl class="constants">
108
+
109
+ <dt id="HKEY_LOCAL_MACHINE-constant" class="">HKEY_LOCAL_MACHINE =
110
+
111
+ </dt>
112
+ <dd><pre class="code"><span class='int'>0x80000002</span></pre></dd>
113
+
114
+ <dt id="KEY_QUERY_VALUE-constant" class="">KEY_QUERY_VALUE =
115
+
116
+ </dt>
117
+ <dd><pre class="code"><span class='int'>1</span></pre></dd>
118
+
119
+ <dt id="KEY_ENUMERATE_SUB_KEYS-constant" class="">KEY_ENUMERATE_SUB_KEYS =
120
+
121
+ </dt>
122
+ <dd><pre class="code"><span class='int'>8</span></pre></dd>
123
+
124
+ </dl>
125
+
126
+
127
+
128
+
129
+
130
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
131
+ <ul class="summary">
132
+
133
+ <li class="public ">
134
+ <span class="summary_signature">
135
+
136
+ <a href="#registry-instance_method" title="#registry (instance method)">- (Object) <strong>registry</strong> </a>
137
+
138
+
139
+
140
+ </span>
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+ <span class="summary_desc"><div class='inline'>
154
+ <p>Returns the value of attribute registry.</p>
155
+ </div></span>
156
+
157
+ </li>
158
+
159
+
160
+ <li class="public ">
161
+ <span class="summary_signature">
162
+
163
+ <a href="#root_wmi-instance_method" title="#root_wmi (instance method)">- (Object) <strong>root_wmi</strong> </a>
164
+
165
+
166
+
167
+ </span>
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+ <span class="summary_desc"><div class='inline'>
181
+ <p>Returns the value of attribute root_wmi.</p>
182
+ </div></span>
183
+
184
+ </li>
185
+
186
+
187
+ <li class="public ">
188
+ <span class="summary_signature">
189
+
190
+ <a href="#wmi-instance_method" title="#wmi (instance method)">- (Object) <strong>wmi</strong> </a>
191
+
192
+
193
+
194
+ </span>
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+ <span class="summary_desc"><div class='inline'>
208
+ <p>Returns the value of attribute wmi.</p>
209
+ </div></span>
210
+
211
+ </li>
212
+
213
+
214
+ </ul>
215
+
216
+
217
+
218
+
219
+
220
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Connector.html" title="Boris::Connector (class)">Connector</a></span></h3>
221
+ <p class="inherited"><span class='object_link'><a href="Connector.html#connected-instance_method" title="Boris::Connector#connected (method)">#connected</a></span>, <span class='object_link'><a href="Connector.html#host-instance_method" title="Boris::Connector#host (method)">#host</a></span>, <span class='object_link'><a href="Connector.html#options-instance_method" title="Boris::Connector#options (method)">#options</a></span>, <span class='object_link'><a href="Connector.html#reconnectable-instance_method" title="Boris::Connector#reconnectable (method)">#reconnectable</a></span></p>
222
+
223
+
224
+
225
+ <h3 class="inherited">Attributes included from <span class='object_link'><a href="Lumberjack.html" title="Boris::Lumberjack (module)">Lumberjack</a></span></h3>
226
+ <p class="inherited"><span class='object_link'><a href="Lumberjack.html#logger-instance_method" title="Boris::Lumberjack#logger (method)">#logger</a></span></p>
227
+
228
+
229
+
230
+ <h2>
231
+ Instance Method Summary
232
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
233
+ </h2>
234
+
235
+ <ul class="summary">
236
+
237
+ <li class="public ">
238
+ <span class="summary_signature">
239
+
240
+ <a href="#disconnect-instance_method" title="#disconnect (instance method)">- (Object) <strong>disconnect</strong> </a>
241
+
242
+
243
+
244
+ </span>
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+ <span class="summary_desc"><div class='inline'></div></span>
255
+
256
+ </li>
257
+
258
+
259
+ <li class="public ">
260
+ <span class="summary_signature">
261
+
262
+ <a href="#establish_connection-instance_method" title="#establish_connection (instance method)">- (Object) <strong>establish_connection</strong> </a>
263
+
264
+
265
+
266
+ </span>
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+ <span class="summary_desc"><div class='inline'></div></span>
277
+
278
+ </li>
279
+
280
+
281
+ <li class="public ">
282
+ <span class="summary_signature">
283
+
284
+ <a href="#has_access_for-instance_method" title="#has_access_for (instance method)">- (Object) <strong>has_access_for</strong>(key_path, permission_to_check = nil) </a>
285
+
286
+
287
+
288
+ </span>
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+ <span class="summary_desc"><div class='inline'></div></span>
299
+
300
+ </li>
301
+
302
+
303
+ <li class="public ">
304
+ <span class="summary_signature">
305
+
306
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (WMIConnector) <strong>initialize</strong>(host, cred, options, logger = nil) </a>
307
+
308
+
309
+
310
+ </span>
311
+
312
+
313
+ <span class="note title constructor">constructor</span>
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+ <span class="summary_desc"><div class='inline'>
323
+ <p>A new instance of WMIConnector.</p>
324
+ </div></span>
325
+
326
+ </li>
327
+
328
+
329
+ <li class="public ">
330
+ <span class="summary_signature">
331
+
332
+ <a href="#registry_subkeys_at-instance_method" title="#registry_subkeys_at (instance method)">- (Object) <strong>registry_subkeys_at</strong>(key_path) </a>
333
+
334
+
335
+
336
+ </span>
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+ <span class="summary_desc"><div class='inline'></div></span>
347
+
348
+ </li>
349
+
350
+
351
+ <li class="public ">
352
+ <span class="summary_signature">
353
+
354
+ <a href="#registry_values_at-instance_method" title="#registry_values_at (instance method)">- (Object) <strong>registry_values_at</strong>(key_path) </a>
355
+
356
+
357
+
358
+ </span>
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+ <span class="summary_desc"><div class='inline'></div></span>
369
+
370
+ </li>
371
+
372
+
373
+ <li class="public ">
374
+ <span class="summary_signature">
375
+
376
+ <a href="#value_at-instance_method" title="#value_at (instance method)">- (Object) <strong>value_at</strong>(request, conn = :wmi) </a>
377
+
378
+
379
+
380
+ </span>
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+ <span class="summary_desc"><div class='inline'></div></span>
391
+
392
+ </li>
393
+
394
+
395
+ <li class="public ">
396
+ <span class="summary_signature">
397
+
398
+ <a href="#values_at-instance_method" title="#values_at (instance method)">- (Object) <strong>values_at</strong>(request, conn = :wmi, limit = nil) </a>
399
+
400
+
401
+
402
+ </span>
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+ <span class="summary_desc"><div class='inline'></div></span>
413
+
414
+ </li>
415
+
416
+
417
+ </ul>
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Connector.html" title="Boris::Connector (class)">Connector</a></span></h3>
430
+ <p class="inherited"><span class='object_link'><a href="Connector.html#connected%3F-instance_method" title="Boris::Connector#connected? (method)">#connected?</a></span></p>
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Lumberjack.html" title="Boris::Lumberjack (module)">Lumberjack</a></span></h3>
441
+ <p class="inherited"><span class='object_link'><a href="Lumberjack.html#debug-instance_method" title="Boris::Lumberjack#debug (method)">#debug</a></span>, <span class='object_link'><a href="Lumberjack.html#error-instance_method" title="Boris::Lumberjack#error (method)">#error</a></span>, <span class='object_link'><a href="Lumberjack.html#fatal-instance_method" title="Boris::Lumberjack#fatal (method)">#fatal</a></span>, <span class='object_link'><a href="Lumberjack.html#info-instance_method" title="Boris::Lumberjack#info (method)">#info</a></span>, <span class='object_link'><a href="Lumberjack.html#warn-instance_method" title="Boris::Lumberjack#warn (method)">#warn</a></span></p>
442
+ <div id="constructor_details" class="method_details_list">
443
+ <h2>Constructor Details</h2>
444
+
445
+ <div class="method_details first">
446
+ <h3 class="signature first" id="initialize-instance_method">
447
+
448
+ - (<tt><span class='object_link'><a href="" title="Boris::WMIConnector (class)">WMIConnector</a></span></tt>) <strong>initialize</strong>(host, cred, options, logger = nil)
449
+
450
+
451
+
452
+
453
+
454
+ </h3><div class="docstring">
455
+ <div class="discussion">
456
+
457
+ <p>A new instance of WMIConnector</p>
458
+
459
+
460
+ </div>
461
+ </div>
462
+ <div class="tags">
463
+
464
+
465
+ </div><table class="source_code">
466
+ <tr>
467
+ <td>
468
+ <pre class="lines">
469
+
470
+
471
+ 11
472
+ 12
473
+ 13</pre>
474
+ </td>
475
+ <td>
476
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 11</span>
477
+
478
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_cred'>cred</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_logger'>logger</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
479
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_cred'>cred</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_logger'>logger</span><span class='rparen'>)</span>
480
+ <span class='kw'>end</span></pre>
481
+ </td>
482
+ </tr>
483
+ </table>
484
+ </div>
485
+
486
+ </div>
487
+
488
+ <div id="instance_attr_details" class="attr_details">
489
+ <h2>Instance Attribute Details</h2>
490
+
491
+
492
+ <span id="registry=-instance_method"></span>
493
+ <div class="method_details first">
494
+ <h3 class="signature first" id="registry-instance_method">
495
+
496
+ - (<tt>Object</tt>) <strong>registry</strong>
497
+
498
+
499
+
500
+
501
+
502
+ </h3><div class="docstring">
503
+ <div class="discussion">
504
+
505
+ <p>Returns the value of attribute registry</p>
506
+
507
+
508
+ </div>
509
+ </div>
510
+ <div class="tags">
511
+
512
+
513
+ </div><table class="source_code">
514
+ <tr>
515
+ <td>
516
+ <pre class="lines">
517
+
518
+
519
+ 5
520
+ 6
521
+ 7</pre>
522
+ </td>
523
+ <td>
524
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 5</span>
525
+
526
+ <span class='kw'>def</span> <span class='id identifier rubyid_registry'>registry</span>
527
+ <span class='ivar'>@registry</span>
528
+ <span class='kw'>end</span></pre>
529
+ </td>
530
+ </tr>
531
+ </table>
532
+ </div>
533
+
534
+
535
+ <span id="root_wmi=-instance_method"></span>
536
+ <div class="method_details ">
537
+ <h3 class="signature " id="root_wmi-instance_method">
538
+
539
+ - (<tt>Object</tt>) <strong>root_wmi</strong>
540
+
541
+
542
+
543
+
544
+
545
+ </h3><div class="docstring">
546
+ <div class="discussion">
547
+
548
+ <p>Returns the value of attribute root_wmi</p>
549
+
550
+
551
+ </div>
552
+ </div>
553
+ <div class="tags">
554
+
555
+
556
+ </div><table class="source_code">
557
+ <tr>
558
+ <td>
559
+ <pre class="lines">
560
+
561
+
562
+ 5
563
+ 6
564
+ 7</pre>
565
+ </td>
566
+ <td>
567
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 5</span>
568
+
569
+ <span class='kw'>def</span> <span class='id identifier rubyid_root_wmi'>root_wmi</span>
570
+ <span class='ivar'>@root_wmi</span>
571
+ <span class='kw'>end</span></pre>
572
+ </td>
573
+ </tr>
574
+ </table>
575
+ </div>
576
+
577
+
578
+ <span id="wmi=-instance_method"></span>
579
+ <div class="method_details ">
580
+ <h3 class="signature " id="wmi-instance_method">
581
+
582
+ - (<tt>Object</tt>) <strong>wmi</strong>
583
+
584
+
585
+
586
+
587
+
588
+ </h3><div class="docstring">
589
+ <div class="discussion">
590
+
591
+ <p>Returns the value of attribute wmi</p>
592
+
593
+
594
+ </div>
595
+ </div>
596
+ <div class="tags">
597
+
598
+
599
+ </div><table class="source_code">
600
+ <tr>
601
+ <td>
602
+ <pre class="lines">
603
+
604
+
605
+ 5
606
+ 6
607
+ 7</pre>
608
+ </td>
609
+ <td>
610
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 5</span>
611
+
612
+ <span class='kw'>def</span> <span class='id identifier rubyid_wmi'>wmi</span>
613
+ <span class='ivar'>@wmi</span>
614
+ <span class='kw'>end</span></pre>
615
+ </td>
616
+ </tr>
617
+ </table>
618
+ </div>
619
+
620
+ </div>
621
+
622
+
623
+ <div id="instance_method_details" class="method_details_list">
624
+ <h2>Instance Method Details</h2>
625
+
626
+
627
+ <div class="method_details first">
628
+ <h3 class="signature first" id="disconnect-instance_method">
629
+
630
+ - (<tt>Object</tt>) <strong>disconnect</strong>
631
+
632
+
633
+
634
+
635
+
636
+ </h3><table class="source_code">
637
+ <tr>
638
+ <td>
639
+ <pre class="lines">
640
+
641
+
642
+ 15
643
+ 16
644
+ 17
645
+ 18
646
+ 19
647
+ 20
648
+ 21
649
+ 22</pre>
650
+ </td>
651
+ <td>
652
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 15</span>
653
+
654
+ <span class='kw'>def</span> <span class='id identifier rubyid_disconnect'>disconnect</span>
655
+ <span class='kw'>super</span>
656
+ <span class='ivar'>@wmi</span> <span class='op'>=</span> <span class='kw'>nil</span>
657
+ <span class='ivar'>@registry</span> <span class='op'>=</span> <span class='kw'>nil</span>
658
+ <span class='ivar'>@root_wmi</span> <span class='op'>=</span> <span class='kw'>nil</span>
659
+
660
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>connections closed</span><span class='tstring_end'>'</span></span>
661
+ <span class='kw'>end</span></pre>
662
+ </td>
663
+ </tr>
664
+ </table>
665
+ </div>
666
+
667
+ <div class="method_details ">
668
+ <h3 class="signature " id="establish_connection-instance_method">
669
+
670
+ - (<tt>Object</tt>) <strong>establish_connection</strong>
671
+
672
+
673
+
674
+
675
+
676
+ </h3><table class="source_code">
677
+ <tr>
678
+ <td>
679
+ <pre class="lines">
680
+
681
+
682
+ 24
683
+ 25
684
+ 26
685
+ 27
686
+ 28
687
+ 29
688
+ 30
689
+ 31
690
+ 32
691
+ 33
692
+ 34
693
+ 35
694
+ 36
695
+ 37
696
+ 38
697
+ 39
698
+ 40
699
+ 41
700
+ 42
701
+ 43
702
+ 44
703
+ 45
704
+ 46
705
+ 47
706
+ 48
707
+ 49
708
+ 50
709
+ 51
710
+ 52
711
+ 53
712
+ 54
713
+ 55
714
+ 56
715
+ 57
716
+ 58
717
+ 59
718
+ 60
719
+ 61
720
+ 62
721
+ 63
722
+ 64
723
+ 65
724
+ 66</pre>
725
+ </td>
726
+ <td>
727
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 24</span>
728
+
729
+ <span class='kw'>def</span> <span class='id identifier rubyid_establish_connection'>establish_connection</span>
730
+ <span class='kw'>super</span>
731
+
732
+ <span class='kw'>begin</span>
733
+ <span class='id identifier rubyid_locator'>locator</span> <span class='op'>=</span> <span class='const'>WIN32OLE</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>WbemScripting.SWbemLocator</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
734
+
735
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>attempting connection to cimv2 namespace</span><span class='tstring_end'>'</span></span>
736
+ <span class='ivar'>@wmi</span> <span class='op'>=</span> <span class='id identifier rubyid_locator'>locator</span><span class='period'>.</span><span class='const'>ConnectServer</span><span class='lparen'>(</span><span class='ivar'>@host</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>root\cimv2</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='ivar'>@user</span><span class='comma'>,</span> <span class='ivar'>@password</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='int'>128</span><span class='rparen'>)</span>
737
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>connection to cimv2 namespace successful</span><span class='tstring_end'>'</span></span>
738
+
739
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>attempting connection to wmi root namespace</span><span class='tstring_end'>'</span></span>
740
+ <span class='ivar'>@root_wmi</span> <span class='op'>=</span> <span class='id identifier rubyid_locator'>locator</span><span class='period'>.</span><span class='const'>ConnectServer</span><span class='lparen'>(</span><span class='ivar'>@host</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>root\WMI</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='ivar'>@user</span><span class='comma'>,</span> <span class='ivar'>@password</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='int'>128</span><span class='rparen'>)</span>
741
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>connection to wmi root namespace successful</span><span class='tstring_end'>'</span></span>
742
+
743
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>attempting connection to registry</span><span class='tstring_end'>'</span></span>
744
+ <span class='ivar'>@registry</span> <span class='op'>=</span> <span class='id identifier rubyid_locator'>locator</span><span class='period'>.</span><span class='const'>ConnectServer</span><span class='lparen'>(</span><span class='ivar'>@host</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>root\default</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='ivar'>@user</span><span class='comma'>,</span> <span class='ivar'>@password</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='int'>128</span><span class='rparen'>)</span><span class='period'>.</span><span class='const'>Get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>StdRegProv</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
745
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>connection to registry successful</span><span class='tstring_end'>'</span></span>
746
+
747
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>all required connections established</span><span class='tstring_end'>'</span></span>
748
+ <span class='ivar'>@connected</span> <span class='op'>=</span> <span class='ivar'>@reconnectable</span> <span class='op'>=</span> <span class='kw'>true</span>
749
+
750
+ <span class='kw'>rescue</span> <span class='const'>WIN32OLERuntimeError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_error'>error</span>
751
+ <span class='ivar'>@connected</span> <span class='op'>=</span> <span class='kw'>false</span>
752
+ <span class='kw'>if</span> <span class='id identifier rubyid_error'>error</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>access is denied</span><span class='regexp_end'>/i</span></span>
753
+ <span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>connection failed (connection made but credentials not accepted with user </span><span class='embexpr_beg'>#{</span><span class='ivar'>@user</span><span class='rbrace'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
754
+ <span class='ivar'>@reconnectable</span> <span class='op'>=</span> <span class='kw'>true</span>
755
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_error'>error</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>rpc server is unavailable</span><span class='regexp_end'>/i</span></span>
756
+ <span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>connection failed (rpc server not available)</span><span class='tstring_end'>'</span></span>
757
+ <span class='ivar'>@reconnectable</span> <span class='op'>=</span> <span class='kw'>false</span>
758
+ <span class='kw'>else</span>
759
+ <span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>connection failed (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_error'>error</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\n\s*</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>. </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
760
+ <span class='ivar'>@reconnectable</span> <span class='op'>=</span> <span class='kw'>true</span>
761
+ <span class='kw'>end</span>
762
+ <span class='kw'>end</span>
763
+
764
+ <span class='kw'>if</span> <span class='ivar'>@reconnectable</span> <span class='op'>==</span> <span class='kw'>true</span>
765
+ <span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>connection available for retry</span><span class='tstring_end'>'</span></span>
766
+ <span class='kw'>elsif</span> <span class='ivar'>@reconnectable</span> <span class='op'>==</span> <span class='kw'>false</span>
767
+ <span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>connection does not seem to be available (so we will not retry)</span><span class='tstring_end'>'</span></span>
768
+ <span class='kw'>end</span> <span class='kw'>unless</span> <span class='ivar'>@transport</span>
769
+
770
+ <span class='kw'>return</span> <span class='kw'>self</span>
771
+ <span class='kw'>end</span></pre>
772
+ </td>
773
+ </tr>
774
+ </table>
775
+ </div>
776
+
777
+ <div class="method_details ">
778
+ <h3 class="signature " id="has_access_for-instance_method">
779
+
780
+ - (<tt>Object</tt>) <strong>has_access_for</strong>(key_path, permission_to_check = nil)
781
+
782
+
783
+
784
+
785
+
786
+ </h3><table class="source_code">
787
+ <tr>
788
+ <td>
789
+ <pre class="lines">
790
+
791
+
792
+ 111
793
+ 112
794
+ 113
795
+ 114
796
+ 115
797
+ 116
798
+ 117
799
+ 118
800
+ 119
801
+ 120
802
+ 121</pre>
803
+ </td>
804
+ <td>
805
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 111</span>
806
+
807
+ <span class='kw'>def</span> <span class='id identifier rubyid_has_access_for'>has_access_for</span><span class='lparen'>(</span><span class='id identifier rubyid_key_path'>key_path</span><span class='comma'>,</span> <span class='id identifier rubyid_permission_to_check'>permission_to_check</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
808
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>checking for registry read access for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
809
+
810
+ <span class='id identifier rubyid_access_params'>access_params</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>Methods_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>CheckAccess</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_inParameters'>inParameters</span><span class='period'>.</span><span class='const'>SpawnInstance_</span>
811
+
812
+ <span class='id identifier rubyid_access_params'>access_params</span><span class='period'>.</span><span class='id identifier rubyid_hDefKey'>hDefKey</span> <span class='op'>=</span> <span class='const'>HKEY_LOCAL_MACHINE</span>
813
+ <span class='id identifier rubyid_access_params'>access_params</span><span class='period'>.</span><span class='id identifier rubyid_sSubKeyName'>sSubKeyName</span> <span class='op'>=</span> <span class='id identifier rubyid_key_path'>key_path</span>
814
+ <span class='id identifier rubyid_access_params'>access_params</span><span class='period'>.</span><span class='id identifier rubyid_uRequired'>uRequired</span> <span class='op'>=</span> <span class='id identifier rubyid_permission_to_check'>permission_to_check</span>
815
+
816
+ <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>CheckAccess</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_access_params'>access_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_bGranted'>bGranted</span>
817
+ <span class='kw'>end</span></pre>
818
+ </td>
819
+ </tr>
820
+ </table>
821
+ </div>
822
+
823
+ <div class="method_details ">
824
+ <h3 class="signature " id="registry_subkeys_at-instance_method">
825
+
826
+ - (<tt>Object</tt>) <strong>registry_subkeys_at</strong>(key_path)
827
+
828
+
829
+
830
+
831
+
832
+ </h3><table class="source_code">
833
+ <tr>
834
+ <td>
835
+ <pre class="lines">
836
+
837
+
838
+ 123
839
+ 124
840
+ 125
841
+ 126
842
+ 127
843
+ 128
844
+ 129
845
+ 130
846
+ 131
847
+ 132
848
+ 133
849
+ 134
850
+ 135
851
+ 136
852
+ 137
853
+ 138
854
+ 139
855
+ 140
856
+ 141</pre>
857
+ </td>
858
+ <td>
859
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 123</span>
860
+
861
+ <span class='kw'>def</span> <span class='id identifier rubyid_registry_subkeys_at'>registry_subkeys_at</span><span class='lparen'>(</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rparen'>)</span>
862
+ <span class='id identifier rubyid_return_data'>return_data</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
863
+
864
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>reading registry subkeys at path </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
865
+
866
+ <span class='kw'>if</span> <span class='id identifier rubyid_has_access_for'>has_access_for</span><span class='lparen'>(</span><span class='id identifier rubyid_key_path'>key_path</span><span class='comma'>,</span> <span class='const'>KEY_ENUMERATE_SUB_KEYS</span><span class='rparen'>)</span>
867
+ <span class='id identifier rubyid_in_params'>in_params</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>Methods_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>EnumKey</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_inParameters'>inParameters</span><span class='period'>.</span><span class='const'>SpawnInstance_</span>
868
+ <span class='id identifier rubyid_in_params'>in_params</span><span class='period'>.</span><span class='id identifier rubyid_hDefKey'>hDefKey</span> <span class='op'>=</span> <span class='const'>HKEY_LOCAL_MACHINE</span>
869
+ <span class='id identifier rubyid_in_params'>in_params</span><span class='period'>.</span><span class='id identifier rubyid_sSubKeyName'>sSubKeyName</span> <span class='op'>=</span> <span class='id identifier rubyid_key_path'>key_path</span>
870
+
871
+ <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>EnumKey</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_in_params'>in_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_sNames'>sNames</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
872
+ <span class='id identifier rubyid_return_data'>return_data</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_key_path'>key_path</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>\\</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_key'>key</span>
873
+ <span class='kw'>end</span>
874
+ <span class='kw'>else</span>
875
+ <span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>no access for enumerating keys at (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rbrace'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
876
+ <span class='kw'>end</span>
877
+
878
+ <span class='kw'>return</span> <span class='id identifier rubyid_return_data'>return_data</span>
879
+ <span class='kw'>end</span></pre>
880
+ </td>
881
+ </tr>
882
+ </table>
883
+ </div>
884
+
885
+ <div class="method_details ">
886
+ <h3 class="signature " id="registry_values_at-instance_method">
887
+
888
+ - (<tt>Object</tt>) <strong>registry_values_at</strong>(key_path)
889
+
890
+
891
+
892
+
893
+
894
+ </h3><table class="source_code">
895
+ <tr>
896
+ <td>
897
+ <pre class="lines">
898
+
899
+
900
+ 143
901
+ 144
902
+ 145
903
+ 146
904
+ 147
905
+ 148
906
+ 149
907
+ 150
908
+ 151
909
+ 152
910
+ 153
911
+ 154
912
+ 155
913
+ 156
914
+ 157
915
+ 158
916
+ 159
917
+ 160
918
+ 161
919
+ 162
920
+ 163
921
+ 164
922
+ 165
923
+ 166
924
+ 167
925
+ 168
926
+ 169
927
+ 170
928
+ 171
929
+ 172
930
+ 173
931
+ 174
932
+ 175
933
+ 176
934
+ 177
935
+ 178
936
+ 179
937
+ 180
938
+ 181
939
+ 182
940
+ 183
941
+ 184</pre>
942
+ </td>
943
+ <td>
944
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 143</span>
945
+
946
+ <span class='kw'>def</span> <span class='id identifier rubyid_registry_values_at'>registry_values_at</span><span class='lparen'>(</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rparen'>)</span>
947
+ <span class='id identifier rubyid_values'>values</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
948
+
949
+ <span class='id identifier rubyid_debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>reading registry values at path </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
950
+
951
+ <span class='kw'>if</span> <span class='id identifier rubyid_has_access_for'>has_access_for</span><span class='lparen'>(</span><span class='id identifier rubyid_key_path'>key_path</span><span class='comma'>,</span> <span class='const'>KEY_QUERY_VALUE</span><span class='rparen'>)</span>
952
+ <span class='id identifier rubyid_in_params'>in_params</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>Methods_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>EnumValues</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_inParameters'>inParameters</span><span class='period'>.</span><span class='const'>SpawnInstance_</span>
953
+ <span class='id identifier rubyid_in_params'>in_params</span><span class='period'>.</span><span class='id identifier rubyid_hDefKey'>hDefKey</span> <span class='op'>=</span> <span class='const'>HKEY_LOCAL_MACHINE</span>
954
+ <span class='id identifier rubyid_in_params'>in_params</span><span class='period'>.</span><span class='id identifier rubyid_sSubKeyName'>sSubKeyName</span> <span class='op'>=</span> <span class='id identifier rubyid_key_path'>key_path</span>
955
+
956
+ <span class='id identifier rubyid_str_params'>str_params</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>Methods_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GetStringValue</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_inParameters'>inParameters</span><span class='period'>.</span><span class='const'>SpawnInstance_</span>
957
+ <span class='id identifier rubyid_str_params'>str_params</span><span class='period'>.</span><span class='id identifier rubyid_sSubKeyName'>sSubKeyName</span> <span class='op'>=</span> <span class='id identifier rubyid_key_path'>key_path</span>
958
+
959
+ <span class='id identifier rubyid_subkey_values'>subkey_values</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>EnumValues</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_in_params'>in_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_sNames'>sNames</span>
960
+ <span class='id identifier rubyid_subkey_values'>subkey_values</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
961
+
962
+ <span class='id identifier rubyid_subkey_values'>subkey_values</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
963
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
964
+ <span class='id identifier rubyid_str_params'>str_params</span><span class='period'>.</span><span class='id identifier rubyid_sValueName'>sValueName</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
965
+
966
+ <span class='kw'>begin</span>
967
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GetStringValue</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_str_params'>str_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_sValue'>sValue</span>
968
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GetBinaryValue</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_str_params'>str_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uValue'>uValue</span> <span class='kw'>unless</span> <span class='id identifier rubyid_x'>x</span>
969
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GetDWORDValue</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_str_params'>str_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uValue'>uValue</span> <span class='kw'>unless</span> <span class='id identifier rubyid_x'>x</span>
970
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GetExpandedStringValue</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_str_params'>str_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_sValue'>sValue</span> <span class='kw'>unless</span> <span class='id identifier rubyid_x'>x</span>
971
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GetMultiStringValue</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_str_params'>str_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_sValue'>sValue</span> <span class='kw'>unless</span> <span class='id identifier rubyid_x'>x</span>
972
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='ivar'>@registry</span><span class='period'>.</span><span class='const'>ExecMethod_</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GetQWORDValue</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_str_params'>str_params</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uValue'>uValue</span> <span class='kw'>unless</span> <span class='id identifier rubyid_x'>x</span>
973
+
974
+ <span class='id identifier rubyid_values'>values</span><span class='lbracket'>[</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span>
975
+ <span class='kw'>rescue</span>
976
+ <span class='kw'>if</span> <span class='gvar'>$!</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_invalid'>invalid</span> <span class='id identifier rubyid_method'>method</span><span class='rbrace'>}</span><span class='regexp_end'>/i</span></span>
977
+ <span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>unreadable registry value (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rbrace'>}</span><span class='tstring_content'>\\</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='rbrace'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
978
+ <span class='kw'>end</span>
979
+ <span class='kw'>end</span>
980
+ <span class='kw'>end</span>
981
+ <span class='kw'>end</span>
982
+ <span class='kw'>else</span>
983
+ <span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>no access for enumerating values at (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key_path'>key_path</span><span class='rbrace'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
984
+ <span class='kw'>end</span>
985
+
986
+ <span class='kw'>return</span> <span class='id identifier rubyid_values'>values</span>
987
+ <span class='kw'>end</span></pre>
988
+ </td>
989
+ </tr>
990
+ </table>
991
+ </div>
992
+
993
+ <div class="method_details ">
994
+ <h3 class="signature " id="value_at-instance_method">
995
+
996
+ - (<tt>Object</tt>) <strong>value_at</strong>(request, conn = :wmi)
997
+
998
+
999
+
1000
+
1001
+
1002
+ </h3><table class="source_code">
1003
+ <tr>
1004
+ <td>
1005
+ <pre class="lines">
1006
+
1007
+
1008
+ 68
1009
+ 69
1010
+ 70</pre>
1011
+ </td>
1012
+ <td>
1013
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 68</span>
1014
+
1015
+ <span class='kw'>def</span> <span class='id identifier rubyid_value_at'>value_at</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_conn'>conn</span><span class='op'>=</span><span class='symbol'>:wmi</span><span class='rparen'>)</span>
1016
+ <span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_conn'>conn</span><span class='comma'>,</span> <span class='id identifier rubyid_limit'>limit</span><span class='op'>=</span><span class='int'>1</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
1017
+ <span class='kw'>end</span></pre>
1018
+ </td>
1019
+ </tr>
1020
+ </table>
1021
+ </div>
1022
+
1023
+ <div class="method_details ">
1024
+ <h3 class="signature " id="values_at-instance_method">
1025
+
1026
+ - (<tt>Object</tt>) <strong>values_at</strong>(request, conn = :wmi, limit = nil)
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+ </h3><table class="source_code">
1033
+ <tr>
1034
+ <td>
1035
+ <pre class="lines">
1036
+
1037
+
1038
+ 72
1039
+ 73
1040
+ 74
1041
+ 75
1042
+ 76
1043
+ 77
1044
+ 78
1045
+ 79
1046
+ 80
1047
+ 81
1048
+ 82
1049
+ 83
1050
+ 84
1051
+ 85
1052
+ 86
1053
+ 87
1054
+ 88
1055
+ 89
1056
+ 90
1057
+ 91
1058
+ 92
1059
+ 93
1060
+ 94
1061
+ 95
1062
+ 96
1063
+ 97
1064
+ 98
1065
+ 99
1066
+ 100
1067
+ 101
1068
+ 102
1069
+ 103
1070
+ 104
1071
+ 105
1072
+ 106
1073
+ 107
1074
+ 108
1075
+ 109</pre>
1076
+ </td>
1077
+ <td>
1078
+ <pre class="code"><span class="info file"># File 'lib/boris/connectors/wmi.rb', line 72</span>
1079
+
1080
+ <span class='kw'>def</span> <span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_conn'>conn</span><span class='op'>=</span><span class='symbol'>:wmi</span><span class='comma'>,</span> <span class='id identifier rubyid_limit'>limit</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
1081
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_limit'>limit</span><span class='rparen'>)</span>
1082
+
1083
+ <span class='id identifier rubyid_rows'>rows</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_conn'>conn</span>
1084
+ <span class='kw'>when</span> <span class='symbol'>:root_wmi</span>
1085
+ <span class='ivar'>@root_wmi</span><span class='period'>.</span><span class='const'>ExecQuery</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='int'>48</span><span class='rparen'>)</span>
1086
+ <span class='kw'>when</span> <span class='symbol'>:wmi</span>
1087
+ <span class='ivar'>@wmi</span><span class='period'>.</span><span class='const'>ExecQuery</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='int'>48</span><span class='rparen'>)</span>
1088
+ <span class='kw'>end</span>
1089
+
1090
+ <span class='id identifier rubyid_return_data'>return_data</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1091
+
1092
+ <span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='int'>0</span>
1093
+
1094
+ <span class='id identifier rubyid_rows'>rows</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_row'>row</span><span class='op'>|</span>
1095
+ <span class='id identifier rubyid_i'>i</span> <span class='op'>+=</span> <span class='int'>1</span>
1096
+
1097
+ <span class='id identifier rubyid_return_hash'>return_hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1098
+
1099
+ <span class='id identifier rubyid_row'>row</span><span class='period'>.</span><span class='const'>Properties_</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_property'>property</span><span class='op'>|</span>
1100
+ <span class='kw'>if</span> <span class='id identifier rubyid_property'>property</span><span class='period'>.</span><span class='const'>Name</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^attributes</span><span class='regexp_end'>/i</span></span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_property'>property</span><span class='period'>.</span><span class='const'>Value</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span><span class='lparen'>(</span><span class='const'>WIN32OLE</span><span class='rparen'>)</span>
1101
+ <span class='id identifier rubyid_row'>row</span><span class='period'>.</span><span class='const'>Attributes</span><span class='period'>.</span><span class='const'>Properties_</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_property'>property</span><span class='op'>|</span>
1102
+ <span class='id identifier rubyid_return_hash'>return_hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_property'>property</span><span class='period'>.</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_property'>property</span><span class='period'>.</span><span class='const'>Value</span>
1103
+ <span class='kw'>end</span>
1104
+ <span class='kw'>else</span>
1105
+ <span class='id identifier rubyid_return_hash'>return_hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_property'>property</span><span class='period'>.</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_property'>property</span><span class='period'>.</span><span class='const'>Value</span>
1106
+ <span class='kw'>end</span>
1107
+ <span class='kw'>end</span>
1108
+
1109
+ <span class='id identifier rubyid_return_data'>return_data</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_return_hash'>return_hash</span>
1110
+
1111
+ <span class='kw'>break</span> <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_limit'>limit</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>==</span> <span class='id identifier rubyid_limit'>limit</span><span class='rparen'>)</span>
1112
+ <span class='kw'>end</span>
1113
+
1114
+ <span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_return_data'>return_data</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='rbrace'>}</span><span class='tstring_content'> row(s) returned</span><span class='tstring_end'>&quot;</span></span>
1115
+
1116
+ <span class='kw'>return</span> <span class='id identifier rubyid_return_data'>return_data</span>
1117
+ <span class='kw'>end</span></pre>
1118
+ </td>
1119
+ </tr>
1120
+ </table>
1121
+ </div>
1122
+
1123
+ </div>
1124
+
1125
+ </div>
1126
+
1127
+ <div id="footer">
1128
+ Generated on Sun Feb 3 16:32:43 2013 by
1129
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1130
+ 0.8.3 (ruby-1.9.3).
1131
+ </div>
1132
+
1133
+ </body>
1134
+ </html>