strongdm 1.0.1 → 1.0.2
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 +3 -6
- data/doc/Object.html +16 -16
- data/doc/README_md.html +3 -6
- data/doc/SDM.html +3 -6
- data/doc/SDM/AKS.html +5 -8
- data/doc/SDM/AKSBasicAuth.html +5 -8
- data/doc/SDM/AKSServiceAccount.html +5 -8
- data/doc/SDM/AccountAttachment.html +3 -6
- data/doc/SDM/AccountAttachmentCreateOptions.html +3 -6
- data/doc/SDM/AccountAttachmentCreateResponse.html +3 -6
- data/doc/SDM/AccountAttachmentDeleteResponse.html +3 -6
- data/doc/SDM/AccountAttachmentGetResponse.html +3 -6
- data/doc/SDM/AccountAttachments.html +3 -6
- data/doc/SDM/AccountCreateResponse.html +3 -6
- data/doc/SDM/AccountDeleteResponse.html +3 -6
- data/doc/SDM/AccountGetResponse.html +3 -6
- data/doc/SDM/AccountGrant.html +3 -6
- data/doc/SDM/AccountGrantCreateResponse.html +3 -6
- data/doc/SDM/AccountGrantDeleteResponse.html +3 -6
- data/doc/SDM/AccountGrantGetResponse.html +3 -6
- data/doc/SDM/AccountGrants.html +3 -6
- data/doc/SDM/AccountUpdateResponse.html +3 -6
- data/doc/SDM/Accounts.html +3 -6
- data/doc/SDM/AlreadyExistsError.html +3 -6
- data/doc/SDM/AmazonEKS.html +24 -9
- data/doc/SDM/AmazonES.html +3 -6
- data/doc/SDM/Athena.html +3 -6
- data/doc/SDM/AuroraMysql.html +5 -8
- data/doc/SDM/AuroraPostgres.html +5 -8
- data/doc/SDM/AuthenticationError.html +3 -6
- data/doc/SDM/BadRequestError.html +3 -6
- data/doc/SDM/BigQuery.html +3 -6
- data/doc/SDM/Cassandra.html +3 -6
- data/doc/SDM/Client.html +3 -6
- data/doc/SDM/Clustrix.html +5 -8
- data/doc/SDM/Cockroach.html +5 -8
- data/doc/SDM/CreateResponseMetadata.html +3 -6
- data/doc/SDM/DeadlineExceededError.html +3 -6
- data/doc/SDM/DeleteResponseMetadata.html +3 -6
- data/doc/SDM/Druid.html +3 -6
- data/doc/SDM/DynamoDB.html +3 -6
- data/doc/SDM/Elastic.html +3 -6
- data/doc/SDM/ElasticacheRedis.html +5 -8
- data/doc/SDM/Gateway.html +5 -8
- data/doc/SDM/GetResponseMetadata.html +3 -6
- data/doc/SDM/GoogleGKE.html +5 -8
- data/doc/SDM/Greenplum.html +5 -8
- data/doc/SDM/HTTPAuth.html +3 -6
- data/doc/SDM/HTTPBasicAuth.html +3 -6
- data/doc/SDM/HTTPNoAuth.html +3 -6
- data/doc/SDM/InternalError.html +3 -6
- data/doc/SDM/Kubernetes.html +3 -6
- data/doc/SDM/KubernetesBasicAuth.html +3 -6
- data/doc/SDM/KubernetesServiceAccount.html +3 -6
- data/doc/SDM/Maria.html +5 -8
- data/doc/SDM/Memcached.html +5 -8
- data/doc/SDM/Memsql.html +5 -8
- data/doc/SDM/MongoHost.html +5 -8
- data/doc/SDM/MongoLegacyHost.html +5 -8
- data/doc/SDM/MongoLegacyReplicaset.html +5 -8
- data/doc/SDM/MongoReplicaSet.html +5 -8
- data/doc/SDM/Mysql.html +5 -8
- data/doc/SDM/NodeCreateResponse.html +5 -8
- data/doc/SDM/NodeDeleteResponse.html +5 -8
- data/doc/SDM/NodeGetResponse.html +5 -8
- data/doc/SDM/NodeUpdateResponse.html +5 -8
- data/doc/SDM/Nodes.html +3 -6
- data/doc/SDM/NotFoundError.html +3 -6
- data/doc/SDM/Oracle.html +5 -8
- data/doc/SDM/PermissionError.html +3 -6
- data/doc/SDM/Plumbing.html +225 -226
- data/doc/SDM/Postgres.html +5 -8
- data/doc/SDM/Presto.html +5 -8
- data/doc/SDM/RDP.html +5 -8
- data/doc/SDM/RPCError.html +3 -6
- data/doc/SDM/RateLimitError.html +3 -6
- data/doc/SDM/RateLimitMetadata.html +3 -6
- data/doc/SDM/Redis.html +5 -8
- data/doc/SDM/Redshift.html +5 -8
- data/doc/SDM/Relay.html +5 -8
- data/doc/SDM/ResourceCreateResponse.html +5 -8
- data/doc/SDM/ResourceDeleteResponse.html +5 -8
- data/doc/SDM/ResourceGetResponse.html +5 -8
- data/doc/SDM/ResourceUpdateResponse.html +5 -8
- data/doc/SDM/Resources.html +3 -6
- data/doc/SDM/Role.html +5 -8
- data/doc/SDM/RoleAttachment.html +5 -8
- data/doc/SDM/RoleAttachmentCreateResponse.html +5 -8
- data/doc/SDM/RoleAttachmentDeleteResponse.html +5 -8
- data/doc/SDM/RoleAttachmentGetResponse.html +5 -8
- data/doc/SDM/RoleAttachments.html +3 -6
- data/doc/SDM/RoleCreateResponse.html +5 -8
- data/doc/SDM/RoleDeleteResponse.html +5 -8
- data/doc/SDM/RoleGetResponse.html +5 -8
- data/doc/SDM/RoleGrant.html +5 -8
- data/doc/SDM/RoleGrantCreateResponse.html +5 -8
- data/doc/SDM/RoleGrantDeleteResponse.html +5 -8
- data/doc/SDM/RoleGrantGetResponse.html +5 -8
- data/doc/SDM/RoleGrants.html +3 -6
- data/doc/SDM/RoleUpdateResponse.html +5 -8
- data/doc/SDM/Roles.html +3 -6
- data/doc/SDM/SQLServer.html +5 -8
- data/doc/SDM/SSH.html +5 -8
- data/doc/SDM/Service.html +3 -6
- data/doc/SDM/Snowflake.html +5 -8
- data/doc/SDM/Sybase.html +5 -8
- data/doc/SDM/SybaseIQ.html +5 -8
- data/doc/SDM/Teradata.html +5 -8
- data/doc/SDM/UpdateResponseMetadata.html +3 -6
- data/doc/SDM/User.html +3 -6
- data/doc/V1.html +3 -6
- data/doc/V1/AccountAttachments.html +3 -6
- data/doc/V1/AccountAttachments/Service.html +3 -6
- data/doc/V1/AccountGrants.html +3 -6
- data/doc/V1/AccountGrants/Service.html +3 -6
- data/doc/V1/Accounts.html +3 -6
- data/doc/V1/Accounts/Service.html +3 -6
- data/doc/V1/Nodes.html +3 -6
- data/doc/V1/Nodes/Service.html +3 -6
- data/doc/V1/Resources.html +3 -6
- data/doc/V1/Resources/Service.html +3 -6
- data/doc/V1/RoleAttachments.html +3 -6
- data/doc/V1/RoleAttachments/Service.html +3 -6
- data/doc/V1/RoleGrants.html +3 -6
- data/doc/V1/RoleGrants/Service.html +3 -6
- data/doc/V1/Roles.html +3 -6
- data/doc/V1/Roles/Service.html +3 -6
- data/doc/created.rid +41 -41
- data/doc/css/rdoc.css +1 -22
- data/doc/examples/Gemfile.html +3 -6
- data/doc/examples/Gemfile_lock.html +3 -6
- data/doc/examples/README_md.html +3 -6
- data/doc/examples/okta-sync/Gemfile.html +3 -6
- data/doc/examples/okta-sync/Gemfile_lock.html +3 -6
- data/doc/index.html +3 -6
- data/doc/js/darkfish.js +99 -22
- data/doc/js/navigation.js +40 -4
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search.js +31 -32
- data/doc/js/search_index.js +1 -1
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +6 -6
- data/doc/js/searcher.js.gz +0 -0
- data/doc/lib/version.html +3 -6
- data/doc/strongdm_gemspec.html +3 -6
- data/doc/table_of_contents.html +3 -6
- data/examples/okta-sync/oktaSync.rb +55 -13
- data/examples/panicButton.rb +42 -0
- data/lib/grpc/drivers_pb.rb +1 -0
- data/lib/grpc/plumbing.rb +2 -0
- data/lib/models/porcelain.rb +7 -1
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7de282c56f9520a15970d80af5979317acb7bdc923cee738e74c3f1f6bbe225a
|
|
4
|
+
data.tar.gz: 42a4d24ebf4b89bbbb376b1c09419e06ce3cb218331deb4c752e4c04fb08ec33
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f8babd9237e549ebd623185bc9d3be7477f5bdfdff0e0fac99c4f0664a1be7ec27d2b1de2fb46a21d1a920575ff53d7609e71fbdcd4a030134300274f2000626
|
|
7
|
+
data.tar.gz: fa74cce3c0d1a591769db03605fb4c2561caf6958d48921a19d9b482e11d5a3a3f0ff04731c4d05b2912d26c33cc207a8574fc3f1fe66114a1f5eb2b6743c11b
|
data/doc/LICENSE.html
CHANGED
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "./";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="./js/
|
|
15
|
-
<script src="./js/
|
|
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>
|
|
14
|
+
<script src="./js/jquery.js"></script>
|
|
15
|
+
<script src="./js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="./css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="./css/rdoc.css" rel="stylesheet">
|
|
@@ -197,7 +194,7 @@ identification within third-party archives.</pre>
|
|
|
197
194
|
|
|
198
195
|
<footer id="validator-badges" role="contentinfo">
|
|
199
196
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
200
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
197
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
201
198
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
202
199
|
</footer>
|
|
203
200
|
|
data/doc/Object.html
CHANGED
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "./";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="./js/
|
|
15
|
-
<script src="./js/
|
|
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>
|
|
14
|
+
<script src="./js/jquery.js"></script>
|
|
15
|
+
<script src="./js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="./css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="./css/rdoc.css" rel="stylesheet">
|
|
@@ -174,7 +171,7 @@
|
|
|
174
171
|
|
|
175
172
|
|
|
176
173
|
<div class="method-source-code" id="main-source">
|
|
177
|
-
<pre><span class="ruby-comment"># File examples/panicButton.rb, line
|
|
174
|
+
<pre><span class="ruby-comment"># File examples/panicButton.rb, line 67</span>
|
|
178
175
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">main</span>
|
|
179
176
|
<span class="ruby-identifier">access_key</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-string">"SDM_API_ACCESS_KEY"</span>]
|
|
180
177
|
<span class="ruby-identifier">secret_key</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-string">"SDM_API_SECRET_KEY"</span>]
|
|
@@ -316,7 +313,7 @@
|
|
|
316
313
|
|
|
317
314
|
|
|
318
315
|
<div class="method-source-code" id="okta_sync-source">
|
|
319
|
-
<pre><span class="ruby-comment"># File examples/okta-sync/oktaSync.rb, line
|
|
316
|
+
<pre><span class="ruby-comment"># File examples/okta-sync/oktaSync.rb, line 68</span>
|
|
320
317
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">okta_sync</span>
|
|
321
318
|
<span class="ruby-keyword">if</span> <span class="ruby-constant">SDM_API_ACCESS_KEY</span> <span class="ruby-operator">==</span> <span class="ruby-string">""</span> <span class="ruby-operator">||</span> <span class="ruby-constant">SDM_API_SECRET_KEY</span> <span class="ruby-operator">==</span> <span class="ruby-string">""</span> <span class="ruby-operator">||</span> <span class="ruby-constant">OKTA_CLIENT_TOKEN</span> <span class="ruby-operator">==</span> <span class="ruby-string">""</span> <span class="ruby-operator">||</span> <span class="ruby-constant">OKTA_CLIENT_ORGURL</span> <span class="ruby-operator">==</span> <span class="ruby-string">""</span>
|
|
322
319
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">"SDM_API_ACCESS_KEY, SDM_API_SECRET_KEY, OKTA_CLIENT_TOKEN, and OKTA_CLIENT_ORGURL must be set"</span>
|
|
@@ -388,7 +385,7 @@
|
|
|
388
385
|
<span class="ruby-identifier">current</span> = {}
|
|
389
386
|
<span class="ruby-identifier">grants</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
|
|
390
387
|
<span class="ruby-identifier">current</span>[<span class="ruby-identifier">g</span>.<span class="ruby-identifier">account_id</span>] = [] <span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">current</span>[<span class="ruby-identifier">g</span>.<span class="ruby-identifier">account_id</span>]
|
|
391
|
-
<span class="ruby-identifier">current</span>[<span class="ruby-identifier">g</span>.<span class="ruby-identifier">account_id</span>].<span class="ruby-identifier">push</span>(
|
|
388
|
+
<span class="ruby-identifier">current</span>[<span class="ruby-identifier">g</span>.<span class="ruby-identifier">account_id</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">g</span>)
|
|
392
389
|
}
|
|
393
390
|
|
|
394
391
|
<span class="ruby-identifier">desired</span> = {}
|
|
@@ -413,18 +410,21 @@
|
|
|
413
410
|
<span class="ruby-identifier">report</span>[<span class="ruby-value">:bothUsersCount</span>] = <span class="ruby-identifier">overlapping</span>
|
|
414
411
|
<span class="ruby-identifier">report</span>[<span class="ruby-value">:sdmResourcesCount</span>] = <span class="ruby-identifier">report</span>[<span class="ruby-value">:sdmResources</span>].<span class="ruby-identifier">size</span>
|
|
415
412
|
|
|
413
|
+
<span class="ruby-identifier">accounts_in_roles</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">account_attachments</span>.<span class="ruby-identifier">list</span>(<span class="ruby-string">""</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">aa</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">aa</span>.<span class="ruby-identifier">account_id</span>, <span class="ruby-keyword">true</span>] }.<span class="ruby-identifier">to_h</span>
|
|
414
|
+
|
|
416
415
|
<span class="ruby-identifier">revocations</span> = <span class="ruby-value">0</span>
|
|
417
416
|
<span class="ruby-identifier">current</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">aid</span>, <span class="ruby-identifier">curRes</span><span class="ruby-operator">|</span>
|
|
417
|
+
<span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">accounts_in_roles</span>[<span class="ruby-identifier">aid</span>]
|
|
418
418
|
<span class="ruby-identifier">desRes</span> = <span class="ruby-identifier">desired</span>[<span class="ruby-identifier">aid</span>]
|
|
419
419
|
<span class="ruby-identifier">desRes</span> = [] <span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">desired</span>[<span class="ruby-identifier">aid</span>]
|
|
420
420
|
<span class="ruby-identifier">curRes</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
|
421
|
-
<span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span>(<span class="ruby-identifier">desRes</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">r</span
|
|
421
|
+
<span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span>(<span class="ruby-identifier">desRes</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">resource_id</span>)
|
|
422
422
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">plan</span>
|
|
423
|
-
<span class="ruby-identifier">puts</span> <span class="ruby-string">"Plan: revoke %s from user %s\n"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">r</span
|
|
423
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-string">"Plan: revoke %s from user %s\n"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">r</span>.<span class="ruby-identifier">resource_id</span>, <span class="ruby-identifier">aid</span>]
|
|
424
424
|
<span class="ruby-keyword">else</span>
|
|
425
|
-
<span class="ruby-identifier">client</span>.<span class="ruby-identifier">account_grants</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">r</span
|
|
425
|
+
<span class="ruby-identifier">client</span>.<span class="ruby-identifier">account_grants</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">id</span>)
|
|
426
426
|
<span class="ruby-keyword">end</span>
|
|
427
|
-
<span class="ruby-identifier">report</span>[<span class="ruby-value">:revocations</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">r</span>
|
|
427
|
+
<span class="ruby-identifier">report</span>[<span class="ruby-value">:revocations</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">r</span>)
|
|
428
428
|
<span class="ruby-identifier">revocations</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
429
429
|
<span class="ruby-keyword">end</span>
|
|
430
430
|
}
|
|
@@ -436,14 +436,14 @@
|
|
|
436
436
|
<span class="ruby-identifier">curRes</span> = <span class="ruby-identifier">current</span>[<span class="ruby-identifier">aid</span>]
|
|
437
437
|
<span class="ruby-identifier">curRes</span> = [] <span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">current</span>[<span class="ruby-identifier">aid</span>]
|
|
438
438
|
<span class="ruby-identifier">desRes</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
|
439
|
-
<span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span>(<span class="ruby-identifier">curRes</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span
|
|
439
|
+
<span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span>(<span class="ruby-identifier">curRes</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">resource_id</span> }.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">r</span>)
|
|
440
440
|
<span class="ruby-identifier">ag</span> = <span class="ruby-constant">SDM</span><span class="ruby-operator">::</span><span class="ruby-constant">AccountGrant</span>.<span class="ruby-identifier">new</span>()
|
|
441
441
|
<span class="ruby-identifier">ag</span>.<span class="ruby-identifier">account_id</span> = <span class="ruby-identifier">aid</span>
|
|
442
442
|
<span class="ruby-identifier">ag</span>.<span class="ruby-identifier">resource_id</span> = <span class="ruby-identifier">r</span>
|
|
443
443
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">plan</span>
|
|
444
444
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">"Plan: grant %s to user %s\n"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">r</span>, <span class="ruby-identifier">aid</span>]
|
|
445
445
|
<span class="ruby-keyword">else</span>
|
|
446
|
-
<span class="ruby-identifier">client</span>.<span class="ruby-identifier">account_grants</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">ag</span>)
|
|
446
|
+
<span class="ruby-identifier">ag</span> = <span class="ruby-identifier">client</span>.<span class="ruby-identifier">account_grants</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">ag</span>).<span class="ruby-identifier">account_grant</span>
|
|
447
447
|
<span class="ruby-keyword">end</span>
|
|
448
448
|
<span class="ruby-identifier">report</span>[<span class="ruby-value">:grants</span>].<span class="ruby-identifier">push</span>(<span class="ruby-identifier">ag</span>)
|
|
449
449
|
<span class="ruby-identifier">grants</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
@@ -455,7 +455,7 @@
|
|
|
455
455
|
<span class="ruby-identifier">report</span>[<span class="ruby-value">:complete</span>] = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
|
|
456
456
|
|
|
457
457
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">verbose</span>
|
|
458
|
-
<span class="ruby-identifier">puts</span> <span class="ruby-
|
|
458
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">pretty_generate</span>(<span class="ruby-identifier">report</span>)
|
|
459
459
|
<span class="ruby-keyword">else</span>
|
|
460
460
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">"%d Okta users, %d strongDM users, %d overlapping users, %d grants, %d revocations"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">okta_users</span>.<span class="ruby-identifier">size</span>, <span class="ruby-identifier">accounts</span>.<span class="ruby-identifier">size</span>, <span class="ruby-identifier">overlapping</span>, <span class="ruby-identifier">grants</span>, <span class="ruby-identifier">revocations</span>]
|
|
461
461
|
<span class="ruby-keyword">end</span>
|
|
@@ -479,7 +479,7 @@
|
|
|
479
479
|
|
|
480
480
|
<footer id="validator-badges" role="contentinfo">
|
|
481
481
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
482
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
482
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
483
483
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
484
484
|
</footer>
|
|
485
485
|
|
data/doc/README_md.html
CHANGED
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "./";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="./js/
|
|
15
|
-
<script src="./js/
|
|
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>
|
|
14
|
+
<script src="./js/jquery.js"></script>
|
|
15
|
+
<script src="./js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="./css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="./css/rdoc.css" rel="stylesheet">
|
|
@@ -130,7 +127,7 @@ $ export SDM_API_SECRET_KEY=<YOUR SECRET KEY></pre>
|
|
|
130
127
|
|
|
131
128
|
<footer id="validator-badges" role="contentinfo">
|
|
132
129
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
133
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
130
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
134
131
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
135
132
|
</footer>
|
|
136
133
|
|
data/doc/SDM.html
CHANGED
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "./";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="./js/
|
|
15
|
-
<script src="./js/
|
|
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>
|
|
14
|
+
<script src="./js/jquery.js"></script>
|
|
15
|
+
<script src="./js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="./css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="./css/rdoc.css" rel="stylesheet">
|
|
@@ -129,7 +126,7 @@
|
|
|
129
126
|
|
|
130
127
|
<footer id="validator-badges" role="contentinfo">
|
|
131
128
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
132
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
129
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
133
130
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
134
131
|
</footer>
|
|
135
132
|
|
data/doc/SDM/AKS.html
CHANGED
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -281,7 +278,7 @@
|
|
|
281
278
|
|
|
282
279
|
|
|
283
280
|
<div class="method-source-code" id="new-source">
|
|
284
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
281
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 1716</span>
|
|
285
282
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(
|
|
286
283
|
<span class="ruby-value">id:</span><span class="ruby-keyword">nil</span> \
|
|
287
284
|
,
|
|
@@ -376,7 +373,7 @@
|
|
|
376
373
|
|
|
377
374
|
|
|
378
375
|
<div class="method-source-code" id="to_json-source">
|
|
379
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
376
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 1773</span>
|
|
380
377
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_json</span>(<span class="ruby-identifier">options</span>={})
|
|
381
378
|
<span class="ruby-identifier">hash</span> = {}
|
|
382
379
|
<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>
|
|
@@ -403,7 +400,7 @@
|
|
|
403
400
|
|
|
404
401
|
<footer id="validator-badges" role="contentinfo">
|
|
405
402
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
406
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
403
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
407
404
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
408
405
|
</footer>
|
|
409
406
|
|
data/doc/SDM/AKSBasicAuth.html
CHANGED
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -229,7 +226,7 @@
|
|
|
229
226
|
|
|
230
227
|
|
|
231
228
|
<div class="method-source-code" id="new-source">
|
|
232
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
229
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 1797</span>
|
|
233
230
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(
|
|
234
231
|
<span class="ruby-value">id:</span><span class="ruby-keyword">nil</span> \
|
|
235
232
|
,
|
|
@@ -304,7 +301,7 @@
|
|
|
304
301
|
|
|
305
302
|
|
|
306
303
|
<div class="method-source-code" id="to_json-source">
|
|
307
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
304
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 1834</span>
|
|
308
305
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_json</span>(<span class="ruby-identifier">options</span>={})
|
|
309
306
|
<span class="ruby-identifier">hash</span> = {}
|
|
310
307
|
<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>
|
|
@@ -331,7 +328,7 @@
|
|
|
331
328
|
|
|
332
329
|
<footer id="validator-badges" role="contentinfo">
|
|
333
330
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
334
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
331
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
335
332
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
336
333
|
</footer>
|
|
337
334
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -216,7 +213,7 @@
|
|
|
216
213
|
|
|
217
214
|
|
|
218
215
|
<div class="method-source-code" id="new-source">
|
|
219
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
216
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 1856</span>
|
|
220
217
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(
|
|
221
218
|
<span class="ruby-value">id:</span><span class="ruby-keyword">nil</span> \
|
|
222
219
|
,
|
|
@@ -286,7 +283,7 @@
|
|
|
286
283
|
|
|
287
284
|
|
|
288
285
|
<div class="method-source-code" id="to_json-source">
|
|
289
|
-
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line
|
|
286
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 1888</span>
|
|
290
287
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_json</span>(<span class="ruby-identifier">options</span>={})
|
|
291
288
|
<span class="ruby-identifier">hash</span> = {}
|
|
292
289
|
<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>
|
|
@@ -313,7 +310,7 @@
|
|
|
313
310
|
|
|
314
311
|
<footer id="validator-badges" role="contentinfo">
|
|
315
312
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
316
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
313
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
317
314
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
318
315
|
</footer>
|
|
319
316
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -261,7 +258,7 @@
|
|
|
261
258
|
|
|
262
259
|
<footer id="validator-badges" role="contentinfo">
|
|
263
260
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
264
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
261
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
265
262
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
266
263
|
</footer>
|
|
267
264
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -225,7 +222,7 @@
|
|
|
225
222
|
|
|
226
223
|
<footer id="validator-badges" role="contentinfo">
|
|
227
224
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
228
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
225
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
229
226
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
230
227
|
</footer>
|
|
231
228
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -261,7 +258,7 @@
|
|
|
261
258
|
|
|
262
259
|
<footer id="validator-badges" role="contentinfo">
|
|
263
260
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
264
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
261
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
265
262
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
266
263
|
</footer>
|
|
267
264
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -243,7 +240,7 @@
|
|
|
243
240
|
|
|
244
241
|
<footer id="validator-badges" role="contentinfo">
|
|
245
242
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
246
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
243
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
247
244
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
248
245
|
</footer>
|
|
249
246
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -261,7 +258,7 @@
|
|
|
261
258
|
|
|
262
259
|
<footer id="validator-badges" role="contentinfo">
|
|
263
260
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
264
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
261
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
265
262
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
266
263
|
</footer>
|
|
267
264
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -426,7 +423,7 @@
|
|
|
426
423
|
|
|
427
424
|
<footer id="validator-badges" role="contentinfo">
|
|
428
425
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
429
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
426
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
430
427
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
431
428
|
</footer>
|
|
432
429
|
|
|
@@ -11,11 +11,8 @@
|
|
|
11
11
|
var index_rel_prefix = "../";
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script src="../js/
|
|
15
|
-
<script src="../js/
|
|
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>
|
|
14
|
+
<script src="../js/jquery.js"></script>
|
|
15
|
+
<script src="../js/darkfish.js"></script>
|
|
19
16
|
|
|
20
17
|
<link href="../css/fonts.css" rel="stylesheet">
|
|
21
18
|
<link href="../css/rdoc.css" rel="stylesheet">
|
|
@@ -279,7 +276,7 @@
|
|
|
279
276
|
|
|
280
277
|
<footer id="validator-badges" role="contentinfo">
|
|
281
278
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
282
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.
|
|
279
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.0.
|
|
283
280
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
284
281
|
</footer>
|
|
285
282
|
|