spandx-rubygems 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. checksums.yaml +7 -0
  2. data/.gitattributes +1 -0
  3. data/.gitignore +11 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +70 -0
  6. data/Gemfile +9 -0
  7. data/Gemfile.lock +83 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +50 -0
  10. data/Rakefile +13 -0
  11. data/bin/cibuild +20 -0
  12. data/bin/console +15 -0
  13. data/bin/db-setup +5 -0
  14. data/bin/lint +11 -0
  15. data/bin/load +22 -0
  16. data/bin/server +5 -0
  17. data/bin/setup +8 -0
  18. data/bin/shipit +10 -0
  19. data/bin/sql +3 -0
  20. data/bin/test +13 -0
  21. data/exe/spandx-rubygems +6 -0
  22. data/lib/spandx/rubygems.rb +27 -0
  23. data/lib/spandx/rubygems/backup.rb +50 -0
  24. data/lib/spandx/rubygems/backups.rb +35 -0
  25. data/lib/spandx/rubygems/checkpoints +122 -0
  26. data/lib/spandx/rubygems/cli.rb +28 -0
  27. data/lib/spandx/rubygems/data_file.rb +53 -0
  28. data/lib/spandx/rubygems/index.rb +134 -0
  29. data/lib/spandx/rubygems/index/00/data +397 -0
  30. data/lib/spandx/rubygems/index/01/data +394 -0
  31. data/lib/spandx/rubygems/index/02/data +371 -0
  32. data/lib/spandx/rubygems/index/03/data +374 -0
  33. data/lib/spandx/rubygems/index/04/data +397 -0
  34. data/lib/spandx/rubygems/index/05/data +403 -0
  35. data/lib/spandx/rubygems/index/06/data +359 -0
  36. data/lib/spandx/rubygems/index/07/data +386 -0
  37. data/lib/spandx/rubygems/index/08/data +360 -0
  38. data/lib/spandx/rubygems/index/09/data +395 -0
  39. data/lib/spandx/rubygems/index/0a/data +389 -0
  40. data/lib/spandx/rubygems/index/0b/data +385 -0
  41. data/lib/spandx/rubygems/index/0c/data +368 -0
  42. data/lib/spandx/rubygems/index/0d/data +390 -0
  43. data/lib/spandx/rubygems/index/0e/data +357 -0
  44. data/lib/spandx/rubygems/index/0f/data +373 -0
  45. data/lib/spandx/rubygems/index/10/data +362 -0
  46. data/lib/spandx/rubygems/index/11/data +374 -0
  47. data/lib/spandx/rubygems/index/12/data +380 -0
  48. data/lib/spandx/rubygems/index/13/data +386 -0
  49. data/lib/spandx/rubygems/index/14/data +455 -0
  50. data/lib/spandx/rubygems/index/15/data +419 -0
  51. data/lib/spandx/rubygems/index/16/data +403 -0
  52. data/lib/spandx/rubygems/index/17/data +372 -0
  53. data/lib/spandx/rubygems/index/18/data +364 -0
  54. data/lib/spandx/rubygems/index/19/data +415 -0
  55. data/lib/spandx/rubygems/index/1a/data +364 -0
  56. data/lib/spandx/rubygems/index/1b/data +395 -0
  57. data/lib/spandx/rubygems/index/1c/data +376 -0
  58. data/lib/spandx/rubygems/index/1d/data +372 -0
  59. data/lib/spandx/rubygems/index/1e/data +407 -0
  60. data/lib/spandx/rubygems/index/1f/data +374 -0
  61. data/lib/spandx/rubygems/index/20/data +378 -0
  62. data/lib/spandx/rubygems/index/21/data +389 -0
  63. data/lib/spandx/rubygems/index/22/data +407 -0
  64. data/lib/spandx/rubygems/index/23/data +368 -0
  65. data/lib/spandx/rubygems/index/24/data +428 -0
  66. data/lib/spandx/rubygems/index/25/data +436 -0
  67. data/lib/spandx/rubygems/index/26/data +347 -0
  68. data/lib/spandx/rubygems/index/27/data +380 -0
  69. data/lib/spandx/rubygems/index/28/data +337 -0
  70. data/lib/spandx/rubygems/index/29/data +392 -0
  71. data/lib/spandx/rubygems/index/2a/data +392 -0
  72. data/lib/spandx/rubygems/index/2b/data +432 -0
  73. data/lib/spandx/rubygems/index/2c/data +413 -0
  74. data/lib/spandx/rubygems/index/2d/data +414 -0
  75. data/lib/spandx/rubygems/index/2e/data +357 -0
  76. data/lib/spandx/rubygems/index/2f/data +355 -0
  77. data/lib/spandx/rubygems/index/30/data +382 -0
  78. data/lib/spandx/rubygems/index/31/data +407 -0
  79. data/lib/spandx/rubygems/index/32/data +389 -0
  80. data/lib/spandx/rubygems/index/33/data +369 -0
  81. data/lib/spandx/rubygems/index/34/data +363 -0
  82. data/lib/spandx/rubygems/index/35/data +397 -0
  83. data/lib/spandx/rubygems/index/36/data +412 -0
  84. data/lib/spandx/rubygems/index/37/data +371 -0
  85. data/lib/spandx/rubygems/index/38/data +414 -0
  86. data/lib/spandx/rubygems/index/39/data +374 -0
  87. data/lib/spandx/rubygems/index/3a/data +394 -0
  88. data/lib/spandx/rubygems/index/3b/data +399 -0
  89. data/lib/spandx/rubygems/index/3c/data +425 -0
  90. data/lib/spandx/rubygems/index/3d/data +401 -0
  91. data/lib/spandx/rubygems/index/3e/data +410 -0
  92. data/lib/spandx/rubygems/index/3f/data +417 -0
  93. data/lib/spandx/rubygems/index/40/data +380 -0
  94. data/lib/spandx/rubygems/index/41/data +384 -0
  95. data/lib/spandx/rubygems/index/42/data +373 -0
  96. data/lib/spandx/rubygems/index/43/data +402 -0
  97. data/lib/spandx/rubygems/index/44/data +368 -0
  98. data/lib/spandx/rubygems/index/45/data +397 -0
  99. data/lib/spandx/rubygems/index/46/data +431 -0
  100. data/lib/spandx/rubygems/index/47/data +382 -0
  101. data/lib/spandx/rubygems/index/48/data +396 -0
  102. data/lib/spandx/rubygems/index/49/data +389 -0
  103. data/lib/spandx/rubygems/index/4a/data +402 -0
  104. data/lib/spandx/rubygems/index/4b/data +369 -0
  105. data/lib/spandx/rubygems/index/4c/data +395 -0
  106. data/lib/spandx/rubygems/index/4d/data +362 -0
  107. data/lib/spandx/rubygems/index/4e/data +389 -0
  108. data/lib/spandx/rubygems/index/4f/data +409 -0
  109. data/lib/spandx/rubygems/index/50/data +382 -0
  110. data/lib/spandx/rubygems/index/51/data +428 -0
  111. data/lib/spandx/rubygems/index/52/data +371 -0
  112. data/lib/spandx/rubygems/index/53/data +403 -0
  113. data/lib/spandx/rubygems/index/54/data +410 -0
  114. data/lib/spandx/rubygems/index/55/data +380 -0
  115. data/lib/spandx/rubygems/index/56/data +375 -0
  116. data/lib/spandx/rubygems/index/57/data +378 -0
  117. data/lib/spandx/rubygems/index/58/data +400 -0
  118. data/lib/spandx/rubygems/index/59/data +384 -0
  119. data/lib/spandx/rubygems/index/5a/data +410 -0
  120. data/lib/spandx/rubygems/index/5b/data +366 -0
  121. data/lib/spandx/rubygems/index/5c/data +396 -0
  122. data/lib/spandx/rubygems/index/5d/data +338 -0
  123. data/lib/spandx/rubygems/index/5e/data +364 -0
  124. data/lib/spandx/rubygems/index/5f/data +374 -0
  125. data/lib/spandx/rubygems/index/60/data +405 -0
  126. data/lib/spandx/rubygems/index/61/data +395 -0
  127. data/lib/spandx/rubygems/index/62/data +391 -0
  128. data/lib/spandx/rubygems/index/63/data +403 -0
  129. data/lib/spandx/rubygems/index/64/data +421 -0
  130. data/lib/spandx/rubygems/index/65/data +360 -0
  131. data/lib/spandx/rubygems/index/66/data +410 -0
  132. data/lib/spandx/rubygems/index/67/data +430 -0
  133. data/lib/spandx/rubygems/index/68/data +374 -0
  134. data/lib/spandx/rubygems/index/69/data +385 -0
  135. data/lib/spandx/rubygems/index/6a/data +336 -0
  136. data/lib/spandx/rubygems/index/6b/data +371 -0
  137. data/lib/spandx/rubygems/index/6c/data +391 -0
  138. data/lib/spandx/rubygems/index/6d/data +410 -0
  139. data/lib/spandx/rubygems/index/6e/data +375 -0
  140. data/lib/spandx/rubygems/index/6f/data +419 -0
  141. data/lib/spandx/rubygems/index/70/data +388 -0
  142. data/lib/spandx/rubygems/index/71/data +406 -0
  143. data/lib/spandx/rubygems/index/72/data +414 -0
  144. data/lib/spandx/rubygems/index/73/data +372 -0
  145. data/lib/spandx/rubygems/index/74/data +354 -0
  146. data/lib/spandx/rubygems/index/75/data +387 -0
  147. data/lib/spandx/rubygems/index/76/data +350 -0
  148. data/lib/spandx/rubygems/index/77/data +387 -0
  149. data/lib/spandx/rubygems/index/78/data +377 -0
  150. data/lib/spandx/rubygems/index/79/data +441 -0
  151. data/lib/spandx/rubygems/index/7a/data +374 -0
  152. data/lib/spandx/rubygems/index/7b/data +380 -0
  153. data/lib/spandx/rubygems/index/7c/data +402 -0
  154. data/lib/spandx/rubygems/index/7d/data +374 -0
  155. data/lib/spandx/rubygems/index/7e/data +425 -0
  156. data/lib/spandx/rubygems/index/7f/data +347 -0
  157. data/lib/spandx/rubygems/index/80/data +340 -0
  158. data/lib/spandx/rubygems/index/81/data +383 -0
  159. data/lib/spandx/rubygems/index/82/data +343 -0
  160. data/lib/spandx/rubygems/index/83/data +398 -0
  161. data/lib/spandx/rubygems/index/84/data +365 -0
  162. data/lib/spandx/rubygems/index/85/data +397 -0
  163. data/lib/spandx/rubygems/index/86/data +412 -0
  164. data/lib/spandx/rubygems/index/87/data +397 -0
  165. data/lib/spandx/rubygems/index/88/data +337 -0
  166. data/lib/spandx/rubygems/index/89/data +398 -0
  167. data/lib/spandx/rubygems/index/8a/data +401 -0
  168. data/lib/spandx/rubygems/index/8b/data +347 -0
  169. data/lib/spandx/rubygems/index/8c/data +352 -0
  170. data/lib/spandx/rubygems/index/8d/data +413 -0
  171. data/lib/spandx/rubygems/index/8e/data +400 -0
  172. data/lib/spandx/rubygems/index/8f/data +384 -0
  173. data/lib/spandx/rubygems/index/90/data +374 -0
  174. data/lib/spandx/rubygems/index/91/data +400 -0
  175. data/lib/spandx/rubygems/index/92/data +338 -0
  176. data/lib/spandx/rubygems/index/93/data +427 -0
  177. data/lib/spandx/rubygems/index/94/data +383 -0
  178. data/lib/spandx/rubygems/index/95/data +413 -0
  179. data/lib/spandx/rubygems/index/96/data +382 -0
  180. data/lib/spandx/rubygems/index/97/data +397 -0
  181. data/lib/spandx/rubygems/index/98/data +392 -0
  182. data/lib/spandx/rubygems/index/99/data +436 -0
  183. data/lib/spandx/rubygems/index/9a/data +399 -0
  184. data/lib/spandx/rubygems/index/9b/data +358 -0
  185. data/lib/spandx/rubygems/index/9c/data +388 -0
  186. data/lib/spandx/rubygems/index/9d/data +343 -0
  187. data/lib/spandx/rubygems/index/9e/data +406 -0
  188. data/lib/spandx/rubygems/index/9f/data +406 -0
  189. data/lib/spandx/rubygems/index/a0/data +332 -0
  190. data/lib/spandx/rubygems/index/a1/data +336 -0
  191. data/lib/spandx/rubygems/index/a2/data +382 -0
  192. data/lib/spandx/rubygems/index/a3/data +385 -0
  193. data/lib/spandx/rubygems/index/a4/data +374 -0
  194. data/lib/spandx/rubygems/index/a5/data +423 -0
  195. data/lib/spandx/rubygems/index/a6/data +400 -0
  196. data/lib/spandx/rubygems/index/a7/data +410 -0
  197. data/lib/spandx/rubygems/index/a8/data +366 -0
  198. data/lib/spandx/rubygems/index/a9/data +377 -0
  199. data/lib/spandx/rubygems/index/aa/data +378 -0
  200. data/lib/spandx/rubygems/index/ab/data +386 -0
  201. data/lib/spandx/rubygems/index/ac/data +351 -0
  202. data/lib/spandx/rubygems/index/ad/data +359 -0
  203. data/lib/spandx/rubygems/index/ae/data +344 -0
  204. data/lib/spandx/rubygems/index/af/data +367 -0
  205. data/lib/spandx/rubygems/index/b0/data +385 -0
  206. data/lib/spandx/rubygems/index/b1/data +363 -0
  207. data/lib/spandx/rubygems/index/b2/data +378 -0
  208. data/lib/spandx/rubygems/index/b3/data +411 -0
  209. data/lib/spandx/rubygems/index/b4/data +377 -0
  210. data/lib/spandx/rubygems/index/b5/data +425 -0
  211. data/lib/spandx/rubygems/index/b6/data +348 -0
  212. data/lib/spandx/rubygems/index/b7/data +338 -0
  213. data/lib/spandx/rubygems/index/b8/data +359 -0
  214. data/lib/spandx/rubygems/index/b9/data +403 -0
  215. data/lib/spandx/rubygems/index/ba/data +400 -0
  216. data/lib/spandx/rubygems/index/bb/data +420 -0
  217. data/lib/spandx/rubygems/index/bc/data +419 -0
  218. data/lib/spandx/rubygems/index/bd/data +366 -0
  219. data/lib/spandx/rubygems/index/be/data +405 -0
  220. data/lib/spandx/rubygems/index/bf/data +369 -0
  221. data/lib/spandx/rubygems/index/c0/data +395 -0
  222. data/lib/spandx/rubygems/index/c1/data +343 -0
  223. data/lib/spandx/rubygems/index/c2/data +402 -0
  224. data/lib/spandx/rubygems/index/c3/data +392 -0
  225. data/lib/spandx/rubygems/index/c4/data +399 -0
  226. data/lib/spandx/rubygems/index/c5/data +369 -0
  227. data/lib/spandx/rubygems/index/c6/data +411 -0
  228. data/lib/spandx/rubygems/index/c7/data +361 -0
  229. data/lib/spandx/rubygems/index/c8/data +368 -0
  230. data/lib/spandx/rubygems/index/c9/data +407 -0
  231. data/lib/spandx/rubygems/index/ca/data +398 -0
  232. data/lib/spandx/rubygems/index/cb/data +372 -0
  233. data/lib/spandx/rubygems/index/cc/data +396 -0
  234. data/lib/spandx/rubygems/index/cd/data +351 -0
  235. data/lib/spandx/rubygems/index/ce/data +381 -0
  236. data/lib/spandx/rubygems/index/cf/data +372 -0
  237. data/lib/spandx/rubygems/index/d0/data +391 -0
  238. data/lib/spandx/rubygems/index/d1/data +381 -0
  239. data/lib/spandx/rubygems/index/d2/data +389 -0
  240. data/lib/spandx/rubygems/index/d3/data +405 -0
  241. data/lib/spandx/rubygems/index/d4/data +408 -0
  242. data/lib/spandx/rubygems/index/d5/data +430 -0
  243. data/lib/spandx/rubygems/index/d6/data +416 -0
  244. data/lib/spandx/rubygems/index/d7/data +401 -0
  245. data/lib/spandx/rubygems/index/d8/data +369 -0
  246. data/lib/spandx/rubygems/index/d9/data +405 -0
  247. data/lib/spandx/rubygems/index/da/data +410 -0
  248. data/lib/spandx/rubygems/index/dc/data +337 -0
  249. data/lib/spandx/rubygems/index/dd/data +405 -0
  250. data/lib/spandx/rubygems/index/de/data +409 -0
  251. data/lib/spandx/rubygems/index/df/data +413 -0
  252. data/lib/spandx/rubygems/index/e0/data +399 -0
  253. data/lib/spandx/rubygems/index/e1/data +411 -0
  254. data/lib/spandx/rubygems/index/e2/data +414 -0
  255. data/lib/spandx/rubygems/index/e3/data +401 -0
  256. data/lib/spandx/rubygems/index/e4/data +361 -0
  257. data/lib/spandx/rubygems/index/e5/data +357 -0
  258. data/lib/spandx/rubygems/index/e6/data +375 -0
  259. data/lib/spandx/rubygems/index/e7/data +387 -0
  260. data/lib/spandx/rubygems/index/e8/data +395 -0
  261. data/lib/spandx/rubygems/index/e9/data +404 -0
  262. data/lib/spandx/rubygems/index/ea/data +402 -0
  263. data/lib/spandx/rubygems/index/eb/data +400 -0
  264. data/lib/spandx/rubygems/index/ec/data +386 -0
  265. data/lib/spandx/rubygems/index/ed/data +406 -0
  266. data/lib/spandx/rubygems/index/ee/data +392 -0
  267. data/lib/spandx/rubygems/index/ef/data +387 -0
  268. data/lib/spandx/rubygems/index/f0/data +411 -0
  269. data/lib/spandx/rubygems/index/f1/data +430 -0
  270. data/lib/spandx/rubygems/index/f2/data +369 -0
  271. data/lib/spandx/rubygems/index/f3/data +375 -0
  272. data/lib/spandx/rubygems/index/f4/data +361 -0
  273. data/lib/spandx/rubygems/index/f5/data +358 -0
  274. data/lib/spandx/rubygems/index/f6/data +385 -0
  275. data/lib/spandx/rubygems/index/f7/data +400 -0
  276. data/lib/spandx/rubygems/index/f8/data +429 -0
  277. data/lib/spandx/rubygems/index/f9/data +402 -0
  278. data/lib/spandx/rubygems/index/fa/data +380 -0
  279. data/lib/spandx/rubygems/index/fb/data +362 -0
  280. data/lib/spandx/rubygems/index/fc/data +355 -0
  281. data/lib/spandx/rubygems/index/fd/data +392 -0
  282. data/lib/spandx/rubygems/index/fe/data +415 -0
  283. data/lib/spandx/rubygems/index/ff/data +406 -0
  284. data/lib/spandx/rubygems/rubygems.index +0 -0
  285. data/lib/spandx/rubygems/version.rb +7 -0
  286. data/spandx-rubygems.gemspec +41 -0
  287. metadata +472 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 62bf7a46ea4f16ce6bb797c50d880d7950178b74303b8dbcc13e933b9d258efc
4
+ data.tar.gz: b165132d0109bdcb52d7616415e95b24edd32852553dc799d4814dae038269d3
5
+ SHA512:
6
+ metadata.gz: 9e02ef991ebbb605f38add61ca6bd5a01d641ec5e0f05dc9c1197f408ff007c8bbe115370e0098ebb016f1e27df8e647e675bc2bc84b20e8375ee6bb6ae0fd16
7
+ data.tar.gz: fba05641039ab64f880bf62a4a22bd9a8279428e0b479978f9f0615cf64b254ff78c733a41ab04d9c36aa235fc37365cfd5ac201629ae3c0ec04d6db41acb8e1
data/.gitattributes ADDED
@@ -0,0 +1 @@
1
+ *.index filter=lfs diff=lfs merge=lfs -text
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ .rspec_status
10
+ *.tar
11
+ db
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,70 @@
1
+ require:
2
+ - rubocop-rspec
3
+
4
+ AllCops:
5
+ Exclude:
6
+ - 'pkg/**/*'
7
+ - 'spec/fixtures/**/*'
8
+ TargetRubyVersion: 2.7
9
+
10
+ Layout/ArgumentAlignment:
11
+ EnforcedStyle: with_fixed_indentation
12
+
13
+ Layout/ParameterAlignment:
14
+ Enabled: true
15
+ EnforcedStyle: with_fixed_indentation
16
+ IndentationWidth: 2
17
+
18
+ Layout/EndOfLine:
19
+ EnforcedStyle: lf
20
+
21
+ Layout/FirstArrayElementIndentation:
22
+ EnforcedStyle: consistent
23
+
24
+ Layout/MultilineMethodCallIndentation:
25
+ Enabled: true
26
+ EnforcedStyle: indented
27
+
28
+ Lint/AmbiguousBlockAssociation:
29
+ Exclude:
30
+ - 'spec/**/*.rb'
31
+
32
+ Metrics/BlockLength:
33
+ Exclude:
34
+ - '*.gemspec'
35
+ - 'Rakefile'
36
+ - 'spec/**/*.rb'
37
+
38
+ Metrics/ModuleLength:
39
+ Exclude:
40
+ - 'spec/**/*.rb'
41
+
42
+ Layout/LineLength:
43
+ Exclude:
44
+ - 'spec/**/*.rb'
45
+ IgnoredPatterns:
46
+ - '^#*'
47
+
48
+ Naming/RescuedExceptionsVariableName:
49
+ PreferredName: error
50
+
51
+ Style/Documentation:
52
+ Enabled: false
53
+
54
+ Style/StringLiterals:
55
+ EnforcedStyle: 'single_quotes'
56
+
57
+ Style/TrailingCommaInArrayLiteral:
58
+ Enabled: false
59
+
60
+ Style/TrailingCommaInHashLiteral:
61
+ Enabled: false
62
+
63
+ RSpec/ExampleLength:
64
+ Max: 80
65
+
66
+ RSpec/NamedSubject:
67
+ Enabled: false
68
+
69
+ RSpec/FilePath:
70
+ Enabled: false
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in spandx-rubygems.gemspec
6
+ gemspec
7
+
8
+ gem 'rake', '~> 12.0'
9
+ gem 'rspec', '~> 3.0'
data/Gemfile.lock ADDED
@@ -0,0 +1,83 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ spandx-rubygems (0.1.0)
5
+ msgpack (~> 1.3)
6
+ net-hippie (~> 0.3)
7
+ nokogiri (~> 1.10)
8
+ pg (~> 1.2)
9
+ thor
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ addressable (2.7.0)
15
+ public_suffix (>= 2.0.2, < 5.0)
16
+ ast (2.4.0)
17
+ bundler-audit (0.6.1)
18
+ bundler (>= 1.2.0, < 3)
19
+ thor (~> 0.18)
20
+ crack (0.4.3)
21
+ safe_yaml (~> 1.0.0)
22
+ diff-lcs (1.3)
23
+ hashdiff (1.0.0)
24
+ jaro_winkler (1.5.4)
25
+ mini_portile2 (2.4.0)
26
+ msgpack (1.3.3)
27
+ net-hippie (0.3.2)
28
+ nokogiri (1.10.7)
29
+ mini_portile2 (~> 2.4.0)
30
+ parallel (1.19.1)
31
+ parser (2.7.0.2)
32
+ ast (~> 2.4.0)
33
+ pg (1.2.2)
34
+ public_suffix (4.0.3)
35
+ rainbow (3.0.0)
36
+ rake (12.3.3)
37
+ rspec (3.9.0)
38
+ rspec-core (~> 3.9.0)
39
+ rspec-expectations (~> 3.9.0)
40
+ rspec-mocks (~> 3.9.0)
41
+ rspec-core (3.9.1)
42
+ rspec-support (~> 3.9.1)
43
+ rspec-expectations (3.9.0)
44
+ diff-lcs (>= 1.2.0, < 2.0)
45
+ rspec-support (~> 3.9.0)
46
+ rspec-mocks (3.9.1)
47
+ diff-lcs (>= 1.2.0, < 2.0)
48
+ rspec-support (~> 3.9.0)
49
+ rspec-support (3.9.2)
50
+ rubocop (0.79.0)
51
+ jaro_winkler (~> 1.5.1)
52
+ parallel (~> 1.10)
53
+ parser (>= 2.7.0.1)
54
+ rainbow (>= 2.2.2, < 4.0)
55
+ ruby-progressbar (~> 1.7)
56
+ unicode-display_width (>= 1.4.0, < 1.7)
57
+ rubocop-rspec (1.37.1)
58
+ rubocop (>= 0.68.1)
59
+ ruby-progressbar (1.10.1)
60
+ safe_yaml (1.0.5)
61
+ thor (0.20.3)
62
+ unicode-display_width (1.6.1)
63
+ vcr (5.1.0)
64
+ webmock (3.8.1)
65
+ addressable (>= 2.3.6)
66
+ crack (>= 0.3.2)
67
+ hashdiff (>= 0.4.0, < 2.0.0)
68
+
69
+ PLATFORMS
70
+ ruby
71
+
72
+ DEPENDENCIES
73
+ bundler-audit (~> 0.6)
74
+ rake (~> 12.0)
75
+ rspec (~> 3.0)
76
+ rubocop (~> 0.52)
77
+ rubocop-rspec (~> 1.22)
78
+ spandx-rubygems!
79
+ vcr (~> 5.1)
80
+ webmock (~> 3.8)
81
+
82
+ BUNDLED WITH
83
+ 2.1.2
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 mo khan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # spandx/rubygems
2
+
3
+ This project generates an index of every gem on rubygems.org and it's equivalent software licenses.
4
+ This index is meant to speed up license scanning for the `spandx` CLI.
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'spandx-rubygems'
12
+ ```
13
+
14
+ And then execute:
15
+
16
+ $ bundle install
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install spandx-rubygems
21
+
22
+ ## Usage
23
+
24
+ This will download each weekly backup from https://rubygems.org/pages/data,
25
+ restore it to a local postgresql database mounted in `./db/data`,
26
+ then generate a in memory hash to finally flush it to `rubygems.index` using
27
+ message pack.
28
+
29
+ You will need to have ruby and postgres installed.
30
+
31
+ ```bash
32
+ $ ./bin/db-setup
33
+ $ ./bin/server
34
+ $ ruby ./exe/spandx-rubygems
35
+ ```
36
+
37
+ ## Development
38
+
39
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
40
+
41
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
42
+
43
+ ## Contributing
44
+
45
+ Bug reports and pull requests are welcome on GitHub at https://github.com/mokhan/spandx-rubygems. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/spandx-rubygems/blob/master/CODE_OF_CONDUCT.md).
46
+
47
+
48
+ ## License
49
+
50
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/audit/task'
4
+ require 'bundler/gem_tasks'
5
+ require 'rspec/core/rake_task'
6
+ require 'rubocop/rake_task'
7
+
8
+ RSpec::Core::RakeTask.new(:spec)
9
+ RuboCop::RakeTask.new(:rubocop)
10
+ Bundler::Audit::Task.new
11
+
12
+ task lint: [:rubocop, 'bundle:audit']
13
+ task default: :spec
data/bin/cibuild ADDED
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ cd "$(dirname "$0")/.."
6
+
7
+ echo [$(date "+%H:%M:%S")] "==> Started at…"
8
+
9
+ # GC customizations
10
+ export RUBY_GC_MALLOC_LIMIT=79000000
11
+ export RUBY_GC_HEAP_INIT_SLOTS=800000
12
+ export RUBY_HEAP_FREE_MIN=100000
13
+ export RUBY_HEAP_SLOTS_INCREMENT=400000
14
+ export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
15
+
16
+ ruby -v
17
+ gem install bundler --conservative -v '~> 2.0'
18
+ git submodule update --init
19
+ bin/test
20
+ bin/lint
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'spandx/rubygems'
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require 'irb'
15
+ IRB.start(__FILE__)
data/bin/db-setup ADDED
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ DATA_DIR=$PWD/db/data
4
+ rm -fr $DATA_DIR
5
+ initdb -D $DATA_DIR
data/bin/lint ADDED
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ [ -z "$DEBUG" ] || set -x
6
+
7
+ echo [$(date "+%H:%M:%S")] "==> Running setup…"
8
+ bin/setup
9
+
10
+ echo [$(date "+%H:%M:%S")] "==> Running linters…"
11
+ bundle exec rake lint
data/bin/load ADDED
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+
3
+ set -euo pipefail
4
+ cd "$(dirname "$0")/.."
5
+
6
+ echo "Adding hstore extension"
7
+ bin/sql -q -c "CREATE EXTENSION IF NOT EXISTS hstore;"
8
+
9
+ echo "Dropping tables that we're going to load in"
10
+ bin/sql -q -c "DROP TABLE IF EXISTS dependencies, gem_downloads, linksets, rubygems, versions CASCADE;"
11
+
12
+ latest_url="$1"
13
+ curl --progress-bar "${latest_url}" > tmp/public_postgresql.tar
14
+
15
+ # Extract the single PostgresSQL.sql.gz file from the tar file, pass it through gunzip
16
+ # and load it as quietly as possible into the database
17
+ tar xOf tmp/public_postgresql.tar public_postgresql/databases/PostgreSQL.sql.gz | \
18
+ gunzip -c | \
19
+ bin/sql
20
+
21
+ rm tmp/public_postgresql.tar
22
+ echo "Done."
data/bin/server ADDED
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ export PGDATA=$PWD/db/data
4
+ mkdir -p tmp/sockets
5
+ postgres -F -D $PGDATA -k $PWD/tmp/sockets
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/bin/shipit ADDED
@@ -0,0 +1,10 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ cd "$(dirname "$0")/.."
6
+
7
+ [ -z "$DEBUG" ] || set -x
8
+
9
+ bin/cibuild
10
+ bundle exec rake release
data/bin/sql ADDED
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ psql -h $PWD/tmp/sockets postgres "$@"
data/bin/test ADDED
@@ -0,0 +1,13 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ cd "$(dirname "$0")/.."
6
+
7
+ [ -z "$DEBUG" ] || set -x
8
+
9
+ echo [$(date "+%H:%M:%S")] "==> Running setup…"
10
+ bin/setup
11
+
12
+ echo [$(date "+%H:%M:%S")] "==> Running tests…"
13
+ bundle exec rake spec
@@ -0,0 +1,6 @@
1
+ #!/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'spandx/rubygems/cli'
5
+
6
+ Spandx::Rubygems::CLI.start
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'digest'
4
+ require 'msgpack'
5
+ require 'net/hippie'
6
+ require 'nokogiri'
7
+ require 'pg'
8
+ require 'yaml'
9
+ require 'zlib'
10
+
11
+ require 'spandx/rubygems/backup'
12
+ require 'spandx/rubygems/backups'
13
+ require 'spandx/rubygems/data_file'
14
+ require 'spandx/rubygems/index'
15
+ require 'spandx/rubygems/version'
16
+
17
+ module Spandx
18
+ module Rubygems
19
+ class Error < StandardError; end
20
+
21
+ class << self
22
+ def root
23
+ Pathname.new(File.dirname(__FILE__)).join('rubygems')
24
+ end
25
+ end
26
+ end
27
+ end