strongdm 1.0.0 → 1.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.
- checksums.yaml +4 -4
- data/doc/LICENSE.html +45 -136
- data/doc/Object.html +300 -105
- data/doc/README_md.html +15 -7
- data/doc/SDM.html +16 -24
- data/doc/SDM/AKS.html +113 -51
- data/doc/SDM/AKSBasicAuth.html +93 -35
- data/doc/SDM/AKSServiceAccount.html +88 -31
- data/doc/SDM/AccountAttachment.html +77 -27
- data/doc/SDM/AccountAttachmentCreateOptions.html +62 -13
- data/doc/SDM/AccountAttachmentCreateResponse.html +75 -24
- data/doc/SDM/AccountAttachmentDeleteResponse.html +69 -19
- data/doc/SDM/AccountAttachmentGetResponse.html +75 -23
- data/doc/SDM/AccountAttachments.html +42 -39
- data/doc/SDM/AccountCreateResponse.html +80 -27
- data/doc/SDM/AccountDeleteResponse.html +69 -17
- data/doc/SDM/AccountGetResponse.html +74 -21
- data/doc/SDM/AccountGrant.html +89 -39
- data/doc/SDM/AccountGrantCreateResponse.html +75 -23
- data/doc/SDM/AccountGrantDeleteResponse.html +69 -18
- data/doc/SDM/AccountGrantGetResponse.html +75 -22
- data/doc/SDM/AccountGrants.html +41 -36
- data/doc/SDM/AccountUpdateResponse.html +74 -21
- data/doc/SDM/Accounts.html +45 -39
- data/doc/SDM/AlreadyExistsError.html +13 -10
- data/doc/SDM/AmazonEKS.html +108 -47
- data/doc/SDM/AmazonES.html +98 -39
- data/doc/SDM/Athena.html +98 -39
- data/doc/SDM/AuroraMysql.html +103 -43
- data/doc/SDM/AuroraPostgres.html +108 -47
- data/doc/SDM/AuthenticationError.html +13 -10
- data/doc/SDM/BadRequestError.html +13 -10
- data/doc/SDM/BigQuery.html +98 -39
- data/doc/SDM/Cassandra.html +103 -43
- data/doc/SDM/Client.html +29 -48
- data/doc/SDM/Clustrix.html +103 -43
- data/doc/SDM/Cockroach.html +108 -47
- data/doc/SDM/CreateResponseMetadata.html +59 -9
- data/doc/SDM/DeadlineExceededError.html +13 -10
- data/doc/SDM/DeleteResponseMetadata.html +60 -10
- data/doc/SDM/Druid.html +98 -39
- data/doc/SDM/DynamoDB.html +98 -39
- data/doc/SDM/Elastic.html +103 -43
- data/doc/SDM/ElasticacheRedis.html +98 -39
- data/doc/SDM/Gateway.html +89 -38
- data/doc/SDM/GetResponseMetadata.html +60 -10
- data/doc/SDM/GoogleGKE.html +98 -39
- data/doc/SDM/Greenplum.html +108 -47
- data/doc/SDM/HTTPAuth.html +103 -43
- data/doc/SDM/HTTPBasicAuth.html +108 -47
- data/doc/SDM/HTTPNoAuth.html +98 -39
- data/doc/SDM/InternalError.html +13 -10
- data/doc/SDM/Kubernetes.html +113 -51
- data/doc/SDM/KubernetesBasicAuth.html +93 -35
- data/doc/SDM/KubernetesServiceAccount.html +88 -31
- data/doc/SDM/Maria.html +103 -43
- data/doc/SDM/Memcached.html +88 -31
- data/doc/SDM/Memsql.html +103 -43
- data/doc/SDM/MongoHost.html +108 -47
- data/doc/SDM/MongoLegacyHost.html +113 -51
- data/doc/SDM/MongoLegacyReplicaset.html +118 -55
- data/doc/SDM/MongoReplicaSet.html +118 -55
- data/doc/SDM/Mysql.html +103 -43
- data/doc/SDM/NodeCreateResponse.html +80 -27
- data/doc/SDM/NodeDeleteResponse.html +69 -17
- data/doc/SDM/NodeGetResponse.html +74 -21
- data/doc/SDM/NodeUpdateResponse.html +74 -21
- data/doc/SDM/Nodes.html +46 -41
- data/doc/SDM/NotFoundError.html +13 -10
- data/doc/SDM/Oracle.html +108 -47
- data/doc/SDM/PermissionError.html +13 -10
- data/doc/SDM/Plumbing.html +375 -371
- data/doc/SDM/Postgres.html +108 -47
- data/doc/SDM/Presto.html +108 -47
- data/doc/SDM/RDP.html +98 -39
- data/doc/SDM/RPCError.html +12 -8
- data/doc/SDM/RateLimitError.html +13 -10
- data/doc/SDM/RateLimitMetadata.html +81 -29
- data/doc/SDM/Redis.html +93 -35
- data/doc/SDM/Redshift.html +108 -47
- data/doc/SDM/Relay.html +77 -26
- data/doc/SDM/ResourceCreateResponse.html +74 -21
- data/doc/SDM/ResourceDeleteResponse.html +69 -17
- data/doc/SDM/ResourceGetResponse.html +74 -21
- data/doc/SDM/ResourceUpdateResponse.html +74 -22
- data/doc/SDM/Resources.html +43 -35
- data/doc/SDM/Role.html +77 -26
- data/doc/SDM/RoleAttachment.html +77 -26
- data/doc/SDM/RoleAttachmentCreateResponse.html +75 -24
- data/doc/SDM/RoleAttachmentDeleteResponse.html +69 -19
- data/doc/SDM/RoleAttachmentGetResponse.html +75 -22
- data/doc/SDM/RoleAttachments.html +41 -38
- data/doc/SDM/RoleCreateResponse.html +75 -23
- data/doc/SDM/RoleDeleteResponse.html +69 -17
- data/doc/SDM/RoleGetResponse.html +75 -22
- data/doc/SDM/RoleGrant.html +77 -24
- data/doc/SDM/RoleGrantCreateResponse.html +75 -23
- data/doc/SDM/RoleGrantDeleteResponse.html +69 -18
- data/doc/SDM/RoleGrantGetResponse.html +75 -22
- data/doc/SDM/RoleGrants.html +41 -38
- data/doc/SDM/RoleUpdateResponse.html +75 -23
- data/doc/SDM/Roles.html +48 -46
- data/doc/SDM/SQLServer.html +113 -51
- data/doc/SDM/SSH.html +98 -39
- data/doc/SDM/Service.html +76 -24
- data/doc/SDM/Snowflake.html +103 -43
- data/doc/SDM/Sybase.html +98 -39
- data/doc/SDM/SybaseIQ.html +98 -39
- data/doc/SDM/Teradata.html +98 -39
- data/doc/SDM/UpdateResponseMetadata.html +60 -10
- data/doc/SDM/User.html +85 -30
- data/doc/V1.html +10 -6
- data/doc/V1/AccountAttachments.html +10 -6
- data/doc/V1/AccountAttachments/Service.html +11 -8
- data/doc/V1/AccountGrants.html +10 -6
- data/doc/V1/AccountGrants/Service.html +11 -9
- data/doc/V1/Accounts.html +10 -6
- data/doc/V1/Accounts/Service.html +12 -10
- data/doc/V1/Nodes.html +10 -6
- data/doc/V1/Nodes/Service.html +13 -13
- data/doc/V1/Resources.html +10 -6
- data/doc/V1/Resources/Service.html +10 -6
- data/doc/V1/RoleAttachments.html +10 -6
- data/doc/V1/RoleAttachments/Service.html +11 -11
- data/doc/V1/RoleGrants.html +10 -6
- data/doc/V1/RoleGrants/Service.html +11 -11
- data/doc/V1/Roles.html +10 -6
- data/doc/V1/Roles/Service.html +11 -12
- data/doc/created.rid +41 -37
- data/doc/css/fonts.css +6 -6
- data/doc/css/rdoc.css +22 -1
- data/doc/examples/Gemfile.html +14 -4
- data/doc/examples/Gemfile_lock.html +14 -4
- data/doc/examples/README_md.html +14 -4
- data/doc/examples/okta-sync/Gemfile.html +105 -0
- data/doc/examples/okta-sync/Gemfile_lock.html +146 -0
- data/doc/index.html +15 -8
- data/doc/js/darkfish.js +23 -100
- data/doc/js/navigation.js +4 -41
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search.js +32 -31
- data/doc/js/search_index.js +1 -1
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +7 -6
- data/doc/js/searcher.js.gz +0 -0
- data/doc/lib/version.html +16 -6
- data/doc/strongdm_gemspec.html +15 -5
- data/doc/table_of_contents.html +981 -260
- data/examples/Gemfile +2 -2
- data/examples/listUsers.rb +8 -8
- data/examples/okta-sync/Gemfile +4 -0
- data/examples/okta-sync/Gemfile.lock +38 -0
- data/examples/okta-sync/matchers.yml +11 -0
- data/examples/okta-sync/oktaSync.rb +173 -0
- data/examples/panicButton.rb +103 -119
- data/lib/errors/errors.rb +55 -53
- data/lib/grpc/account_attachments_pb.rb +9 -9
- data/lib/grpc/account_attachments_services_pb.rb +7 -8
- data/lib/grpc/account_grants_pb.rb +10 -10
- data/lib/grpc/account_grants_services_pb.rb +7 -8
- data/lib/grpc/accounts_pb.rb +9 -9
- data/lib/grpc/accounts_services_pb.rb +7 -8
- data/lib/grpc/drivers_pb.rb +7 -7
- data/lib/grpc/nodes_pb.rb +9 -9
- data/lib/grpc/nodes_services_pb.rb +7 -8
- data/lib/grpc/options_pb.rb +5 -5
- data/lib/grpc/plumbing.rb +4083 -4084
- data/lib/grpc/protoc-gen-swagger/options/annotations_pb.rb +4 -4
- data/lib/grpc/resources_pb.rb +9 -9
- data/lib/grpc/resources_services_pb.rb +7 -8
- data/lib/grpc/role_attachments_pb.rb +9 -9
- data/lib/grpc/role_attachments_services_pb.rb +7 -8
- data/lib/grpc/role_grants_pb.rb +9 -9
- data/lib/grpc/role_grants_services_pb.rb +7 -8
- data/lib/grpc/roles_pb.rb +9 -9
- data/lib/grpc/roles_services_pb.rb +7 -8
- data/lib/grpc/spec_pb.rb +8 -8
- data/lib/models/porcelain.rb +4409 -4017
- data/lib/strongdm.rb +94 -95
- data/lib/svc.rb +1202 -1224
- data/lib/version +1 -1
- data/lib/version.rb +6 -6
- data/strongdm.gemspec +10 -10
- metadata +9 -4
data/doc/SDM/Cassandra.html
CHANGED
|
@@ -8,16 +8,21 @@
|
|
|
8
8
|
|
|
9
9
|
<script type="text/javascript">
|
|
10
10
|
var rdoc_rel_prefix = "../";
|
|
11
|
+
var index_rel_prefix = "../";
|
|
11
12
|
</script>
|
|
12
13
|
|
|
13
|
-
<script src="../js/
|
|
14
|
-
<script src="../js/
|
|
14
|
+
<script src="../js/navigation.js" defer></script>
|
|
15
|
+
<script src="../js/search.js" defer></script>
|
|
16
|
+
<script src="../js/search_index.js" defer></script>
|
|
17
|
+
<script src="../js/searcher.js" defer></script>
|
|
18
|
+
<script src="../js/darkfish.js" defer></script>
|
|
15
19
|
|
|
16
20
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
21
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
22
|
|
|
19
23
|
|
|
20
24
|
|
|
25
|
+
|
|
21
26
|
<body id="top" role="document" class="class">
|
|
22
27
|
<nav role="navigation">
|
|
23
28
|
<div id="project-navigation">
|
|
@@ -72,6 +77,8 @@
|
|
|
72
77
|
|
|
73
78
|
<li ><a href="#method-c-new">::new</a>
|
|
74
79
|
|
|
80
|
+
<li ><a href="#method-i-to_json">#to_json</a>
|
|
81
|
+
|
|
75
82
|
</ul>
|
|
76
83
|
</div>
|
|
77
84
|
|
|
@@ -88,8 +95,6 @@
|
|
|
88
95
|
</section>
|
|
89
96
|
|
|
90
97
|
|
|
91
|
-
|
|
92
|
-
|
|
93
98
|
<section id="5Buntitled-5D" class="documentation-section">
|
|
94
99
|
|
|
95
100
|
|
|
@@ -250,44 +255,98 @@
|
|
|
250
255
|
|
|
251
256
|
|
|
252
257
|
<div class="method-source-code" id="new-source">
|
|
253
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
254
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
258
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 772</span>
|
|
259
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(
|
|
260
|
+
<span class="ruby-value">id:</span><span class="ruby-keyword">nil</span> \
|
|
261
|
+
,
|
|
262
|
+
<span class="ruby-value">name:</span><span class="ruby-keyword">nil</span> \
|
|
263
|
+
,
|
|
264
|
+
<span class="ruby-value">healthy:</span><span class="ruby-keyword">nil</span> \
|
|
265
|
+
,
|
|
266
|
+
<span class="ruby-value">hostname:</span><span class="ruby-keyword">nil</span> \
|
|
267
|
+
,
|
|
268
|
+
<span class="ruby-value">username:</span><span class="ruby-keyword">nil</span> \
|
|
269
|
+
,
|
|
270
|
+
<span class="ruby-value">password:</span><span class="ruby-keyword">nil</span> \
|
|
271
|
+
,
|
|
272
|
+
<span class="ruby-value">port_override:</span><span class="ruby-keyword">nil</span> \
|
|
273
|
+
,
|
|
274
|
+
<span class="ruby-value">port:</span><span class="ruby-keyword">nil</span> \
|
|
275
|
+
,
|
|
276
|
+
<span class="ruby-value">tls_required:</span><span class="ruby-keyword">nil</span> \
|
|
277
|
+
)
|
|
278
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">id</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
279
|
+
<span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
|
|
280
|
+
<span class="ruby-keyword">end</span>
|
|
281
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
282
|
+
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
|
|
283
|
+
<span class="ruby-keyword">end</span>
|
|
284
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">healthy</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
285
|
+
<span class="ruby-ivar">@healthy</span> = <span class="ruby-identifier">healthy</span>
|
|
286
|
+
<span class="ruby-keyword">end</span>
|
|
287
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hostname</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
288
|
+
<span class="ruby-ivar">@hostname</span> = <span class="ruby-identifier">hostname</span>
|
|
289
|
+
<span class="ruby-keyword">end</span>
|
|
290
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">username</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
291
|
+
<span class="ruby-ivar">@username</span> = <span class="ruby-identifier">username</span>
|
|
292
|
+
<span class="ruby-keyword">end</span>
|
|
293
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
294
|
+
<span class="ruby-ivar">@password</span> = <span class="ruby-identifier">password</span>
|
|
295
|
+
<span class="ruby-keyword">end</span>
|
|
296
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">port_override</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
297
|
+
<span class="ruby-ivar">@port_override</span> = <span class="ruby-identifier">port_override</span>
|
|
298
|
+
<span class="ruby-keyword">end</span>
|
|
299
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">port</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
300
|
+
<span class="ruby-ivar">@port</span> = <span class="ruby-identifier">port</span>
|
|
301
|
+
<span class="ruby-keyword">end</span>
|
|
302
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">tls_required</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
303
|
+
<span class="ruby-ivar">@tls_required</span> = <span class="ruby-identifier">tls_required</span>
|
|
304
|
+
<span class="ruby-keyword">end</span>
|
|
305
|
+
<span class="ruby-keyword">end</span></pre>
|
|
306
|
+
</div>
|
|
307
|
+
|
|
308
|
+
</div>
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
</div>
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
</section>
|
|
317
|
+
|
|
318
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
|
319
|
+
<header>
|
|
320
|
+
<h3>Public Instance Methods</h3>
|
|
321
|
+
</header>
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
<div id="method-i-to_json" class="method-detail ">
|
|
325
|
+
|
|
326
|
+
<div class="method-heading">
|
|
327
|
+
<span class="method-name">to_json</span><span
|
|
328
|
+
class="method-args">(options={})</span>
|
|
329
|
+
|
|
330
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
331
|
+
|
|
332
|
+
</div>
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
<div class="method-description">
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
<div class="method-source-code" id="to_json-source">
|
|
343
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 819</span>
|
|
344
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_json</span>(<span class="ruby-identifier">options</span>={})
|
|
345
|
+
<span class="ruby-identifier">hash</span> = {}
|
|
346
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
|
|
347
|
+
<span class="ruby-identifier">hash</span>[<span class="ruby-identifier">var</span>.<span class="ruby-identifier">id2name</span>.<span class="ruby-identifier">delete_prefix</span>(<span class="ruby-string">'@'</span>)] = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variable_get</span> <span class="ruby-identifier">var</span>
|
|
290
348
|
<span class="ruby-keyword">end</span>
|
|
349
|
+
<span class="ruby-identifier">hash</span>.<span class="ruby-identifier">to_json</span>
|
|
291
350
|
<span class="ruby-keyword">end</span></pre>
|
|
292
351
|
</div>
|
|
293
352
|
|
|
@@ -302,12 +361,13 @@
|
|
|
302
361
|
</section>
|
|
303
362
|
|
|
304
363
|
</section>
|
|
364
|
+
|
|
305
365
|
</main>
|
|
306
366
|
|
|
307
367
|
|
|
308
368
|
<footer id="validator-badges" role="contentinfo">
|
|
309
|
-
<p><a href="
|
|
310
|
-
<p>Generated by <a href="
|
|
369
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
370
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.2.
|
|
311
371
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
312
372
|
</footer>
|
|
313
373
|
|
data/doc/SDM/Client.html
CHANGED
|
@@ -8,16 +8,21 @@
|
|
|
8
8
|
|
|
9
9
|
<script type="text/javascript">
|
|
10
10
|
var rdoc_rel_prefix = "../";
|
|
11
|
+
var index_rel_prefix = "../";
|
|
11
12
|
</script>
|
|
12
13
|
|
|
13
|
-
<script src="../js/
|
|
14
|
-
<script src="../js/
|
|
14
|
+
<script src="../js/navigation.js" defer></script>
|
|
15
|
+
<script src="../js/search.js" defer></script>
|
|
16
|
+
<script src="../js/search_index.js" defer></script>
|
|
17
|
+
<script src="../js/searcher.js" defer></script>
|
|
18
|
+
<script src="../js/darkfish.js" defer></script>
|
|
15
19
|
|
|
16
20
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
21
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
22
|
|
|
19
23
|
|
|
20
24
|
|
|
25
|
+
|
|
21
26
|
<body id="top" role="document" class="class">
|
|
22
27
|
<nav role="navigation">
|
|
23
28
|
<div id="project-navigation">
|
|
@@ -93,14 +98,11 @@
|
|
|
93
98
|
|
|
94
99
|
<section class="description">
|
|
95
100
|
|
|
96
|
-
<p><a href="Client.html">Client</a> bundles all the services together and
|
|
97
|
-
initializes them.</p>
|
|
101
|
+
<p><a href="Client.html"><code>Client</code></a> bundles all the services together and initializes them.</p>
|
|
98
102
|
|
|
99
103
|
</section>
|
|
100
104
|
|
|
101
105
|
|
|
102
|
-
|
|
103
|
-
|
|
104
106
|
<section id="5Buntitled-5D" class="documentation-section">
|
|
105
107
|
|
|
106
108
|
|
|
@@ -136,8 +138,7 @@ initializes them.</p>
|
|
|
136
138
|
|
|
137
139
|
<div class="method-description">
|
|
138
140
|
|
|
139
|
-
<p><a href="AccountAttachments.html">AccountAttachments</a> assign an account
|
|
140
|
-
to a role.</p>
|
|
141
|
+
<p><a href="AccountAttachments.html"><code>AccountAttachments</code></a> assign an account to a role.</p>
|
|
141
142
|
|
|
142
143
|
</div>
|
|
143
144
|
</div>
|
|
@@ -150,9 +151,7 @@ to a role.</p>
|
|
|
150
151
|
|
|
151
152
|
<div class="method-description">
|
|
152
153
|
|
|
153
|
-
<p><a href="AccountGrants.html">AccountGrants</a> connect a resource directly
|
|
154
|
-
to an account, giving the account the permission to connect to that
|
|
155
|
-
resource.</p>
|
|
154
|
+
<p><a href="AccountGrants.html"><code>AccountGrants</code></a> connect a resource directly to an account, giving the account the permission to connect to that resource.</p>
|
|
156
155
|
|
|
157
156
|
</div>
|
|
158
157
|
</div>
|
|
@@ -165,11 +164,9 @@ resource.</p>
|
|
|
165
164
|
|
|
166
165
|
<div class="method-description">
|
|
167
166
|
|
|
168
|
-
<p><a href="Accounts.html">Accounts</a> are users that have access to
|
|
169
|
-
strongDM. There are two types of accounts:</p>
|
|
167
|
+
<p><a href="Accounts.html"><code>Accounts</code></a> are users that have access to strongDM. There are two types of accounts:</p>
|
|
170
168
|
<ol><li>
|
|
171
|
-
<p>**Regular users:** humans who are authenticated through username and
|
|
172
|
-
password or SSO</p>
|
|
169
|
+
<p>**Regular users:** humans who are authenticated through username and password or SSO</p>
|
|
173
170
|
</li><li>
|
|
174
171
|
<p>**Service users:** machines that are authneticated using a service token</p>
|
|
175
172
|
</li></ol>
|
|
@@ -237,14 +234,11 @@ password or SSO</p>
|
|
|
237
234
|
|
|
238
235
|
<div class="method-description">
|
|
239
236
|
|
|
240
|
-
<p><a href="Nodes.html">Nodes</a> make up the strongDM network, and allow your
|
|
241
|
-
users to connect securely to your resources. There are two types of nodes:</p>
|
|
237
|
+
<p><a href="Nodes.html"><code>Nodes</code></a> make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:</p>
|
|
242
238
|
<ol><li>
|
|
243
|
-
<p>*<strong>Relay:</strong>* creates connectivity to your datasources, while
|
|
244
|
-
maintaining the egress-only nature of your firewall</p>
|
|
239
|
+
<p>*<strong>Relay:</strong>* creates connectivity to your datasources, while maintaining the egress-only nature of your firewall</p>
|
|
245
240
|
</li><li>
|
|
246
|
-
<p>*<strong>Gateways:</strong>* a relay that also listens for connections from
|
|
247
|
-
strongDM clients</p>
|
|
241
|
+
<p>*<strong>Gateways:</strong>* a relay that also listens for connections from strongDM clients</p>
|
|
248
242
|
</li></ol>
|
|
249
243
|
|
|
250
244
|
</div>
|
|
@@ -271,11 +265,7 @@ strongDM clients</p>
|
|
|
271
265
|
|
|
272
266
|
<div class="method-description">
|
|
273
267
|
|
|
274
|
-
<p><a href="RoleAttachments.html">RoleAttachments</a> represent relationships
|
|
275
|
-
between composite roles and the roles that make up those composite roles.
|
|
276
|
-
When a composite role is attached to another role, the permissions granted
|
|
277
|
-
to members of the composite role are augmented to include the permissions
|
|
278
|
-
granted to members of the attached role.</p>
|
|
268
|
+
<p><a href="RoleAttachments.html"><code>RoleAttachments</code></a> represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.</p>
|
|
279
269
|
|
|
280
270
|
</div>
|
|
281
271
|
</div>
|
|
@@ -288,11 +278,7 @@ granted to members of the attached role.</p>
|
|
|
288
278
|
|
|
289
279
|
<div class="method-description">
|
|
290
280
|
|
|
291
|
-
<p><a href="RoleGrants.html">RoleGrants</a> represent relationships between
|
|
292
|
-
composite roles and the roles that make up those composite roles. When a
|
|
293
|
-
composite role is attached to another role, the permissions granted to
|
|
294
|
-
members of the composite role are augmented to include the permissions
|
|
295
|
-
granted to members of the attached role.</p>
|
|
281
|
+
<p><a href="RoleGrants.html"><code>RoleGrants</code></a> represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.</p>
|
|
296
282
|
|
|
297
283
|
</div>
|
|
298
284
|
</div>
|
|
@@ -305,13 +291,7 @@ granted to members of the attached role.</p>
|
|
|
305
291
|
|
|
306
292
|
<div class="method-description">
|
|
307
293
|
|
|
308
|
-
<p><a href="Roles.html">Roles</a> are tools for controlling user access to
|
|
309
|
-
resources. Each <a href="Role.html">Role</a> holds a list of resources
|
|
310
|
-
which they grant access to. Composite roles are a special type of <a
|
|
311
|
-
href="Role.html">Role</a> which have no resource associations of their own,
|
|
312
|
-
but instead grant access to the combined resources associated with a set of
|
|
313
|
-
child roles. Each user can be a member of one <a href="Role.html">Role</a>
|
|
314
|
-
or composite role.</p>
|
|
294
|
+
<p><a href="Roles.html"><code>Roles</code></a> are tools for controlling user access to resources. Each <a href="Role.html"><code>Role</code></a> holds a list of resources which they grant access to. Composite roles are a special type of <a href="Role.html"><code>Role</code></a> which have no resource associations of their own, but instead grant access to the combined resources associated with a set of child roles. Each user can be a member of one <a href="Role.html"><code>Role</code></a> or composite role.</p>
|
|
315
295
|
|
|
316
296
|
</div>
|
|
317
297
|
</div>
|
|
@@ -330,7 +310,7 @@ or composite role.</p>
|
|
|
330
310
|
|
|
331
311
|
<div class="method-heading">
|
|
332
312
|
<span class="method-name">new</span><span
|
|
333
|
-
class="method-args">(api_access_key, api_secret_key, host
|
|
313
|
+
class="method-args">(api_access_key, api_secret_key, host:"api.strongdm.com:443", insecure:false)</span>
|
|
334
314
|
|
|
335
315
|
<span class="method-click-advice">click to toggle source</span>
|
|
336
316
|
|
|
@@ -346,7 +326,7 @@ or composite role.</p>
|
|
|
346
326
|
|
|
347
327
|
<div class="method-source-code" id="new-source">
|
|
348
328
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 31</span>
|
|
349
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">api_access_key</span>, <span class="ruby-identifier">api_secret_key</span>, <span class="ruby-
|
|
329
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">api_access_key</span>, <span class="ruby-identifier">api_secret_key</span>, <span class="ruby-value">host:</span><span class="ruby-string">"api.strongdm.com:443"</span>, <span class="ruby-value">insecure:</span><span class="ruby-keyword">false</span>)
|
|
350
330
|
<span class="ruby-ivar">@api_access_key</span> = <span class="ruby-identifier">api_access_key</span>
|
|
351
331
|
<span class="ruby-ivar">@api_secret_key</span> = <span class="ruby-constant">Base64</span>.<span class="ruby-identifier">strict_decode64</span>(<span class="ruby-identifier">api_secret_key</span>)
|
|
352
332
|
<span class="ruby-ivar">@max_retries</span> = <span class="ruby-constant">DEFAULT_MAX_RETRIES</span>
|
|
@@ -400,8 +380,8 @@ or composite role.</p>
|
|
|
400
380
|
|
|
401
381
|
<div class="method-source-code" id="get_metadata-source">
|
|
402
382
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 48</span>
|
|
403
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_metadata</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">req</span>)
|
|
404
|
-
<span class="ruby-keyword">return</span> { <span class="ruby-
|
|
383
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_metadata</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">req</span>)
|
|
384
|
+
<span class="ruby-keyword">return</span> { <span class="ruby-value">'x-sdm-authentication':</span> <span class="ruby-ivar">@api_access_key</span>,<span class="ruby-value">'x-sdm-signature':</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">sign</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_proto</span>)}
|
|
405
385
|
<span class="ruby-keyword">end</span></pre>
|
|
406
386
|
</div>
|
|
407
387
|
|
|
@@ -433,7 +413,7 @@ or composite role.</p>
|
|
|
433
413
|
|
|
434
414
|
<div class="method-source-code" id="jitterSleep-source">
|
|
435
415
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 68</span>
|
|
436
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">jitterSleep</span>(<span class="ruby-identifier">iter</span>)
|
|
416
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">jitterSleep</span>(<span class="ruby-identifier">iter</span>)
|
|
437
417
|
<span class="ruby-identifier">dur_max</span> = <span class="ruby-ivar">@base_retry_delay</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span><span class="ruby-operator">**</span><span class="ruby-identifier">iter</span>
|
|
438
418
|
<span class="ruby-keyword">if</span> (<span class="ruby-identifier">dur_max</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@max_retry_delay</span>)
|
|
439
419
|
<span class="ruby-identifier">dur_max</span> = <span class="ruby-ivar">@max_retry_delay</span>
|
|
@@ -471,8 +451,8 @@ or composite role.</p>
|
|
|
471
451
|
|
|
472
452
|
<div class="method-source-code" id="shouldRetry-source">
|
|
473
453
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 77</span>
|
|
474
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">shouldRetry</span>(<span class="ruby-identifier">iter</span>, <span class="ruby-identifier">err</span>)
|
|
475
|
-
<span class="ruby-keyword">if</span> (<span class="ruby-identifier">iter</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@max_retries</span><span class="ruby-
|
|
454
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">shouldRetry</span>(<span class="ruby-identifier">iter</span>, <span class="ruby-identifier">err</span>)
|
|
455
|
+
<span class="ruby-keyword">if</span> (<span class="ruby-identifier">iter</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@max_retries</span><span class="ruby-value">-1</span>)
|
|
476
456
|
<span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
|
|
477
457
|
<span class="ruby-keyword">end</span>
|
|
478
458
|
<span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">err</span> .<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">GRPC</span><span class="ruby-operator">::</span><span class="ruby-constant">BadStatus</span>
|
|
@@ -510,7 +490,7 @@ or composite role.</p>
|
|
|
510
490
|
|
|
511
491
|
<div class="method-source-code" id="sign-source">
|
|
512
492
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 52</span>
|
|
513
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">sign</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">msg_bytes</span>)
|
|
493
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sign</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">msg_bytes</span>)
|
|
514
494
|
<span class="ruby-identifier">current_utc_date</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">utc</span>
|
|
515
495
|
<span class="ruby-identifier">date</span> = <span class="ruby-identifier">sprintf</span>(<span class="ruby-string">"%04d-%02d-%02d"</span>,<span class="ruby-identifier">current_utc_date</span>.<span class="ruby-identifier">year</span>, <span class="ruby-identifier">current_utc_date</span>.<span class="ruby-identifier">month</span>, <span class="ruby-identifier">current_utc_date</span>.<span class="ruby-identifier">day</span>)
|
|
516
496
|
|
|
@@ -538,12 +518,13 @@ or composite role.</p>
|
|
|
538
518
|
</section>
|
|
539
519
|
|
|
540
520
|
</section>
|
|
521
|
+
|
|
541
522
|
</main>
|
|
542
523
|
|
|
543
524
|
|
|
544
525
|
<footer id="validator-badges" role="contentinfo">
|
|
545
|
-
<p><a href="
|
|
546
|
-
<p>Generated by <a href="
|
|
526
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
527
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.2.
|
|
547
528
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
548
529
|
</footer>
|
|
549
530
|
|
data/doc/SDM/Clustrix.html
CHANGED
|
@@ -8,16 +8,21 @@
|
|
|
8
8
|
|
|
9
9
|
<script type="text/javascript">
|
|
10
10
|
var rdoc_rel_prefix = "../";
|
|
11
|
+
var index_rel_prefix = "../";
|
|
11
12
|
</script>
|
|
12
13
|
|
|
13
|
-
<script src="../js/
|
|
14
|
-
<script src="../js/
|
|
14
|
+
<script src="../js/navigation.js" defer></script>
|
|
15
|
+
<script src="../js/search.js" defer></script>
|
|
16
|
+
<script src="../js/search_index.js" defer></script>
|
|
17
|
+
<script src="../js/searcher.js" defer></script>
|
|
18
|
+
<script src="../js/darkfish.js" defer></script>
|
|
15
19
|
|
|
16
20
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
21
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
22
|
|
|
19
23
|
|
|
20
24
|
|
|
25
|
+
|
|
21
26
|
<body id="top" role="document" class="class">
|
|
22
27
|
<nav role="navigation">
|
|
23
28
|
<div id="project-navigation">
|
|
@@ -72,6 +77,8 @@
|
|
|
72
77
|
|
|
73
78
|
<li ><a href="#method-c-new">::new</a>
|
|
74
79
|
|
|
80
|
+
<li ><a href="#method-i-to_json">#to_json</a>
|
|
81
|
+
|
|
75
82
|
</ul>
|
|
76
83
|
</div>
|
|
77
84
|
|
|
@@ -88,8 +95,6 @@
|
|
|
88
95
|
</section>
|
|
89
96
|
|
|
90
97
|
|
|
91
|
-
|
|
92
|
-
|
|
93
98
|
<section id="5Buntitled-5D" class="documentation-section">
|
|
94
99
|
|
|
95
100
|
|
|
@@ -250,44 +255,98 @@
|
|
|
250
255
|
|
|
251
256
|
|
|
252
257
|
<div class="method-source-code" id="new-source">
|
|
253
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
254
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
258
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 2476</span>
|
|
259
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(
|
|
260
|
+
<span class="ruby-value">id:</span><span class="ruby-keyword">nil</span> \
|
|
261
|
+
,
|
|
262
|
+
<span class="ruby-value">name:</span><span class="ruby-keyword">nil</span> \
|
|
263
|
+
,
|
|
264
|
+
<span class="ruby-value">healthy:</span><span class="ruby-keyword">nil</span> \
|
|
265
|
+
,
|
|
266
|
+
<span class="ruby-value">hostname:</span><span class="ruby-keyword">nil</span> \
|
|
267
|
+
,
|
|
268
|
+
<span class="ruby-value">username:</span><span class="ruby-keyword">nil</span> \
|
|
269
|
+
,
|
|
270
|
+
<span class="ruby-value">password:</span><span class="ruby-keyword">nil</span> \
|
|
271
|
+
,
|
|
272
|
+
<span class="ruby-value">database:</span><span class="ruby-keyword">nil</span> \
|
|
273
|
+
,
|
|
274
|
+
<span class="ruby-value">port_override:</span><span class="ruby-keyword">nil</span> \
|
|
275
|
+
,
|
|
276
|
+
<span class="ruby-value">port:</span><span class="ruby-keyword">nil</span> \
|
|
277
|
+
)
|
|
278
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">id</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
279
|
+
<span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
|
|
280
|
+
<span class="ruby-keyword">end</span>
|
|
281
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
282
|
+
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
|
|
283
|
+
<span class="ruby-keyword">end</span>
|
|
284
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">healthy</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
285
|
+
<span class="ruby-ivar">@healthy</span> = <span class="ruby-identifier">healthy</span>
|
|
286
|
+
<span class="ruby-keyword">end</span>
|
|
287
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hostname</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
288
|
+
<span class="ruby-ivar">@hostname</span> = <span class="ruby-identifier">hostname</span>
|
|
289
|
+
<span class="ruby-keyword">end</span>
|
|
290
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">username</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
291
|
+
<span class="ruby-ivar">@username</span> = <span class="ruby-identifier">username</span>
|
|
292
|
+
<span class="ruby-keyword">end</span>
|
|
293
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
294
|
+
<span class="ruby-ivar">@password</span> = <span class="ruby-identifier">password</span>
|
|
295
|
+
<span class="ruby-keyword">end</span>
|
|
296
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">database</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
297
|
+
<span class="ruby-ivar">@database</span> = <span class="ruby-identifier">database</span>
|
|
298
|
+
<span class="ruby-keyword">end</span>
|
|
299
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">port_override</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
300
|
+
<span class="ruby-ivar">@port_override</span> = <span class="ruby-identifier">port_override</span>
|
|
301
|
+
<span class="ruby-keyword">end</span>
|
|
302
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">port</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
|
303
|
+
<span class="ruby-ivar">@port</span> = <span class="ruby-identifier">port</span>
|
|
304
|
+
<span class="ruby-keyword">end</span>
|
|
305
|
+
<span class="ruby-keyword">end</span></pre>
|
|
306
|
+
</div>
|
|
307
|
+
|
|
308
|
+
</div>
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
</div>
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
</section>
|
|
317
|
+
|
|
318
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
|
319
|
+
<header>
|
|
320
|
+
<h3>Public Instance Methods</h3>
|
|
321
|
+
</header>
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
<div id="method-i-to_json" class="method-detail ">
|
|
325
|
+
|
|
326
|
+
<div class="method-heading">
|
|
327
|
+
<span class="method-name">to_json</span><span
|
|
328
|
+
class="method-args">(options={})</span>
|
|
329
|
+
|
|
330
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
331
|
+
|
|
332
|
+
</div>
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
<div class="method-description">
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
<div class="method-source-code" id="to_json-source">
|
|
343
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 2523</span>
|
|
344
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_json</span>(<span class="ruby-identifier">options</span>={})
|
|
345
|
+
<span class="ruby-identifier">hash</span> = {}
|
|
346
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
|
|
347
|
+
<span class="ruby-identifier">hash</span>[<span class="ruby-identifier">var</span>.<span class="ruby-identifier">id2name</span>.<span class="ruby-identifier">delete_prefix</span>(<span class="ruby-string">'@'</span>)] = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variable_get</span> <span class="ruby-identifier">var</span>
|
|
290
348
|
<span class="ruby-keyword">end</span>
|
|
349
|
+
<span class="ruby-identifier">hash</span>.<span class="ruby-identifier">to_json</span>
|
|
291
350
|
<span class="ruby-keyword">end</span></pre>
|
|
292
351
|
</div>
|
|
293
352
|
|
|
@@ -302,12 +361,13 @@
|
|
|
302
361
|
</section>
|
|
303
362
|
|
|
304
363
|
</section>
|
|
364
|
+
|
|
305
365
|
</main>
|
|
306
366
|
|
|
307
367
|
|
|
308
368
|
<footer id="validator-badges" role="contentinfo">
|
|
309
|
-
<p><a href="
|
|
310
|
-
<p>Generated by <a href="
|
|
369
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
370
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.2.
|
|
311
371
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
312
372
|
</footer>
|
|
313
373
|
|