strongdm 1.0.34 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (253) hide show
  1. checksums.yaml +4 -4
  2. data/.git/ORIG_HEAD +1 -1
  3. data/.git/config +0 -3
  4. data/.git/index +0 -0
  5. data/.git/logs/HEAD +3 -4
  6. data/.git/logs/refs/heads/master +2 -2
  7. data/.git/logs/refs/remotes/origin/HEAD +1 -1
  8. data/.git/objects/pack/pack-799dc839a811c2fbe50b5281a9266fcc3a8f5154.idx +0 -0
  9. data/.git/objects/pack/{pack-802051e74a1de9449b3bc69f695b0b5e55e448e5.pack → pack-799dc839a811c2fbe50b5281a9266fcc3a8f5154.pack} +0 -0
  10. data/.git/packed-refs +3 -2
  11. data/.git/refs/heads/master +1 -1
  12. data/.yardopts +9 -0
  13. data/README.md +18 -6
  14. data/lib/errors/errors.rb +1 -1
  15. data/lib/grpc/account_attachments_services_pb.rb +1 -1
  16. data/lib/grpc/accounts_services_pb.rb +2 -2
  17. data/lib/grpc/drivers_pb.rb +21 -0
  18. data/lib/grpc/nodes_services_pb.rb +1 -1
  19. data/lib/grpc/options_pb.rb +35 -41
  20. data/lib/grpc/plumbing.rb +1165 -982
  21. data/lib/grpc/resources_services_pb.rb +3 -1
  22. data/lib/grpc/role_attachments_services_pb.rb +10 -0
  23. data/lib/grpc/role_grants_services_pb.rb +10 -0
  24. data/lib/grpc/roles_services_pb.rb +4 -6
  25. data/lib/grpc/secret_store_types_pb.rb +17 -0
  26. data/lib/grpc/secret_stores_services_pb.rb +1 -1
  27. data/lib/models/porcelain.rb +1178 -2962
  28. data/lib/strongdm.rb +39 -15
  29. data/lib/svc.rb +162 -14
  30. data/lib/version +1 -1
  31. data/lib/version.rb +1 -1
  32. metadata +5 -224
  33. data/.git/FETCH_HEAD +0 -2
  34. data/.git/logs/refs/heads/development +0 -1
  35. data/.git/objects/pack/pack-802051e74a1de9449b3bc69f695b0b5e55e448e5.idx +0 -0
  36. data/.git/refs/heads/development +0 -1
  37. data/doc/LICENSE.html +0 -187
  38. data/doc/Object.html +0 -114
  39. data/doc/README_md.html +0 -146
  40. data/doc/SDM/AKS.html +0 -352
  41. data/doc/SDM/AKSBasicAuth.html +0 -337
  42. data/doc/SDM/AKSServiceAccount.html +0 -322
  43. data/doc/SDM/AKSServiceAccountUserImpersonation.html +0 -322
  44. data/doc/SDM/AKSUserImpersonation.html +0 -352
  45. data/doc/SDM/AWS.html +0 -337
  46. data/doc/SDM/AWSStore.html +0 -232
  47. data/doc/SDM/AccountAttachment.html +0 -219
  48. data/doc/SDM/AccountAttachmentCreateResponse.html +0 -219
  49. data/doc/SDM/AccountAttachmentDeleteResponse.html +0 -204
  50. data/doc/SDM/AccountAttachmentGetResponse.html +0 -219
  51. data/doc/SDM/AccountAttachments.html +0 -354
  52. data/doc/SDM/AccountCreateResponse.html +0 -234
  53. data/doc/SDM/AccountDeleteResponse.html +0 -204
  54. data/doc/SDM/AccountGetResponse.html +0 -219
  55. data/doc/SDM/AccountGrant.html +0 -249
  56. data/doc/SDM/AccountGrantCreateResponse.html +0 -219
  57. data/doc/SDM/AccountGrantDeleteResponse.html +0 -204
  58. data/doc/SDM/AccountGrantGetResponse.html +0 -219
  59. data/doc/SDM/AccountGrants.html +0 -354
  60. data/doc/SDM/AccountUpdateResponse.html +0 -219
  61. data/doc/SDM/Accounts.html +0 -409
  62. data/doc/SDM/AlreadyExistsError.html +0 -140
  63. data/doc/SDM/AmazonEKS.html +0 -397
  64. data/doc/SDM/AmazonEKSUserImpersonation.html +0 -397
  65. data/doc/SDM/AmazonES.html +0 -367
  66. data/doc/SDM/AmazonMQAMQP091.html +0 -352
  67. data/doc/SDM/Athena.html +0 -367
  68. data/doc/SDM/AuroraMysql.html +0 -352
  69. data/doc/SDM/AuroraPostgres.html +0 -367
  70. data/doc/SDM/AuthenticationError.html +0 -140
  71. data/doc/SDM/Azure.html +0 -307
  72. data/doc/SDM/AzureCertificate.html +0 -307
  73. data/doc/SDM/AzurePostgres.html +0 -367
  74. data/doc/SDM/AzureStore.html +0 -232
  75. data/doc/SDM/BadRequestError.html +0 -140
  76. data/doc/SDM/BigQuery.html +0 -337
  77. data/doc/SDM/Cassandra.html +0 -352
  78. data/doc/SDM/Citus.html +0 -367
  79. data/doc/SDM/Client.html +0 -443
  80. data/doc/SDM/Clustrix.html +0 -352
  81. data/doc/SDM/Cockroach.html +0 -367
  82. data/doc/SDM/ControlPanel.html +0 -248
  83. data/doc/SDM/ControlPanelGetSSHCAPublicKeyResponse.html +0 -219
  84. data/doc/SDM/ControlPanelVerifyJWTResponse.html +0 -219
  85. data/doc/SDM/CreateResponseMetadata.html +0 -169
  86. data/doc/SDM/DB2LUW.html +0 -352
  87. data/doc/SDM/DB2i.html +0 -352
  88. data/doc/SDM/DeadlineExceededError.html +0 -140
  89. data/doc/SDM/DeleteResponseMetadata.html +0 -169
  90. data/doc/SDM/DocumentDBHost.html +0 -352
  91. data/doc/SDM/DocumentDBReplicaSet.html +0 -367
  92. data/doc/SDM/Druid.html +0 -337
  93. data/doc/SDM/DynamoDB.html +0 -367
  94. data/doc/SDM/Elastic.html +0 -352
  95. data/doc/SDM/ElasticacheRedis.html +0 -337
  96. data/doc/SDM/GCP.html +0 -292
  97. data/doc/SDM/Gateway.html +0 -279
  98. data/doc/SDM/GetResponseMetadata.html +0 -169
  99. data/doc/SDM/GoogleGKE.html +0 -322
  100. data/doc/SDM/GoogleGKEUserImpersonation.html +0 -322
  101. data/doc/SDM/Greenplum.html +0 -367
  102. data/doc/SDM/HTTPAuth.html +0 -352
  103. data/doc/SDM/HTTPBasicAuth.html +0 -367
  104. data/doc/SDM/HTTPNoAuth.html +0 -337
  105. data/doc/SDM/InternalError.html +0 -140
  106. data/doc/SDM/Kubernetes.html +0 -352
  107. data/doc/SDM/KubernetesBasicAuth.html +0 -337
  108. data/doc/SDM/KubernetesServiceAccount.html +0 -322
  109. data/doc/SDM/KubernetesServiceAccountUserImpersonation.html +0 -322
  110. data/doc/SDM/KubernetesUserImpersonation.html +0 -352
  111. data/doc/SDM/Maria.html +0 -352
  112. data/doc/SDM/Memcached.html +0 -307
  113. data/doc/SDM/Memsql.html +0 -352
  114. data/doc/SDM/MongoHost.html +0 -367
  115. data/doc/SDM/MongoLegacyHost.html +0 -382
  116. data/doc/SDM/MongoLegacyReplicaset.html +0 -397
  117. data/doc/SDM/MongoReplicaSet.html +0 -397
  118. data/doc/SDM/MongoShardedCluster.html +0 -352
  119. data/doc/SDM/Mysql.html +0 -352
  120. data/doc/SDM/Neptune.html +0 -307
  121. data/doc/SDM/NeptuneIAM.html +0 -382
  122. data/doc/SDM/NodeCreateResponse.html +0 -234
  123. data/doc/SDM/NodeDeleteResponse.html +0 -204
  124. data/doc/SDM/NodeGetResponse.html +0 -219
  125. data/doc/SDM/NodeUpdateResponse.html +0 -219
  126. data/doc/SDM/Nodes.html +0 -409
  127. data/doc/SDM/NotFoundError.html +0 -140
  128. data/doc/SDM/Oracle.html +0 -367
  129. data/doc/SDM/PermissionError.html +0 -140
  130. data/doc/SDM/Plumbing.html +0 -16086
  131. data/doc/SDM/Postgres.html +0 -367
  132. data/doc/SDM/Presto.html +0 -367
  133. data/doc/SDM/RDP.html +0 -352
  134. data/doc/SDM/RPCError.html +0 -157
  135. data/doc/SDM/RabbitMQAMQP091.html +0 -352
  136. data/doc/SDM/RateLimitError.html +0 -157
  137. data/doc/SDM/RateLimitMetadata.html +0 -234
  138. data/doc/SDM/RawTCP.html +0 -307
  139. data/doc/SDM/Redis.html +0 -322
  140. data/doc/SDM/Redshift.html +0 -367
  141. data/doc/SDM/Relay.html +0 -249
  142. data/doc/SDM/ResourceCreateResponse.html +0 -219
  143. data/doc/SDM/ResourceDeleteResponse.html +0 -204
  144. data/doc/SDM/ResourceGetResponse.html +0 -219
  145. data/doc/SDM/ResourceUpdateResponse.html +0 -219
  146. data/doc/SDM/Resources.html +0 -456
  147. data/doc/SDM/Role.html +0 -249
  148. data/doc/SDM/RoleAttachment.html +0 -219
  149. data/doc/SDM/RoleAttachmentCreateResponse.html +0 -219
  150. data/doc/SDM/RoleAttachmentDeleteResponse.html +0 -204
  151. data/doc/SDM/RoleAttachmentGetResponse.html +0 -219
  152. data/doc/SDM/RoleAttachments.html +0 -354
  153. data/doc/SDM/RoleCreateResponse.html +0 -219
  154. data/doc/SDM/RoleDeleteResponse.html +0 -204
  155. data/doc/SDM/RoleGetResponse.html +0 -219
  156. data/doc/SDM/RoleGrant.html +0 -219
  157. data/doc/SDM/RoleGrantCreateResponse.html +0 -219
  158. data/doc/SDM/RoleGrantDeleteResponse.html +0 -204
  159. data/doc/SDM/RoleGrantGetResponse.html +0 -219
  160. data/doc/SDM/RoleGrants.html +0 -354
  161. data/doc/SDM/RoleUpdateResponse.html +0 -219
  162. data/doc/SDM/Roles.html +0 -403
  163. data/doc/SDM/SQLServer.html +0 -382
  164. data/doc/SDM/SSH.html +0 -352
  165. data/doc/SDM/SSHCert.html +0 -337
  166. data/doc/SDM/SSHCustomerKey.html +0 -352
  167. data/doc/SDM/SecretStoreCreateResponse.html +0 -219
  168. data/doc/SDM/SecretStoreDeleteResponse.html +0 -204
  169. data/doc/SDM/SecretStoreGetResponse.html +0 -219
  170. data/doc/SDM/SecretStoreUpdateResponse.html +0 -219
  171. data/doc/SDM/SecretStores.html +0 -403
  172. data/doc/SDM/Service.html +0 -234
  173. data/doc/SDM/SingleStore.html +0 -352
  174. data/doc/SDM/Snowflake.html +0 -352
  175. data/doc/SDM/Sybase.html +0 -337
  176. data/doc/SDM/SybaseIQ.html +0 -337
  177. data/doc/SDM/Tag.html +0 -202
  178. data/doc/SDM/Teradata.html +0 -337
  179. data/doc/SDM/UpdateResponseMetadata.html +0 -169
  180. data/doc/SDM/User.html +0 -264
  181. data/doc/SDM/VaultTLSStore.html +0 -292
  182. data/doc/SDM/VaultTokenStore.html +0 -247
  183. data/doc/SDM.html +0 -122
  184. data/doc/V1/AccountAttachments/Service.html +0 -107
  185. data/doc/V1/AccountAttachments.html +0 -100
  186. data/doc/V1/AccountGrants/Service.html +0 -107
  187. data/doc/V1/AccountGrants.html +0 -100
  188. data/doc/V1/Accounts/Service.html +0 -112
  189. data/doc/V1/Accounts.html +0 -100
  190. data/doc/V1/ControlPanel/Service.html +0 -107
  191. data/doc/V1/ControlPanel.html +0 -100
  192. data/doc/V1/Nodes/Service.html +0 -112
  193. data/doc/V1/Nodes.html +0 -100
  194. data/doc/V1/Resources/Service.html +0 -105
  195. data/doc/V1/Resources.html +0 -100
  196. data/doc/V1/RoleAttachments/Service.html +0 -107
  197. data/doc/V1/RoleAttachments.html +0 -100
  198. data/doc/V1/RoleGrants/Service.html +0 -107
  199. data/doc/V1/RoleGrants.html +0 -100
  200. data/doc/V1/Roles/Service.html +0 -107
  201. data/doc/V1/Roles.html +0 -100
  202. data/doc/V1/SecretStores/Service.html +0 -107
  203. data/doc/V1/SecretStores.html +0 -100
  204. data/doc/V1/Tags.html +0 -100
  205. data/doc/V1.html +0 -506
  206. data/doc/created.rid +0 -37
  207. data/doc/css/fonts.css +0 -167
  208. data/doc/css/rdoc.css +0 -639
  209. data/doc/examples/Gemfile.html +0 -89
  210. data/doc/fonts/Lato-Light.ttf +0 -0
  211. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  212. data/doc/fonts/Lato-Regular.ttf +0 -0
  213. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  214. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  215. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  216. data/doc/images/add.png +0 -0
  217. data/doc/images/arrow_up.png +0 -0
  218. data/doc/images/brick.png +0 -0
  219. data/doc/images/brick_link.png +0 -0
  220. data/doc/images/bug.png +0 -0
  221. data/doc/images/bullet_black.png +0 -0
  222. data/doc/images/bullet_toggle_minus.png +0 -0
  223. data/doc/images/bullet_toggle_plus.png +0 -0
  224. data/doc/images/date.png +0 -0
  225. data/doc/images/delete.png +0 -0
  226. data/doc/images/find.png +0 -0
  227. data/doc/images/loadingAnimation.gif +0 -0
  228. data/doc/images/macFFBgHack.png +0 -0
  229. data/doc/images/package.png +0 -0
  230. data/doc/images/page_green.png +0 -0
  231. data/doc/images/page_white_text.png +0 -0
  232. data/doc/images/page_white_width.png +0 -0
  233. data/doc/images/plugin.png +0 -0
  234. data/doc/images/ruby.png +0 -0
  235. data/doc/images/tag_blue.png +0 -0
  236. data/doc/images/tag_green.png +0 -0
  237. data/doc/images/transparent.png +0 -0
  238. data/doc/images/wrench.png +0 -0
  239. data/doc/images/wrench_orange.png +0 -0
  240. data/doc/images/zoom.png +0 -0
  241. data/doc/index.html +0 -257
  242. data/doc/js/darkfish.js +0 -84
  243. data/doc/js/navigation.js +0 -105
  244. data/doc/js/navigation.js.gz +0 -0
  245. data/doc/js/search.js +0 -110
  246. data/doc/js/search_index.js +0 -1
  247. data/doc/js/search_index.js.gz +0 -0
  248. data/doc/js/searcher.js +0 -229
  249. data/doc/js/searcher.js.gz +0 -0
  250. data/doc/lib/version.html +0 -92
  251. data/doc/table_of_contents.html +0 -4680
  252. data/examples/Gemfile +0 -3
  253. data/examples/listUsers.rb +0 -21
Binary file
data/doc/js/searcher.js DELETED
@@ -1,229 +0,0 @@
1
- Searcher = function(data) {
2
- this.data = data;
3
- this.handlers = [];
4
- }
5
-
6
- Searcher.prototype = new function() {
7
- // search is performed in chunks of 1000 for non-blocking user input
8
- var CHUNK_SIZE = 1000;
9
- // do not try to find more than 100 results
10
- var MAX_RESULTS = 100;
11
- var huid = 1;
12
- var suid = 1;
13
- var runs = 0;
14
-
15
- this.find = function(query) {
16
- var queries = splitQuery(query);
17
- var regexps = buildRegexps(queries);
18
- var highlighters = buildHilighters(queries);
19
- var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++};
20
- var _this = this;
21
-
22
- this.currentSuid = state.n;
23
-
24
- if (!query) return;
25
-
26
- var run = function() {
27
- // stop current search thread if new search started
28
- if (state.n != _this.currentSuid) return;
29
-
30
- var results =
31
- performSearch(_this.data, regexps, queries, highlighters, state);
32
- var hasMore = (state.limit > 0 && state.pass < 4);
33
-
34
- triggerResults.call(_this, results, !hasMore);
35
- if (hasMore) {
36
- setTimeout(run, 2);
37
- }
38
- runs++;
39
- };
40
- runs = 0;
41
-
42
- // start search thread
43
- run();
44
- }
45
-
46
- /* ----- Events ------ */
47
- this.ready = function(fn) {
48
- fn.huid = huid;
49
- this.handlers.push(fn);
50
- }
51
-
52
- /* ----- Utilities ------ */
53
- function splitQuery(query) {
54
- return query.split(/(\s+|::?|\(\)?)/).filter(function(string) {
55
- return string.match(/\S/);
56
- });
57
- }
58
-
59
- function buildRegexps(queries) {
60
- return queries.map(function(query) {
61
- return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i');
62
- });
63
- }
64
-
65
- function buildHilighters(queries) {
66
- return queries.map(function(query) {
67
- return query.split('').map(function(l, i) {
68
- return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2);
69
- }).join('');
70
- });
71
- }
72
-
73
- // function longMatchRegexp(index, longIndex, regexps) {
74
- // for (var i = regexps.length - 1; i >= 0; i--){
75
- // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false;
76
- // };
77
- // return true;
78
- // }
79
-
80
-
81
- /* ----- Mathchers ------ */
82
-
83
- /*
84
- * This record matches if the index starts with queries[0] and the record
85
- * matches all of the regexps
86
- */
87
- function matchPassBeginning(index, longIndex, queries, regexps) {
88
- if (index.indexOf(queries[0]) != 0) return false;
89
- for (var i=1, l = regexps.length; i < l; i++) {
90
- if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
91
- return false;
92
- };
93
- return true;
94
- }
95
-
96
- /*
97
- * This record matches if the longIndex starts with queries[0] and the
98
- * longIndex matches all of the regexps
99
- */
100
- function matchPassLongIndex(index, longIndex, queries, regexps) {
101
- if (longIndex.indexOf(queries[0]) != 0) return false;
102
- for (var i=1, l = regexps.length; i < l; i++) {
103
- if (!longIndex.match(regexps[i]))
104
- return false;
105
- };
106
- return true;
107
- }
108
-
109
- /*
110
- * This record matches if the index contains queries[0] and the record
111
- * matches all of the regexps
112
- */
113
- function matchPassContains(index, longIndex, queries, regexps) {
114
- if (index.indexOf(queries[0]) == -1) return false;
115
- for (var i=1, l = regexps.length; i < l; i++) {
116
- if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
117
- return false;
118
- };
119
- return true;
120
- }
121
-
122
- /*
123
- * This record matches if regexps[0] matches the index and the record
124
- * matches all of the regexps
125
- */
126
- function matchPassRegexp(index, longIndex, queries, regexps) {
127
- if (!index.match(regexps[0])) return false;
128
- for (var i=1, l = regexps.length; i < l; i++) {
129
- if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
130
- return false;
131
- };
132
- return true;
133
- }
134
-
135
-
136
- /* ----- Highlighters ------ */
137
- function highlightRegexp(info, queries, regexps, highlighters) {
138
- var result = createResult(info);
139
- for (var i=0, l = regexps.length; i < l; i++) {
140
- result.title = result.title.replace(regexps[i], highlighters[i]);
141
- result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
142
- };
143
- return result;
144
- }
145
-
146
- function hltSubstring(string, pos, length) {
147
- return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length);
148
- }
149
-
150
- function highlightQuery(info, queries, regexps, highlighters) {
151
- var result = createResult(info);
152
- var pos = 0;
153
- var lcTitle = result.title.toLowerCase();
154
-
155
- pos = lcTitle.indexOf(queries[0]);
156
- if (pos != -1) {
157
- result.title = hltSubstring(result.title, pos, queries[0].length);
158
- }
159
-
160
- result.namespace = result.namespace.replace(regexps[0], highlighters[0]);
161
- for (var i=1, l = regexps.length; i < l; i++) {
162
- result.title = result.title.replace(regexps[i], highlighters[i]);
163
- result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
164
- };
165
- return result;
166
- }
167
-
168
- function createResult(info) {
169
- var result = {};
170
- result.title = info[0];
171
- result.namespace = info[1];
172
- result.path = info[2];
173
- result.params = info[3];
174
- result.snippet = info[4];
175
- result.badge = info[6];
176
- return result;
177
- }
178
-
179
- /* ----- Searching ------ */
180
- function performSearch(data, regexps, queries, highlighters, state) {
181
- var searchIndex = data.searchIndex;
182
- var longSearchIndex = data.longSearchIndex;
183
- var info = data.info;
184
- var result = [];
185
- var i = state.from;
186
- var l = searchIndex.length;
187
- var togo = CHUNK_SIZE;
188
- var matchFunc, hltFunc;
189
-
190
- while (state.pass < 4 && state.limit > 0 && togo > 0) {
191
- if (state.pass == 0) {
192
- matchFunc = matchPassBeginning;
193
- hltFunc = highlightQuery;
194
- } else if (state.pass == 1) {
195
- matchFunc = matchPassLongIndex;
196
- hltFunc = highlightQuery;
197
- } else if (state.pass == 2) {
198
- matchFunc = matchPassContains;
199
- hltFunc = highlightQuery;
200
- } else if (state.pass == 3) {
201
- matchFunc = matchPassRegexp;
202
- hltFunc = highlightRegexp;
203
- }
204
-
205
- for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
206
- if (info[i].n == state.n) continue;
207
- if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
208
- info[i].n = state.n;
209
- result.push(hltFunc(info[i], queries, regexps, highlighters));
210
- state.limit--;
211
- }
212
- };
213
- if (searchIndex.length <= i) {
214
- state.pass++;
215
- i = state.from = 0;
216
- } else {
217
- state.from = i;
218
- }
219
- }
220
- return result;
221
- }
222
-
223
- function triggerResults(results, isLast) {
224
- this.handlers.forEach(function(fn) {
225
- fn.call(this, results, isLast)
226
- });
227
- }
228
- }
229
-
Binary file
data/doc/lib/version.html DELETED
@@ -1,92 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>version - RDoc Documentation</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../";
11
- var index_rel_prefix = "../";
12
- </script>
13
-
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>
19
-
20
- <link href="../css/fonts.css" rel="stylesheet">
21
- <link href="../css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="file">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="project-metadata">
59
-
60
- <div id="fileindex-section" class="nav-section">
61
- <h3>Pages</h3>
62
-
63
- <ul class="link-list">
64
- <li><a href="../LICENSE.html">LICENSE</a>
65
- <li><a href="../README_md.html">README</a>
66
- <li><a href="../examples/Gemfile.html">Gemfile</a>
67
- <li><a href="../lib/version.html">version</a>
68
- </ul>
69
- </div>
70
-
71
- </div>
72
- </nav>
73
-
74
- <main role="main" aria-label="Page lib/version">
75
-
76
- <p># Copyright 2020 StrongDM Inc # # Licensed under the Apache License, Version 2.0 (the “License”); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # <a href="http://www.apache.org/licenses/LICENSE-2.0">www.apache.org/licenses/LICENSE-2.0</a> # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an “AS IS” BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # module <a href="../SDM.html"><code>SDM</code></a></p>
77
-
78
- <pre class="ruby"><span class="ruby-constant">VERSION</span> = <span class="ruby-string">&quot;1.0.34&quot;</span>
79
- </pre>
80
-
81
- <p>end</p>
82
-
83
- </main>
84
-
85
-
86
-
87
- <footer id="validator-badges" role="contentinfo">
88
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
89
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.1.
90
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
91
- </footer>
92
-