repository-manager 0.1.15 → 0.1.16

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 (1929) hide show
  1. checksums.yaml +5 -13
  2. data/.rspec +1 -1
  3. data/README.md +470 -459
  4. data/app/models/repository_manager/repo_file.rb +31 -33
  5. data/app/models/repository_manager/repo_folder.rb +151 -151
  6. data/app/models/repository_manager/repo_item.rb +134 -91
  7. data/app/models/repository_manager/sharing.rb +69 -69
  8. data/app/models/repository_manager/sharings_member.rb +7 -7
  9. data/config/locales/en/repository_manager.en.yml +18 -18
  10. data/config/locales/fr/repository_manager.fr.yml +18 -18
  11. data/db/migrate/20131018214212_create_repository_manager.rb +34 -34
  12. data/lib/generators/repository_manager/install_generator.rb +32 -32
  13. data/lib/generators/repository_manager/templates/initializer.rb +12 -12
  14. data/lib/repository-manager.rb +33 -33
  15. data/lib/repository_manager/exceptions.rb +9 -9
  16. data/lib/repository_manager/has_repository.rb +614 -560
  17. data/lib/repository_manager/version.rb +2 -2
  18. data/repository-manager.gemspec +30 -30
  19. data/spec/dummy/Gemfile +11 -11
  20. data/spec/dummy/db/migrate/20131016193722_create_users.rb +10 -10
  21. data/spec/dummy/db/migrate/20131016193834_create_groups.rb +9 -9
  22. data/spec/dummy/db/migrate/20131016194207_create_groups_users.rb +4 -4
  23. data/spec/dummy/db/migrate/20131018214212_create_repository_manager.rb +34 -34
  24. data/spec/dummy/db/schema.rb +70 -70
  25. data/spec/factories/group.rb +7 -7
  26. data/spec/factories/repo_file.rb +12 -12
  27. data/spec/factories/repo_folder.rb +7 -7
  28. data/spec/factories/user.rb +13 -13
  29. data/spec/has_repository_spec.rb +299 -299
  30. data/spec/models/associations_spec.rb +93 -93
  31. data/spec/models/repository_spec.rb +266 -261
  32. data/spec/models/share_spec.rb +67 -67
  33. data/spec/support/spec_test_helper.rb +4 -4
  34. metadata +22 -3817
  35. data/spec/dummy/public/uploads/repo_file/file/1275/textfile.txt +0 -1
  36. data/spec/dummy/public/uploads/repo_file/file/1276/textfile.txt +0 -1
  37. data/spec/dummy/public/uploads/repo_file/file/1285/textfile.txt +0 -1
  38. data/spec/dummy/public/uploads/repo_file/file/1287/textfile.txt +0 -1
  39. data/spec/dummy/public/uploads/repo_file/file/1291/textfile.txt +0 -1
  40. data/spec/dummy/public/uploads/repo_file/file/1294/textfile.txt +0 -1
  41. data/spec/dummy/public/uploads/repo_file/file/1296/textfile.txt +0 -1
  42. data/spec/dummy/public/uploads/repo_file/file/1297/textfile.txt +0 -1
  43. data/spec/dummy/public/uploads/repo_file/file/1299/textfile.txt +0 -1
  44. data/spec/dummy/public/uploads/repo_file/file/1305/textfile.txt +0 -1
  45. data/spec/dummy/public/uploads/repo_file/file/1307/textfile.txt +0 -1
  46. data/spec/dummy/public/uploads/repo_file/file/1309/textfile.txt +0 -1
  47. data/spec/dummy/public/uploads/repo_file/file/1311/textfile.txt +0 -1
  48. data/spec/dummy/public/uploads/repo_file/file/1313/textfile.txt +0 -1
  49. data/spec/dummy/public/uploads/repo_file/file/1315/textfile.txt +0 -1
  50. data/spec/dummy/public/uploads/repo_file/file/1317/textfile.txt +0 -1
  51. data/spec/dummy/public/uploads/repo_file/file/1319/textfile.txt +0 -1
  52. data/spec/dummy/public/uploads/repo_file/file/1321/textfile.txt +0 -1
  53. data/spec/dummy/public/uploads/repo_file/file/1324/textfile.txt +0 -1
  54. data/spec/dummy/public/uploads/repo_file/file/1325/textfile.txt +0 -1
  55. data/spec/dummy/public/uploads/repo_file/file/1327/textfile.txt +0 -1
  56. data/spec/dummy/public/uploads/repo_file/file/1331/textfile.txt +0 -1
  57. data/spec/dummy/public/uploads/repo_file/file/1332/textfile.txt +0 -1
  58. data/spec/dummy/public/uploads/repo_file/file/1333/textfile.txt +0 -1
  59. data/spec/dummy/public/uploads/repo_file/file/1334/textfile.txt +0 -1
  60. data/spec/dummy/public/uploads/repo_file/file/1335/textfile.txt +0 -1
  61. data/spec/dummy/public/uploads/repo_file/file/1336/textfile.txt +0 -1
  62. data/spec/dummy/public/uploads/repo_file/file/1337/textfile.txt +0 -1
  63. data/spec/dummy/public/uploads/repo_file/file/1338/textfile.txt +0 -1
  64. data/spec/dummy/public/uploads/repo_file/file/1339/textfile.txt +0 -1
  65. data/spec/dummy/public/uploads/repo_file/file/1340/textfile.txt +0 -1
  66. data/spec/dummy/public/uploads/repo_file/file/1349/textfile.txt +0 -1
  67. data/spec/dummy/public/uploads/repo_file/file/1353/textfile.txt +0 -1
  68. data/spec/dummy/public/uploads/repo_file/file/1356/textfile.txt +0 -1
  69. data/spec/dummy/public/uploads/repo_file/file/1358/textfile.txt +0 -1
  70. data/spec/dummy/public/uploads/repo_file/file/1359/textfile.txt +0 -1
  71. data/spec/dummy/public/uploads/repo_file/file/1361/textfile.txt +0 -1
  72. data/spec/dummy/public/uploads/repo_file/file/1365/textfile.txt +0 -1
  73. data/spec/dummy/public/uploads/repo_file/file/1367/textfile.txt +0 -1
  74. data/spec/dummy/public/uploads/repo_file/file/1369/textfile.txt +0 -1
  75. data/spec/dummy/public/uploads/repo_file/file/1371/textfile.txt +0 -1
  76. data/spec/dummy/public/uploads/repo_file/file/1373/textfile.txt +0 -1
  77. data/spec/dummy/public/uploads/repo_file/file/1375/textfile.txt +0 -1
  78. data/spec/dummy/public/uploads/repo_file/file/1377/textfile.txt +0 -1
  79. data/spec/dummy/public/uploads/repo_file/file/1379/textfile.txt +0 -1
  80. data/spec/dummy/public/uploads/repo_file/file/1381/textfile.txt +0 -1
  81. data/spec/dummy/public/uploads/repo_file/file/1383/textfile.txt +0 -1
  82. data/spec/dummy/public/uploads/repo_file/file/1386/textfile.txt +0 -1
  83. data/spec/dummy/public/uploads/repo_file/file/1388/textfile.txt +0 -1
  84. data/spec/dummy/public/uploads/repo_file/file/1389/textfile.txt +0 -1
  85. data/spec/dummy/public/uploads/repo_file/file/1390/textfile.txt +0 -1
  86. data/spec/dummy/public/uploads/repo_file/file/1391/textfile.txt +0 -1
  87. data/spec/dummy/public/uploads/repo_file/file/1392/textfile.txt +0 -1
  88. data/spec/dummy/public/uploads/repo_file/file/1393/textfile.txt +0 -1
  89. data/spec/dummy/public/uploads/repo_file/file/1394/textfile.txt +0 -1
  90. data/spec/dummy/public/uploads/repo_file/file/1395/textfile.txt +0 -1
  91. data/spec/dummy/public/uploads/repo_file/file/1396/textfile.txt +0 -1
  92. data/spec/dummy/public/uploads/repo_file/file/1397/textfile.txt +0 -1
  93. data/spec/dummy/public/uploads/repo_file/file/1406/textfile.txt +0 -1
  94. data/spec/dummy/public/uploads/repo_file/file/1408/textfile.txt +0 -1
  95. data/spec/dummy/public/uploads/repo_file/file/1412/textfile.txt +0 -1
  96. data/spec/dummy/public/uploads/repo_file/file/1415/textfile.txt +0 -1
  97. data/spec/dummy/public/uploads/repo_file/file/1417/textfile.txt +0 -1
  98. data/spec/dummy/public/uploads/repo_file/file/1418/textfile.txt +0 -1
  99. data/spec/dummy/public/uploads/repo_file/file/1420/textfile.txt +0 -1
  100. data/spec/dummy/public/uploads/repo_file/file/1426/textfile.txt +0 -1
  101. data/spec/dummy/public/uploads/repo_file/file/1428/textfile.txt +0 -1
  102. data/spec/dummy/public/uploads/repo_file/file/1430/textfile.txt +0 -1
  103. data/spec/dummy/public/uploads/repo_file/file/1432/textfile.txt +0 -1
  104. data/spec/dummy/public/uploads/repo_file/file/1434/textfile.txt +0 -1
  105. data/spec/dummy/public/uploads/repo_file/file/1436/textfile.txt +0 -1
  106. data/spec/dummy/public/uploads/repo_file/file/1438/textfile.txt +0 -1
  107. data/spec/dummy/public/uploads/repo_file/file/1440/textfile.txt +0 -1
  108. data/spec/dummy/public/uploads/repo_file/file/1442/textfile.txt +0 -1
  109. data/spec/dummy/public/uploads/repo_file/file/1445/textfile.txt +0 -1
  110. data/spec/dummy/public/uploads/repo_file/file/1446/textfile.txt +0 -1
  111. data/spec/dummy/public/uploads/repo_file/file/1448/textfile.txt +0 -1
  112. data/spec/dummy/public/uploads/repo_file/file/1451/textfile.txt +0 -1
  113. data/spec/dummy/public/uploads/repo_file/file/1452/textfile.txt +0 -1
  114. data/spec/dummy/public/uploads/repo_file/file/1453/textfile.txt +0 -1
  115. data/spec/dummy/public/uploads/repo_file/file/1454/textfile.txt +0 -1
  116. data/spec/dummy/public/uploads/repo_file/file/1455/textfile.txt +0 -1
  117. data/spec/dummy/public/uploads/repo_file/file/1456/textfile.txt +0 -1
  118. data/spec/dummy/public/uploads/repo_file/file/1457/textfile.txt +0 -1
  119. data/spec/dummy/public/uploads/repo_file/file/1458/textfile.txt +0 -1
  120. data/spec/dummy/public/uploads/repo_file/file/1459/textfile.txt +0 -1
  121. data/spec/dummy/public/uploads/repo_file/file/1460/textfile.txt +0 -1
  122. data/spec/dummy/public/uploads/repo_file/file/1469/textfile.txt +0 -1
  123. data/spec/dummy/public/uploads/repo_file/file/1471/textfile.txt +0 -1
  124. data/spec/dummy/public/uploads/repo_file/file/1475/textfile.txt +0 -1
  125. data/spec/dummy/public/uploads/repo_file/file/1478/textfile.txt +0 -1
  126. data/spec/dummy/public/uploads/repo_file/file/1480/textfile.txt +0 -1
  127. data/spec/dummy/public/uploads/repo_file/file/1481/textfile.txt +0 -1
  128. data/spec/dummy/public/uploads/repo_file/file/1483/textfile.txt +0 -1
  129. data/spec/dummy/public/uploads/repo_file/file/1489/textfile.txt +0 -1
  130. data/spec/dummy/public/uploads/repo_file/file/1491/textfile.txt +0 -1
  131. data/spec/dummy/public/uploads/repo_file/file/1493/textfile.txt +0 -1
  132. data/spec/dummy/public/uploads/repo_file/file/1495/textfile.txt +0 -1
  133. data/spec/dummy/public/uploads/repo_file/file/1497/textfile.txt +0 -1
  134. data/spec/dummy/public/uploads/repo_file/file/1499/textfile.txt +0 -1
  135. data/spec/dummy/public/uploads/repo_file/file/1501/textfile.txt +0 -1
  136. data/spec/dummy/public/uploads/repo_file/file/1503/textfile.txt +0 -1
  137. data/spec/dummy/public/uploads/repo_file/file/1505/textfile.txt +0 -1
  138. data/spec/dummy/public/uploads/repo_file/file/1508/textfile.txt +0 -1
  139. data/spec/dummy/public/uploads/repo_file/file/1509/textfile.txt +0 -1
  140. data/spec/dummy/public/uploads/repo_file/file/1511/textfile.txt +0 -1
  141. data/spec/dummy/public/uploads/repo_file/file/1515/textfile.txt +0 -1
  142. data/spec/dummy/public/uploads/repo_file/file/1516/textfile.txt +0 -1
  143. data/spec/dummy/public/uploads/repo_file/file/1517/textfile.txt +0 -1
  144. data/spec/dummy/public/uploads/repo_file/file/1518/textfile.txt +0 -1
  145. data/spec/dummy/public/uploads/repo_file/file/1519/textfile.txt +0 -1
  146. data/spec/dummy/public/uploads/repo_file/file/1520/textfile.txt +0 -1
  147. data/spec/dummy/public/uploads/repo_file/file/1521/textfile.txt +0 -1
  148. data/spec/dummy/public/uploads/repo_file/file/1522/textfile.txt +0 -1
  149. data/spec/dummy/public/uploads/repo_file/file/1523/textfile.txt +0 -1
  150. data/spec/dummy/public/uploads/repo_file/file/1524/textfile.txt +0 -1
  151. data/spec/dummy/public/uploads/repo_file/file/1533/textfile.txt +0 -1
  152. data/spec/dummy/public/uploads/repo_file/file/1535/textfile.txt +0 -1
  153. data/spec/dummy/public/uploads/repo_file/file/1539/textfile.txt +0 -1
  154. data/spec/dummy/public/uploads/repo_file/file/1542/textfile.txt +0 -1
  155. data/spec/dummy/public/uploads/repo_file/file/1544/textfile.txt +0 -1
  156. data/spec/dummy/public/uploads/repo_file/file/1545/textfile.txt +0 -1
  157. data/spec/dummy/public/uploads/repo_file/file/1547/textfile.txt +0 -1
  158. data/spec/dummy/public/uploads/repo_file/file/1553/textfile.txt +0 -1
  159. data/spec/dummy/public/uploads/repo_file/file/1555/textfile.txt +0 -1
  160. data/spec/dummy/public/uploads/repo_file/file/1557/textfile.txt +0 -1
  161. data/spec/dummy/public/uploads/repo_file/file/1559/textfile.txt +0 -1
  162. data/spec/dummy/public/uploads/repo_file/file/1561/textfile.txt +0 -1
  163. data/spec/dummy/public/uploads/repo_file/file/1563/textfile.txt +0 -1
  164. data/spec/dummy/public/uploads/repo_file/file/1565/textfile.txt +0 -1
  165. data/spec/dummy/public/uploads/repo_file/file/1567/textfile.txt +0 -1
  166. data/spec/dummy/public/uploads/repo_file/file/1569/textfile.txt +0 -1
  167. data/spec/dummy/public/uploads/repo_file/file/1572/textfile.txt +0 -1
  168. data/spec/dummy/public/uploads/repo_file/file/1573/textfile.txt +0 -1
  169. data/spec/dummy/public/uploads/repo_file/file/1575/textfile.txt +0 -1
  170. data/spec/dummy/public/uploads/repo_file/file/1579/textfile.txt +0 -1
  171. data/spec/dummy/public/uploads/repo_file/file/1580/textfile.txt +0 -1
  172. data/spec/dummy/public/uploads/repo_file/file/1581/textfile.txt +0 -1
  173. data/spec/dummy/public/uploads/repo_file/file/1582/textfile.txt +0 -1
  174. data/spec/dummy/public/uploads/repo_file/file/1583/textfile.txt +0 -1
  175. data/spec/dummy/public/uploads/repo_file/file/1584/textfile.txt +0 -1
  176. data/spec/dummy/public/uploads/repo_file/file/1585/textfile.txt +0 -1
  177. data/spec/dummy/public/uploads/repo_file/file/1586/textfile.txt +0 -1
  178. data/spec/dummy/public/uploads/repo_file/file/1587/textfile.txt +0 -1
  179. data/spec/dummy/public/uploads/repo_file/file/1588/textfile.txt +0 -1
  180. data/spec/dummy/public/uploads/repo_file/file/1597/textfile.txt +0 -1
  181. data/spec/dummy/public/uploads/repo_file/file/1599/textfile.txt +0 -1
  182. data/spec/dummy/public/uploads/repo_file/file/1603/textfile.txt +0 -1
  183. data/spec/dummy/public/uploads/repo_file/file/1606/textfile.txt +0 -1
  184. data/spec/dummy/public/uploads/repo_file/file/1608/textfile.txt +0 -1
  185. data/spec/dummy/public/uploads/repo_file/file/1609/textfile.txt +0 -1
  186. data/spec/dummy/public/uploads/repo_file/file/1611/textfile.txt +0 -1
  187. data/spec/dummy/public/uploads/repo_file/file/1617/textfile.txt +0 -1
  188. data/spec/dummy/public/uploads/repo_file/file/1619/textfile.txt +0 -1
  189. data/spec/dummy/public/uploads/repo_file/file/1621/textfile.txt +0 -1
  190. data/spec/dummy/public/uploads/repo_file/file/1623/textfile.txt +0 -1
  191. data/spec/dummy/public/uploads/repo_file/file/1625/textfile.txt +0 -1
  192. data/spec/dummy/public/uploads/repo_file/file/1627/textfile.txt +0 -1
  193. data/spec/dummy/public/uploads/repo_file/file/1629/textfile.txt +0 -1
  194. data/spec/dummy/public/uploads/repo_file/file/1631/textfile.txt +0 -1
  195. data/spec/dummy/public/uploads/repo_file/file/1633/textfile.txt +0 -1
  196. data/spec/dummy/public/uploads/repo_file/file/1636/textfile.txt +0 -1
  197. data/spec/dummy/public/uploads/repo_file/file/1637/textfile.txt +0 -1
  198. data/spec/dummy/public/uploads/repo_file/file/1639/textfile.txt +0 -1
  199. data/spec/dummy/public/uploads/repo_file/file/1643/textfile.txt +0 -1
  200. data/spec/dummy/public/uploads/repo_file/file/1644/textfile.txt +0 -1
  201. data/spec/dummy/public/uploads/repo_file/file/1645/textfile.txt +0 -1
  202. data/spec/dummy/public/uploads/repo_file/file/1646/textfile.txt +0 -1
  203. data/spec/dummy/public/uploads/repo_file/file/1647/textfile.txt +0 -1
  204. data/spec/dummy/public/uploads/repo_file/file/1648/textfile.txt +0 -1
  205. data/spec/dummy/public/uploads/repo_file/file/1649/textfile.txt +0 -1
  206. data/spec/dummy/public/uploads/repo_file/file/1650/textfile.txt +0 -1
  207. data/spec/dummy/public/uploads/repo_file/file/1651/textfile.txt +0 -1
  208. data/spec/dummy/public/uploads/repo_file/file/1652/textfile.txt +0 -1
  209. data/spec/dummy/public/uploads/repo_file/file/1661/textfile.txt +0 -1
  210. data/spec/dummy/public/uploads/repo_file/file/1663/textfile.txt +0 -1
  211. data/spec/dummy/public/uploads/repo_file/file/1667/textfile.txt +0 -1
  212. data/spec/dummy/public/uploads/repo_file/file/1670/textfile.txt +0 -1
  213. data/spec/dummy/public/uploads/repo_file/file/1672/textfile.txt +0 -1
  214. data/spec/dummy/public/uploads/repo_file/file/1673/textfile.txt +0 -1
  215. data/spec/dummy/public/uploads/repo_file/file/1675/textfile.txt +0 -1
  216. data/spec/dummy/public/uploads/repo_file/file/1681/textfile.txt +0 -1
  217. data/spec/dummy/public/uploads/repo_file/file/1683/textfile.txt +0 -1
  218. data/spec/dummy/public/uploads/repo_file/file/1685/textfile.txt +0 -1
  219. data/spec/dummy/public/uploads/repo_file/file/1687/textfile.txt +0 -1
  220. data/spec/dummy/public/uploads/repo_file/file/1689/textfile.txt +0 -1
  221. data/spec/dummy/public/uploads/repo_file/file/1691/textfile.txt +0 -1
  222. data/spec/dummy/public/uploads/repo_file/file/1693/textfile.txt +0 -1
  223. data/spec/dummy/public/uploads/repo_file/file/1695/textfile.txt +0 -1
  224. data/spec/dummy/public/uploads/repo_file/file/1697/textfile.txt +0 -1
  225. data/spec/dummy/public/uploads/repo_file/file/1700/textfile.txt +0 -1
  226. data/spec/dummy/public/uploads/repo_file/file/1701/textfile.txt +0 -1
  227. data/spec/dummy/public/uploads/repo_file/file/1703/textfile.txt +0 -1
  228. data/spec/dummy/public/uploads/repo_file/file/1707/textfile.txt +0 -1
  229. data/spec/dummy/public/uploads/repo_file/file/1708/textfile.txt +0 -1
  230. data/spec/dummy/public/uploads/repo_file/file/1709/textfile.txt +0 -1
  231. data/spec/dummy/public/uploads/repo_file/file/1710/textfile.txt +0 -1
  232. data/spec/dummy/public/uploads/repo_file/file/1711/textfile.txt +0 -1
  233. data/spec/dummy/public/uploads/repo_file/file/1712/textfile.txt +0 -1
  234. data/spec/dummy/public/uploads/repo_file/file/1713/textfile.txt +0 -1
  235. data/spec/dummy/public/uploads/repo_file/file/1714/textfile.txt +0 -1
  236. data/spec/dummy/public/uploads/repo_file/file/1715/textfile.txt +0 -1
  237. data/spec/dummy/public/uploads/repo_file/file/1716/textfile.txt +0 -1
  238. data/spec/dummy/public/uploads/repo_file/file/1725/textfile.txt +0 -1
  239. data/spec/dummy/public/uploads/repo_file/file/1727/textfile.txt +0 -1
  240. data/spec/dummy/public/uploads/repo_file/file/1731/textfile.txt +0 -1
  241. data/spec/dummy/public/uploads/repo_file/file/1734/textfile.txt +0 -1
  242. data/spec/dummy/public/uploads/repo_file/file/1736/textfile.txt +0 -1
  243. data/spec/dummy/public/uploads/repo_file/file/1737/textfile.txt +0 -1
  244. data/spec/dummy/public/uploads/repo_file/file/1739/textfile.txt +0 -1
  245. data/spec/dummy/public/uploads/repo_file/file/1745/textfile.txt +0 -1
  246. data/spec/dummy/public/uploads/repo_file/file/1747/textfile.txt +0 -1
  247. data/spec/dummy/public/uploads/repo_file/file/1749/textfile.txt +0 -1
  248. data/spec/dummy/public/uploads/repo_file/file/1751/textfile.txt +0 -1
  249. data/spec/dummy/public/uploads/repo_file/file/1753/textfile.txt +0 -1
  250. data/spec/dummy/public/uploads/repo_file/file/1755/textfile.txt +0 -1
  251. data/spec/dummy/public/uploads/repo_file/file/1757/textfile.txt +0 -1
  252. data/spec/dummy/public/uploads/repo_file/file/1759/textfile.txt +0 -1
  253. data/spec/dummy/public/uploads/repo_file/file/1761/textfile.txt +0 -1
  254. data/spec/dummy/public/uploads/repo_file/file/1764/textfile.txt +0 -1
  255. data/spec/dummy/public/uploads/repo_file/file/1765/textfile.txt +0 -1
  256. data/spec/dummy/public/uploads/repo_file/file/1767/textfile.txt +0 -1
  257. data/spec/dummy/public/uploads/repo_file/file/1771/textfile.txt +0 -1
  258. data/spec/dummy/public/uploads/repo_file/file/1772/textfile.txt +0 -1
  259. data/spec/dummy/public/uploads/repo_file/file/1773/textfile.txt +0 -1
  260. data/spec/dummy/public/uploads/repo_file/file/1774/textfile.txt +0 -1
  261. data/spec/dummy/public/uploads/repo_file/file/1775/textfile.txt +0 -1
  262. data/spec/dummy/public/uploads/repo_file/file/1776/textfile.txt +0 -1
  263. data/spec/dummy/public/uploads/repo_file/file/1777/textfile.txt +0 -1
  264. data/spec/dummy/public/uploads/repo_file/file/1778/textfile.txt +0 -1
  265. data/spec/dummy/public/uploads/repo_file/file/1779/textfile.txt +0 -1
  266. data/spec/dummy/public/uploads/repo_file/file/1780/textfile.txt +0 -1
  267. data/spec/dummy/public/uploads/repo_file/file/1789/textfile.txt +0 -1
  268. data/spec/dummy/public/uploads/repo_file/file/1791/textfile.txt +0 -1
  269. data/spec/dummy/public/uploads/repo_file/file/1795/textfile.txt +0 -1
  270. data/spec/dummy/public/uploads/repo_file/file/1798/textfile.txt +0 -1
  271. data/spec/dummy/public/uploads/repo_file/file/1800/textfile.txt +0 -1
  272. data/spec/dummy/public/uploads/repo_file/file/1801/textfile.txt +0 -1
  273. data/spec/dummy/public/uploads/repo_file/file/1803/textfile.txt +0 -1
  274. data/spec/dummy/public/uploads/repo_file/file/1809/textfile.txt +0 -1
  275. data/spec/dummy/public/uploads/repo_file/file/1811/textfile.txt +0 -1
  276. data/spec/dummy/public/uploads/repo_file/file/1813/textfile.txt +0 -1
  277. data/spec/dummy/public/uploads/repo_file/file/1815/textfile.txt +0 -1
  278. data/spec/dummy/public/uploads/repo_file/file/1817/textfile.txt +0 -1
  279. data/spec/dummy/public/uploads/repo_file/file/1819/textfile.txt +0 -1
  280. data/spec/dummy/public/uploads/repo_file/file/1821/textfile.txt +0 -1
  281. data/spec/dummy/public/uploads/repo_file/file/1823/textfile.txt +0 -1
  282. data/spec/dummy/public/uploads/repo_file/file/1825/textfile.txt +0 -1
  283. data/spec/dummy/public/uploads/repo_file/file/1828/textfile.txt +0 -1
  284. data/spec/dummy/public/uploads/repo_file/file/1829/textfile.txt +0 -1
  285. data/spec/dummy/public/uploads/repo_file/file/1831/textfile.txt +0 -1
  286. data/spec/dummy/public/uploads/repo_file/file/1835/textfile.txt +0 -1
  287. data/spec/dummy/public/uploads/repo_file/file/1836/textfile.txt +0 -1
  288. data/spec/dummy/public/uploads/repo_file/file/1837/textfile.txt +0 -1
  289. data/spec/dummy/public/uploads/repo_file/file/1838/textfile.txt +0 -1
  290. data/spec/dummy/public/uploads/repo_file/file/1839/textfile.txt +0 -1
  291. data/spec/dummy/public/uploads/repo_file/file/1840/textfile.txt +0 -1
  292. data/spec/dummy/public/uploads/repo_file/file/1841/textfile.txt +0 -1
  293. data/spec/dummy/public/uploads/repo_file/file/1842/textfile.txt +0 -1
  294. data/spec/dummy/public/uploads/repo_file/file/1843/textfile.txt +0 -1
  295. data/spec/dummy/public/uploads/repo_file/file/1844/textfile.txt +0 -1
  296. data/spec/dummy/public/uploads/repo_file/file/1853/textfile.txt +0 -1
  297. data/spec/dummy/public/uploads/repo_file/file/1855/textfile.txt +0 -1
  298. data/spec/dummy/public/uploads/repo_file/file/1859/textfile.txt +0 -1
  299. data/spec/dummy/public/uploads/repo_file/file/1862/textfile.txt +0 -1
  300. data/spec/dummy/public/uploads/repo_file/file/1864/textfile.txt +0 -1
  301. data/spec/dummy/public/uploads/repo_file/file/1865/textfile.txt +0 -1
  302. data/spec/dummy/public/uploads/repo_file/file/1867/textfile.txt +0 -1
  303. data/spec/dummy/public/uploads/repo_file/file/1873/textfile.txt +0 -1
  304. data/spec/dummy/public/uploads/repo_file/file/1875/textfile.txt +0 -1
  305. data/spec/dummy/public/uploads/repo_file/file/1877/textfile.txt +0 -1
  306. data/spec/dummy/public/uploads/repo_file/file/1879/textfile.txt +0 -1
  307. data/spec/dummy/public/uploads/repo_file/file/1881/textfile.txt +0 -1
  308. data/spec/dummy/public/uploads/repo_file/file/1883/textfile.txt +0 -1
  309. data/spec/dummy/public/uploads/repo_file/file/1885/textfile.txt +0 -1
  310. data/spec/dummy/public/uploads/repo_file/file/1887/textfile.txt +0 -1
  311. data/spec/dummy/public/uploads/repo_file/file/1889/textfile.txt +0 -1
  312. data/spec/dummy/public/uploads/repo_file/file/1892/textfile.txt +0 -1
  313. data/spec/dummy/public/uploads/repo_file/file/1893/textfile.txt +0 -1
  314. data/spec/dummy/public/uploads/repo_file/file/1895/textfile.txt +0 -1
  315. data/spec/dummy/public/uploads/repo_file/file/1899/textfile.txt +0 -1
  316. data/spec/dummy/public/uploads/repo_file/file/1900/textfile.txt +0 -1
  317. data/spec/dummy/public/uploads/repo_file/file/1901/textfile.txt +0 -1
  318. data/spec/dummy/public/uploads/repo_file/file/1902/textfile.txt +0 -1
  319. data/spec/dummy/public/uploads/repo_file/file/1903/textfile.txt +0 -1
  320. data/spec/dummy/public/uploads/repo_file/file/1904/textfile.txt +0 -1
  321. data/spec/dummy/public/uploads/repo_file/file/1905/textfile.txt +0 -1
  322. data/spec/dummy/public/uploads/repo_file/file/1906/textfile.txt +0 -1
  323. data/spec/dummy/public/uploads/repo_file/file/1907/textfile.txt +0 -1
  324. data/spec/dummy/public/uploads/repo_file/file/1908/textfile.txt +0 -1
  325. data/spec/dummy/public/uploads/repo_file/file/1917/textfile.txt +0 -1
  326. data/spec/dummy/public/uploads/repo_file/file/1919/textfile.txt +0 -1
  327. data/spec/dummy/public/uploads/repo_file/file/1923/textfile.txt +0 -1
  328. data/spec/dummy/public/uploads/repo_file/file/1926/textfile.txt +0 -1
  329. data/spec/dummy/public/uploads/repo_file/file/1928/textfile.txt +0 -1
  330. data/spec/dummy/public/uploads/repo_file/file/1929/textfile.txt +0 -1
  331. data/spec/dummy/public/uploads/repo_file/file/1931/textfile.txt +0 -1
  332. data/spec/dummy/public/uploads/repo_file/file/1937/textfile.txt +0 -1
  333. data/spec/dummy/public/uploads/repo_file/file/1939/textfile.txt +0 -1
  334. data/spec/dummy/public/uploads/repo_file/file/1941/textfile.txt +0 -1
  335. data/spec/dummy/public/uploads/repo_file/file/1943/textfile.txt +0 -1
  336. data/spec/dummy/public/uploads/repo_file/file/1945/textfile.txt +0 -1
  337. data/spec/dummy/public/uploads/repo_file/file/1947/textfile.txt +0 -1
  338. data/spec/dummy/public/uploads/repo_file/file/1949/textfile.txt +0 -1
  339. data/spec/dummy/public/uploads/repo_file/file/1951/textfile.txt +0 -1
  340. data/spec/dummy/public/uploads/repo_file/file/1953/textfile.txt +0 -1
  341. data/spec/dummy/public/uploads/repo_file/file/1956/textfile.txt +0 -1
  342. data/spec/dummy/public/uploads/repo_file/file/1957/textfile.txt +0 -1
  343. data/spec/dummy/public/uploads/repo_file/file/1959/textfile.txt +0 -1
  344. data/spec/dummy/public/uploads/repo_file/file/1963/textfile.txt +0 -1
  345. data/spec/dummy/public/uploads/repo_file/file/1964/textfile.txt +0 -1
  346. data/spec/dummy/public/uploads/repo_file/file/1965/textfile.txt +0 -1
  347. data/spec/dummy/public/uploads/repo_file/file/1966/textfile.txt +0 -1
  348. data/spec/dummy/public/uploads/repo_file/file/1967/textfile.txt +0 -1
  349. data/spec/dummy/public/uploads/repo_file/file/1968/textfile.txt +0 -1
  350. data/spec/dummy/public/uploads/repo_file/file/1969/textfile.txt +0 -1
  351. data/spec/dummy/public/uploads/repo_file/file/1970/textfile.txt +0 -1
  352. data/spec/dummy/public/uploads/repo_file/file/1971/textfile.txt +0 -1
  353. data/spec/dummy/public/uploads/repo_file/file/1972/textfile.txt +0 -1
  354. data/spec/dummy/public/uploads/repo_file/file/1981/textfile.txt +0 -1
  355. data/spec/dummy/public/uploads/repo_file/file/1983/textfile.txt +0 -1
  356. data/spec/dummy/public/uploads/repo_file/file/1987/textfile.txt +0 -1
  357. data/spec/dummy/public/uploads/repo_file/file/1990/textfile.txt +0 -1
  358. data/spec/dummy/public/uploads/repo_file/file/1992/textfile.txt +0 -1
  359. data/spec/dummy/public/uploads/repo_file/file/1993/textfile.txt +0 -1
  360. data/spec/dummy/public/uploads/repo_file/file/1995/textfile.txt +0 -1
  361. data/spec/dummy/public/uploads/repo_file/file/2001/textfile.txt +0 -1
  362. data/spec/dummy/public/uploads/repo_file/file/2003/textfile.txt +0 -1
  363. data/spec/dummy/public/uploads/repo_file/file/2005/textfile.txt +0 -1
  364. data/spec/dummy/public/uploads/repo_file/file/2007/textfile.txt +0 -1
  365. data/spec/dummy/public/uploads/repo_file/file/2009/textfile.txt +0 -1
  366. data/spec/dummy/public/uploads/repo_file/file/2011/textfile.txt +0 -1
  367. data/spec/dummy/public/uploads/repo_file/file/2013/textfile.txt +0 -1
  368. data/spec/dummy/public/uploads/repo_file/file/2015/textfile.txt +0 -1
  369. data/spec/dummy/public/uploads/repo_file/file/2017/textfile.txt +0 -1
  370. data/spec/dummy/public/uploads/repo_file/file/2020/textfile.txt +0 -1
  371. data/spec/dummy/public/uploads/repo_file/file/2021/textfile.txt +0 -1
  372. data/spec/dummy/public/uploads/repo_file/file/2023/textfile.txt +0 -1
  373. data/spec/dummy/public/uploads/repo_file/file/2027/textfile.txt +0 -1
  374. data/spec/dummy/public/uploads/repo_file/file/2028/textfile.txt +0 -1
  375. data/spec/dummy/public/uploads/repo_file/file/2029/textfile.txt +0 -1
  376. data/spec/dummy/public/uploads/repo_file/file/2030/textfile.txt +0 -1
  377. data/spec/dummy/public/uploads/repo_file/file/2031/textfile.txt +0 -1
  378. data/spec/dummy/public/uploads/repo_file/file/2032/textfile.txt +0 -1
  379. data/spec/dummy/public/uploads/repo_file/file/2033/textfile.txt +0 -1
  380. data/spec/dummy/public/uploads/repo_file/file/2034/textfile.txt +0 -1
  381. data/spec/dummy/public/uploads/repo_file/file/2035/textfile.txt +0 -1
  382. data/spec/dummy/public/uploads/repo_file/file/2036/textfile.txt +0 -1
  383. data/spec/dummy/public/uploads/repo_file/file/2045/textfile.txt +0 -1
  384. data/spec/dummy/public/uploads/repo_file/file/2047/textfile.txt +0 -1
  385. data/spec/dummy/public/uploads/repo_file/file/2051/textfile.txt +0 -1
  386. data/spec/dummy/public/uploads/repo_file/file/2054/textfile.txt +0 -1
  387. data/spec/dummy/public/uploads/repo_file/file/2056/textfile.txt +0 -1
  388. data/spec/dummy/public/uploads/repo_file/file/2057/textfile.txt +0 -1
  389. data/spec/dummy/public/uploads/repo_file/file/2059/textfile.txt +0 -1
  390. data/spec/dummy/public/uploads/repo_file/file/2065/textfile.txt +0 -1
  391. data/spec/dummy/public/uploads/repo_file/file/2067/textfile.txt +0 -1
  392. data/spec/dummy/public/uploads/repo_file/file/2069/textfile.txt +0 -1
  393. data/spec/dummy/public/uploads/repo_file/file/2071/textfile.txt +0 -1
  394. data/spec/dummy/public/uploads/repo_file/file/2073/textfile.txt +0 -1
  395. data/spec/dummy/public/uploads/repo_file/file/2075/textfile.txt +0 -1
  396. data/spec/dummy/public/uploads/repo_file/file/2077/textfile.txt +0 -1
  397. data/spec/dummy/public/uploads/repo_file/file/2079/textfile.txt +0 -1
  398. data/spec/dummy/public/uploads/repo_file/file/2081/textfile.txt +0 -1
  399. data/spec/dummy/public/uploads/repo_file/file/2084/textfile.txt +0 -1
  400. data/spec/dummy/public/uploads/repo_file/file/2085/textfile.txt +0 -1
  401. data/spec/dummy/public/uploads/repo_file/file/2087/textfile.txt +0 -1
  402. data/spec/dummy/public/uploads/repo_file/file/2091/textfile.txt +0 -1
  403. data/spec/dummy/public/uploads/repo_file/file/2092/textfile.txt +0 -1
  404. data/spec/dummy/public/uploads/repo_file/file/2093/textfile.txt +0 -1
  405. data/spec/dummy/public/uploads/repo_file/file/2094/textfile.txt +0 -1
  406. data/spec/dummy/public/uploads/repo_file/file/2095/textfile.txt +0 -1
  407. data/spec/dummy/public/uploads/repo_file/file/2096/textfile.txt +0 -1
  408. data/spec/dummy/public/uploads/repo_file/file/2097/textfile.txt +0 -1
  409. data/spec/dummy/public/uploads/repo_file/file/2098/textfile.txt +0 -1
  410. data/spec/dummy/public/uploads/repo_file/file/2099/textfile.txt +0 -1
  411. data/spec/dummy/public/uploads/repo_file/file/2100/textfile.txt +0 -1
  412. data/spec/dummy/public/uploads/repo_file/file/2109/textfile.txt +0 -1
  413. data/spec/dummy/public/uploads/repo_file/file/2111/textfile.txt +0 -1
  414. data/spec/dummy/public/uploads/repo_file/file/2115/textfile.txt +0 -1
  415. data/spec/dummy/public/uploads/repo_file/file/2118/textfile.txt +0 -1
  416. data/spec/dummy/public/uploads/repo_file/file/2120/textfile.txt +0 -1
  417. data/spec/dummy/public/uploads/repo_file/file/2121/textfile.txt +0 -1
  418. data/spec/dummy/public/uploads/repo_file/file/2123/textfile.txt +0 -1
  419. data/spec/dummy/public/uploads/repo_file/file/2129/textfile.txt +0 -1
  420. data/spec/dummy/public/uploads/repo_file/file/2131/textfile.txt +0 -1
  421. data/spec/dummy/public/uploads/repo_file/file/2133/textfile.txt +0 -1
  422. data/spec/dummy/public/uploads/repo_file/file/2135/textfile.txt +0 -1
  423. data/spec/dummy/public/uploads/repo_file/file/2137/textfile.txt +0 -1
  424. data/spec/dummy/public/uploads/repo_file/file/2139/textfile.txt +0 -1
  425. data/spec/dummy/public/uploads/repo_file/file/2141/textfile.txt +0 -1
  426. data/spec/dummy/public/uploads/repo_file/file/2143/textfile.txt +0 -1
  427. data/spec/dummy/public/uploads/repo_file/file/2145/textfile.txt +0 -1
  428. data/spec/dummy/public/uploads/repo_file/file/2148/textfile.txt +0 -1
  429. data/spec/dummy/public/uploads/repo_file/file/2149/textfile.txt +0 -1
  430. data/spec/dummy/public/uploads/repo_file/file/2151/textfile.txt +0 -1
  431. data/spec/dummy/public/uploads/repo_file/file/2155/textfile.txt +0 -1
  432. data/spec/dummy/public/uploads/repo_file/file/2156/textfile.txt +0 -1
  433. data/spec/dummy/public/uploads/repo_file/file/2157/textfile.txt +0 -1
  434. data/spec/dummy/public/uploads/repo_file/file/2158/textfile.txt +0 -1
  435. data/spec/dummy/public/uploads/repo_file/file/2159/textfile.txt +0 -1
  436. data/spec/dummy/public/uploads/repo_file/file/2160/textfile.txt +0 -1
  437. data/spec/dummy/public/uploads/repo_file/file/2161/textfile.txt +0 -1
  438. data/spec/dummy/public/uploads/repo_file/file/2162/textfile.txt +0 -1
  439. data/spec/dummy/public/uploads/repo_file/file/2163/textfile.txt +0 -1
  440. data/spec/dummy/public/uploads/repo_file/file/2164/textfile.txt +0 -1
  441. data/spec/dummy/public/uploads/repo_file/file/2173/textfile.txt +0 -1
  442. data/spec/dummy/public/uploads/repo_file/file/2175/textfile.txt +0 -1
  443. data/spec/dummy/public/uploads/repo_file/file/2179/textfile.txt +0 -1
  444. data/spec/dummy/public/uploads/repo_file/file/2182/textfile.txt +0 -1
  445. data/spec/dummy/public/uploads/repo_file/file/2184/textfile.txt +0 -1
  446. data/spec/dummy/public/uploads/repo_file/file/2185/textfile.txt +0 -1
  447. data/spec/dummy/public/uploads/repo_file/file/2187/textfile.txt +0 -1
  448. data/spec/dummy/public/uploads/repo_file/file/2193/textfile.txt +0 -1
  449. data/spec/dummy/public/uploads/repo_file/file/2195/textfile.txt +0 -1
  450. data/spec/dummy/public/uploads/repo_file/file/2197/textfile.txt +0 -1
  451. data/spec/dummy/public/uploads/repo_file/file/2199/textfile.txt +0 -1
  452. data/spec/dummy/public/uploads/repo_file/file/2201/textfile.txt +0 -1
  453. data/spec/dummy/public/uploads/repo_file/file/2203/textfile.txt +0 -1
  454. data/spec/dummy/public/uploads/repo_file/file/2205/textfile.txt +0 -1
  455. data/spec/dummy/public/uploads/repo_file/file/2207/textfile.txt +0 -1
  456. data/spec/dummy/public/uploads/repo_file/file/2209/textfile.txt +0 -1
  457. data/spec/dummy/public/uploads/repo_file/file/2212/textfile.txt +0 -1
  458. data/spec/dummy/public/uploads/repo_file/file/2213/textfile.txt +0 -1
  459. data/spec/dummy/public/uploads/repo_file/file/2215/textfile.txt +0 -1
  460. data/spec/dummy/public/uploads/repo_file/file/2219/textfile.txt +0 -1
  461. data/spec/dummy/public/uploads/repo_file/file/2220/textfile.txt +0 -1
  462. data/spec/dummy/public/uploads/repo_file/file/2221/textfile.txt +0 -1
  463. data/spec/dummy/public/uploads/repo_file/file/2222/textfile.txt +0 -1
  464. data/spec/dummy/public/uploads/repo_file/file/2223/textfile.txt +0 -1
  465. data/spec/dummy/public/uploads/repo_file/file/2224/textfile.txt +0 -1
  466. data/spec/dummy/public/uploads/repo_file/file/2225/textfile.txt +0 -1
  467. data/spec/dummy/public/uploads/repo_file/file/2226/textfile.txt +0 -1
  468. data/spec/dummy/public/uploads/repo_file/file/2227/textfile.txt +0 -1
  469. data/spec/dummy/public/uploads/repo_file/file/2228/textfile.txt +0 -1
  470. data/spec/dummy/public/uploads/repo_file/file/2237/textfile.txt +0 -1
  471. data/spec/dummy/public/uploads/repo_file/file/2239/textfile.txt +0 -1
  472. data/spec/dummy/public/uploads/repo_file/file/2243/textfile.txt +0 -1
  473. data/spec/dummy/public/uploads/repo_file/file/2246/textfile.txt +0 -1
  474. data/spec/dummy/public/uploads/repo_file/file/2248/textfile.txt +0 -1
  475. data/spec/dummy/public/uploads/repo_file/file/2249/textfile.txt +0 -1
  476. data/spec/dummy/public/uploads/repo_file/file/2251/textfile.txt +0 -1
  477. data/spec/dummy/public/uploads/repo_file/file/2257/textfile.txt +0 -1
  478. data/spec/dummy/public/uploads/repo_file/file/2259/textfile.txt +0 -1
  479. data/spec/dummy/public/uploads/repo_file/file/2261/textfile.txt +0 -1
  480. data/spec/dummy/public/uploads/repo_file/file/2263/textfile.txt +0 -1
  481. data/spec/dummy/public/uploads/repo_file/file/2265/textfile.txt +0 -1
  482. data/spec/dummy/public/uploads/repo_file/file/2267/textfile.txt +0 -1
  483. data/spec/dummy/public/uploads/repo_file/file/2269/textfile.txt +0 -1
  484. data/spec/dummy/public/uploads/repo_file/file/2271/textfile.txt +0 -1
  485. data/spec/dummy/public/uploads/repo_file/file/2273/textfile.txt +0 -1
  486. data/spec/dummy/public/uploads/repo_file/file/2276/textfile.txt +0 -1
  487. data/spec/dummy/public/uploads/repo_file/file/2277/textfile.txt +0 -1
  488. data/spec/dummy/public/uploads/repo_file/file/2279/textfile.txt +0 -1
  489. data/spec/dummy/public/uploads/repo_file/file/2283/textfile.txt +0 -1
  490. data/spec/dummy/public/uploads/repo_file/file/2284/textfile.txt +0 -1
  491. data/spec/dummy/public/uploads/repo_file/file/2285/textfile.txt +0 -1
  492. data/spec/dummy/public/uploads/repo_file/file/2286/textfile.txt +0 -1
  493. data/spec/dummy/public/uploads/repo_file/file/2287/textfile.txt +0 -1
  494. data/spec/dummy/public/uploads/repo_file/file/2288/textfile.txt +0 -1
  495. data/spec/dummy/public/uploads/repo_file/file/2289/textfile.txt +0 -1
  496. data/spec/dummy/public/uploads/repo_file/file/2290/textfile.txt +0 -1
  497. data/spec/dummy/public/uploads/repo_file/file/2291/textfile.txt +0 -1
  498. data/spec/dummy/public/uploads/repo_file/file/2292/textfile.txt +0 -1
  499. data/spec/dummy/public/uploads/repo_file/file/2301/textfile.txt +0 -1
  500. data/spec/dummy/public/uploads/repo_file/file/2303/textfile.txt +0 -1
  501. data/spec/dummy/public/uploads/repo_file/file/2307/textfile.txt +0 -1
  502. data/spec/dummy/public/uploads/repo_file/file/2310/textfile.txt +0 -1
  503. data/spec/dummy/public/uploads/repo_file/file/2312/textfile.txt +0 -1
  504. data/spec/dummy/public/uploads/repo_file/file/2313/textfile.txt +0 -1
  505. data/spec/dummy/public/uploads/repo_file/file/2315/textfile.txt +0 -1
  506. data/spec/dummy/public/uploads/repo_file/file/2321/textfile.txt +0 -1
  507. data/spec/dummy/public/uploads/repo_file/file/2323/textfile.txt +0 -1
  508. data/spec/dummy/public/uploads/repo_file/file/2325/textfile.txt +0 -1
  509. data/spec/dummy/public/uploads/repo_file/file/2327/textfile.txt +0 -1
  510. data/spec/dummy/public/uploads/repo_file/file/2329/textfile.txt +0 -1
  511. data/spec/dummy/public/uploads/repo_file/file/2331/textfile.txt +0 -1
  512. data/spec/dummy/public/uploads/repo_file/file/2333/textfile.txt +0 -1
  513. data/spec/dummy/public/uploads/repo_file/file/2335/textfile.txt +0 -1
  514. data/spec/dummy/public/uploads/repo_file/file/2337/textfile.txt +0 -1
  515. data/spec/dummy/public/uploads/repo_file/file/2340/textfile.txt +0 -1
  516. data/spec/dummy/public/uploads/repo_file/file/2341/textfile.txt +0 -1
  517. data/spec/dummy/public/uploads/repo_file/file/2343/textfile.txt +0 -1
  518. data/spec/dummy/public/uploads/repo_file/file/2347/textfile.txt +0 -1
  519. data/spec/dummy/public/uploads/repo_file/file/2348/textfile.txt +0 -1
  520. data/spec/dummy/public/uploads/repo_file/file/2349/textfile.txt +0 -1
  521. data/spec/dummy/public/uploads/repo_file/file/2350/textfile.txt +0 -1
  522. data/spec/dummy/public/uploads/repo_file/file/2351/textfile.txt +0 -1
  523. data/spec/dummy/public/uploads/repo_file/file/2352/textfile.txt +0 -1
  524. data/spec/dummy/public/uploads/repo_file/file/2353/textfile.txt +0 -1
  525. data/spec/dummy/public/uploads/repo_file/file/2354/textfile.txt +0 -1
  526. data/spec/dummy/public/uploads/repo_file/file/2355/textfile.txt +0 -1
  527. data/spec/dummy/public/uploads/repo_file/file/2356/textfile.txt +0 -1
  528. data/spec/dummy/public/uploads/repo_file/file/2365/textfile.txt +0 -1
  529. data/spec/dummy/public/uploads/repo_file/file/2367/textfile.txt +0 -1
  530. data/spec/dummy/public/uploads/repo_file/file/2371/textfile.txt +0 -1
  531. data/spec/dummy/public/uploads/repo_file/file/2374/textfile.txt +0 -1
  532. data/spec/dummy/public/uploads/repo_file/file/2376/textfile.txt +0 -1
  533. data/spec/dummy/public/uploads/repo_file/file/2377/textfile.txt +0 -1
  534. data/spec/dummy/public/uploads/repo_file/file/2379/textfile.txt +0 -1
  535. data/spec/dummy/public/uploads/repo_file/file/2385/textfile.txt +0 -1
  536. data/spec/dummy/public/uploads/repo_file/file/2387/textfile.txt +0 -1
  537. data/spec/dummy/public/uploads/repo_file/file/2389/textfile.txt +0 -1
  538. data/spec/dummy/public/uploads/repo_file/file/2391/textfile.txt +0 -1
  539. data/spec/dummy/public/uploads/repo_file/file/2393/textfile.txt +0 -1
  540. data/spec/dummy/public/uploads/repo_file/file/2395/textfile.txt +0 -1
  541. data/spec/dummy/public/uploads/repo_file/file/2397/textfile.txt +0 -1
  542. data/spec/dummy/public/uploads/repo_file/file/2399/textfile.txt +0 -1
  543. data/spec/dummy/public/uploads/repo_file/file/2401/textfile.txt +0 -1
  544. data/spec/dummy/public/uploads/repo_file/file/2404/textfile.txt +0 -1
  545. data/spec/dummy/public/uploads/repo_file/file/2405/textfile.txt +0 -1
  546. data/spec/dummy/public/uploads/repo_file/file/2407/textfile.txt +0 -1
  547. data/spec/dummy/public/uploads/repo_file/file/2411/textfile.txt +0 -1
  548. data/spec/dummy/public/uploads/repo_file/file/2412/textfile.txt +0 -1
  549. data/spec/dummy/public/uploads/repo_file/file/2413/textfile.txt +0 -1
  550. data/spec/dummy/public/uploads/repo_file/file/2414/textfile.txt +0 -1
  551. data/spec/dummy/public/uploads/repo_file/file/2415/textfile.txt +0 -1
  552. data/spec/dummy/public/uploads/repo_file/file/2416/textfile.txt +0 -1
  553. data/spec/dummy/public/uploads/repo_file/file/2417/textfile.txt +0 -1
  554. data/spec/dummy/public/uploads/repo_file/file/2418/textfile.txt +0 -1
  555. data/spec/dummy/public/uploads/repo_file/file/2419/textfile.txt +0 -1
  556. data/spec/dummy/public/uploads/repo_file/file/2420/textfile.txt +0 -1
  557. data/spec/dummy/public/uploads/repo_file/file/2429/textfile.txt +0 -1
  558. data/spec/dummy/public/uploads/repo_file/file/2431/textfile.txt +0 -1
  559. data/spec/dummy/public/uploads/repo_file/file/2435/textfile.txt +0 -1
  560. data/spec/dummy/public/uploads/repo_file/file/2438/textfile.txt +0 -1
  561. data/spec/dummy/public/uploads/repo_file/file/2440/textfile.txt +0 -1
  562. data/spec/dummy/public/uploads/repo_file/file/2441/textfile.txt +0 -1
  563. data/spec/dummy/public/uploads/repo_file/file/2443/textfile.txt +0 -1
  564. data/spec/dummy/public/uploads/repo_file/file/2449/textfile.txt +0 -1
  565. data/spec/dummy/public/uploads/repo_file/file/2451/textfile.txt +0 -1
  566. data/spec/dummy/public/uploads/repo_file/file/2453/textfile.txt +0 -1
  567. data/spec/dummy/public/uploads/repo_file/file/2455/textfile.txt +0 -1
  568. data/spec/dummy/public/uploads/repo_file/file/2457/textfile.txt +0 -1
  569. data/spec/dummy/public/uploads/repo_file/file/2459/textfile.txt +0 -1
  570. data/spec/dummy/public/uploads/repo_file/file/2461/textfile.txt +0 -1
  571. data/spec/dummy/public/uploads/repo_file/file/2463/textfile.txt +0 -1
  572. data/spec/dummy/public/uploads/repo_file/file/2465/textfile.txt +0 -1
  573. data/spec/dummy/public/uploads/repo_file/file/2468/textfile.txt +0 -1
  574. data/spec/dummy/public/uploads/repo_file/file/2469/textfile.txt +0 -1
  575. data/spec/dummy/public/uploads/repo_file/file/2471/textfile.txt +0 -1
  576. data/spec/dummy/public/uploads/repo_file/file/2475/textfile.txt +0 -1
  577. data/spec/dummy/public/uploads/repo_file/file/2476/textfile.txt +0 -1
  578. data/spec/dummy/public/uploads/repo_file/file/2477/textfile.txt +0 -1
  579. data/spec/dummy/public/uploads/repo_file/file/2478/textfile.txt +0 -1
  580. data/spec/dummy/public/uploads/repo_file/file/2479/textfile.txt +0 -1
  581. data/spec/dummy/public/uploads/repo_file/file/2480/textfile.txt +0 -1
  582. data/spec/dummy/public/uploads/repo_file/file/2481/textfile.txt +0 -1
  583. data/spec/dummy/public/uploads/repo_file/file/2482/textfile.txt +0 -1
  584. data/spec/dummy/public/uploads/repo_file/file/2483/textfile.txt +0 -1
  585. data/spec/dummy/public/uploads/repo_file/file/2484/textfile.txt +0 -1
  586. data/spec/dummy/public/uploads/repo_file/file/2493/textfile.txt +0 -1
  587. data/spec/dummy/public/uploads/repo_file/file/2495/textfile.txt +0 -1
  588. data/spec/dummy/public/uploads/repo_file/file/2499/textfile.txt +0 -1
  589. data/spec/dummy/public/uploads/repo_file/file/2502/textfile.txt +0 -1
  590. data/spec/dummy/public/uploads/repo_file/file/2504/textfile.txt +0 -1
  591. data/spec/dummy/public/uploads/repo_file/file/2505/textfile.txt +0 -1
  592. data/spec/dummy/public/uploads/repo_file/file/2507/textfile.txt +0 -1
  593. data/spec/dummy/public/uploads/repo_file/file/2513/textfile.txt +0 -1
  594. data/spec/dummy/public/uploads/repo_file/file/2515/textfile.txt +0 -1
  595. data/spec/dummy/public/uploads/repo_file/file/2517/textfile.txt +0 -1
  596. data/spec/dummy/public/uploads/repo_file/file/2519/textfile.txt +0 -1
  597. data/spec/dummy/public/uploads/repo_file/file/2521/textfile.txt +0 -1
  598. data/spec/dummy/public/uploads/repo_file/file/2523/textfile.txt +0 -1
  599. data/spec/dummy/public/uploads/repo_file/file/2525/textfile.txt +0 -1
  600. data/spec/dummy/public/uploads/repo_file/file/2527/textfile.txt +0 -1
  601. data/spec/dummy/public/uploads/repo_file/file/2529/textfile.txt +0 -1
  602. data/spec/dummy/public/uploads/repo_file/file/2532/textfile.txt +0 -1
  603. data/spec/dummy/public/uploads/repo_file/file/2533/textfile.txt +0 -1
  604. data/spec/dummy/public/uploads/repo_file/file/2535/textfile.txt +0 -1
  605. data/spec/dummy/public/uploads/repo_file/file/2539/textfile.txt +0 -1
  606. data/spec/dummy/public/uploads/repo_file/file/2540/textfile.txt +0 -1
  607. data/spec/dummy/public/uploads/repo_file/file/2541/textfile.txt +0 -1
  608. data/spec/dummy/public/uploads/repo_file/file/2542/textfile.txt +0 -1
  609. data/spec/dummy/public/uploads/repo_file/file/2543/textfile.txt +0 -1
  610. data/spec/dummy/public/uploads/repo_file/file/2544/textfile.txt +0 -1
  611. data/spec/dummy/public/uploads/repo_file/file/2545/textfile.txt +0 -1
  612. data/spec/dummy/public/uploads/repo_file/file/2546/textfile.txt +0 -1
  613. data/spec/dummy/public/uploads/repo_file/file/2547/textfile.txt +0 -1
  614. data/spec/dummy/public/uploads/repo_file/file/2548/textfile.txt +0 -1
  615. data/spec/dummy/public/uploads/repo_file/file/2557/textfile.txt +0 -1
  616. data/spec/dummy/public/uploads/repo_file/file/2559/textfile.txt +0 -1
  617. data/spec/dummy/public/uploads/repo_file/file/2563/textfile.txt +0 -1
  618. data/spec/dummy/public/uploads/repo_file/file/2566/textfile.txt +0 -1
  619. data/spec/dummy/public/uploads/repo_file/file/2568/textfile.txt +0 -1
  620. data/spec/dummy/public/uploads/repo_file/file/2569/textfile.txt +0 -1
  621. data/spec/dummy/public/uploads/repo_file/file/2571/textfile.txt +0 -1
  622. data/spec/dummy/public/uploads/repo_file/file/2577/textfile.txt +0 -1
  623. data/spec/dummy/public/uploads/repo_file/file/2579/textfile.txt +0 -1
  624. data/spec/dummy/public/uploads/repo_file/file/2581/textfile.txt +0 -1
  625. data/spec/dummy/public/uploads/repo_file/file/2583/textfile.txt +0 -1
  626. data/spec/dummy/public/uploads/repo_file/file/2585/textfile.txt +0 -1
  627. data/spec/dummy/public/uploads/repo_file/file/2587/textfile.txt +0 -1
  628. data/spec/dummy/public/uploads/repo_file/file/2589/textfile.txt +0 -1
  629. data/spec/dummy/public/uploads/repo_file/file/2591/textfile.txt +0 -1
  630. data/spec/dummy/public/uploads/repo_file/file/2593/textfile.txt +0 -1
  631. data/spec/dummy/public/uploads/repo_file/file/2596/textfile.txt +0 -1
  632. data/spec/dummy/public/uploads/repo_file/file/2597/textfile.txt +0 -1
  633. data/spec/dummy/public/uploads/repo_file/file/2599/textfile.txt +0 -1
  634. data/spec/dummy/public/uploads/repo_file/file/2605/textfile.txt +0 -1
  635. data/spec/dummy/public/uploads/repo_file/file/2609/textfile.txt +0 -1
  636. data/spec/dummy/public/uploads/repo_file/file/2610/textfile.txt +0 -1
  637. data/spec/dummy/public/uploads/repo_file/file/2611/textfile.txt +0 -1
  638. data/spec/dummy/public/uploads/repo_file/file/2612/textfile.txt +0 -1
  639. data/spec/dummy/public/uploads/repo_file/file/2613/textfile.txt +0 -1
  640. data/spec/dummy/public/uploads/repo_file/file/2614/textfile.txt +0 -1
  641. data/spec/dummy/public/uploads/repo_file/file/2615/textfile.txt +0 -1
  642. data/spec/dummy/public/uploads/repo_file/file/2616/textfile.txt +0 -1
  643. data/spec/dummy/public/uploads/repo_file/file/2617/textfile.txt +0 -1
  644. data/spec/dummy/public/uploads/repo_file/file/2618/textfile.txt +0 -1
  645. data/spec/dummy/public/uploads/repo_file/file/2627/textfile.txt +0 -1
  646. data/spec/dummy/public/uploads/repo_file/file/2629/textfile.txt +0 -1
  647. data/spec/dummy/public/uploads/repo_file/file/2633/textfile.txt +0 -1
  648. data/spec/dummy/public/uploads/repo_file/file/2636/textfile.txt +0 -1
  649. data/spec/dummy/public/uploads/repo_file/file/2638/textfile.txt +0 -1
  650. data/spec/dummy/public/uploads/repo_file/file/2639/textfile.txt +0 -1
  651. data/spec/dummy/public/uploads/repo_file/file/2641/textfile.txt +0 -1
  652. data/spec/dummy/public/uploads/repo_file/file/2647/textfile.txt +0 -1
  653. data/spec/dummy/public/uploads/repo_file/file/2649/textfile.txt +0 -1
  654. data/spec/dummy/public/uploads/repo_file/file/2651/textfile.txt +0 -1
  655. data/spec/dummy/public/uploads/repo_file/file/2653/textfile.txt +0 -1
  656. data/spec/dummy/public/uploads/repo_file/file/2655/textfile.txt +0 -1
  657. data/spec/dummy/public/uploads/repo_file/file/2657/textfile.txt +0 -1
  658. data/spec/dummy/public/uploads/repo_file/file/2659/textfile.txt +0 -1
  659. data/spec/dummy/public/uploads/repo_file/file/2661/textfile.txt +0 -1
  660. data/spec/dummy/public/uploads/repo_file/file/2663/textfile.txt +0 -1
  661. data/spec/dummy/public/uploads/repo_file/file/2666/textfile.txt +0 -1
  662. data/spec/dummy/public/uploads/repo_file/file/2667/textfile.txt +0 -1
  663. data/spec/dummy/public/uploads/repo_file/file/2669/textfile.txt +0 -1
  664. data/spec/dummy/public/uploads/repo_file/file/2675/textfile.txt +0 -1
  665. data/spec/dummy/public/uploads/repo_file/file/2679/textfile.txt +0 -1
  666. data/spec/dummy/public/uploads/repo_file/file/2680/textfile.txt +0 -1
  667. data/spec/dummy/public/uploads/repo_file/file/2681/textfile.txt +0 -1
  668. data/spec/dummy/public/uploads/repo_file/file/2682/textfile.txt +0 -1
  669. data/spec/dummy/public/uploads/repo_file/file/2683/textfile.txt +0 -1
  670. data/spec/dummy/public/uploads/repo_file/file/2684/textfile.txt +0 -1
  671. data/spec/dummy/public/uploads/repo_file/file/2685/textfile.txt +0 -1
  672. data/spec/dummy/public/uploads/repo_file/file/2686/textfile.txt +0 -1
  673. data/spec/dummy/public/uploads/repo_file/file/2687/textfile.txt +0 -1
  674. data/spec/dummy/public/uploads/repo_file/file/2688/textfile.txt +0 -1
  675. data/spec/dummy/public/uploads/repo_file/file/2697/textfile.txt +0 -1
  676. data/spec/dummy/public/uploads/repo_file/file/2699/textfile.txt +0 -1
  677. data/spec/dummy/public/uploads/repo_file/file/2703/textfile.txt +0 -1
  678. data/spec/dummy/public/uploads/repo_file/file/2706/textfile.txt +0 -1
  679. data/spec/dummy/public/uploads/repo_file/file/2708/textfile.txt +0 -1
  680. data/spec/dummy/public/uploads/repo_file/file/2709/textfile.txt +0 -1
  681. data/spec/dummy/public/uploads/repo_file/file/2711/textfile.txt +0 -1
  682. data/spec/dummy/public/uploads/repo_file/file/2717/textfile.txt +0 -1
  683. data/spec/dummy/public/uploads/repo_file/file/2719/textfile.txt +0 -1
  684. data/spec/dummy/public/uploads/repo_file/file/2721/textfile.txt +0 -1
  685. data/spec/dummy/public/uploads/repo_file/file/2723/textfile.txt +0 -1
  686. data/spec/dummy/public/uploads/repo_file/file/2725/textfile.txt +0 -1
  687. data/spec/dummy/public/uploads/repo_file/file/2727/textfile.txt +0 -1
  688. data/spec/dummy/public/uploads/repo_file/file/2729/textfile.txt +0 -1
  689. data/spec/dummy/public/uploads/repo_file/file/2731/textfile.txt +0 -1
  690. data/spec/dummy/public/uploads/repo_file/file/2733/textfile.txt +0 -1
  691. data/spec/dummy/public/uploads/repo_file/file/2736/textfile.txt +0 -1
  692. data/spec/dummy/public/uploads/repo_file/file/2737/textfile.txt +0 -1
  693. data/spec/dummy/public/uploads/repo_file/file/2739/textfile.txt +0 -1
  694. data/spec/dummy/public/uploads/repo_file/file/2745/textfile.txt +0 -1
  695. data/spec/dummy/public/uploads/repo_file/file/2749/textfile.txt +0 -1
  696. data/spec/dummy/public/uploads/repo_file/file/2750/textfile.txt +0 -1
  697. data/spec/dummy/public/uploads/repo_file/file/2751/textfile.txt +0 -1
  698. data/spec/dummy/public/uploads/repo_file/file/2752/textfile.txt +0 -1
  699. data/spec/dummy/public/uploads/repo_file/file/2753/textfile.txt +0 -1
  700. data/spec/dummy/public/uploads/repo_file/file/2754/textfile.txt +0 -1
  701. data/spec/dummy/public/uploads/repo_file/file/2755/textfile.txt +0 -1
  702. data/spec/dummy/public/uploads/repo_file/file/2756/textfile.txt +0 -1
  703. data/spec/dummy/public/uploads/repo_file/file/2757/textfile.txt +0 -1
  704. data/spec/dummy/public/uploads/repo_file/file/2758/textfile.txt +0 -1
  705. data/spec/dummy/public/uploads/repo_file/file/2767/textfile.txt +0 -1
  706. data/spec/dummy/public/uploads/repo_file/file/2769/textfile.txt +0 -1
  707. data/spec/dummy/public/uploads/repo_file/file/2773/textfile.txt +0 -1
  708. data/spec/dummy/public/uploads/repo_file/file/2776/textfile.txt +0 -1
  709. data/spec/dummy/public/uploads/repo_file/file/2778/textfile.txt +0 -1
  710. data/spec/dummy/public/uploads/repo_file/file/2779/textfile.txt +0 -1
  711. data/spec/dummy/public/uploads/repo_file/file/2781/textfile.txt +0 -1
  712. data/spec/dummy/public/uploads/repo_file/file/2787/textfile.txt +0 -1
  713. data/spec/dummy/public/uploads/repo_file/file/2789/textfile.txt +0 -1
  714. data/spec/dummy/public/uploads/repo_file/file/2791/textfile.txt +0 -1
  715. data/spec/dummy/public/uploads/repo_file/file/2793/textfile.txt +0 -1
  716. data/spec/dummy/public/uploads/repo_file/file/2795/textfile.txt +0 -1
  717. data/spec/dummy/public/uploads/repo_file/file/2797/textfile.txt +0 -1
  718. data/spec/dummy/public/uploads/repo_file/file/2799/textfile.txt +0 -1
  719. data/spec/dummy/public/uploads/repo_file/file/2801/textfile.txt +0 -1
  720. data/spec/dummy/public/uploads/repo_file/file/2803/textfile.txt +0 -1
  721. data/spec/dummy/public/uploads/repo_file/file/2806/textfile.txt +0 -1
  722. data/spec/dummy/public/uploads/repo_file/file/2807/textfile.txt +0 -1
  723. data/spec/dummy/public/uploads/repo_file/file/2809/textfile.txt +0 -1
  724. data/spec/dummy/public/uploads/repo_file/file/2815/textfile.txt +0 -1
  725. data/spec/dummy/public/uploads/repo_file/file/2819/textfile.txt +0 -1
  726. data/spec/dummy/public/uploads/repo_file/file/2820/textfile.txt +0 -1
  727. data/spec/dummy/public/uploads/repo_file/file/2821/textfile.txt +0 -1
  728. data/spec/dummy/public/uploads/repo_file/file/2822/textfile.txt +0 -1
  729. data/spec/dummy/public/uploads/repo_file/file/2823/textfile.txt +0 -1
  730. data/spec/dummy/public/uploads/repo_file/file/2824/textfile.txt +0 -1
  731. data/spec/dummy/public/uploads/repo_file/file/2825/textfile.txt +0 -1
  732. data/spec/dummy/public/uploads/repo_file/file/2826/textfile.txt +0 -1
  733. data/spec/dummy/public/uploads/repo_file/file/2827/textfile.txt +0 -1
  734. data/spec/dummy/public/uploads/repo_file/file/2828/textfile.txt +0 -1
  735. data/spec/dummy/public/uploads/repo_file/file/2837/textfile.txt +0 -1
  736. data/spec/dummy/public/uploads/repo_file/file/2839/textfile.txt +0 -1
  737. data/spec/dummy/public/uploads/repo_file/file/2843/textfile.txt +0 -1
  738. data/spec/dummy/public/uploads/repo_file/file/2846/textfile.txt +0 -1
  739. data/spec/dummy/public/uploads/repo_file/file/2848/textfile.txt +0 -1
  740. data/spec/dummy/public/uploads/repo_file/file/2849/textfile.txt +0 -1
  741. data/spec/dummy/public/uploads/repo_file/file/2851/textfile.txt +0 -1
  742. data/spec/dummy/public/uploads/repo_file/file/2857/textfile.txt +0 -1
  743. data/spec/dummy/public/uploads/repo_file/file/2859/textfile.txt +0 -1
  744. data/spec/dummy/public/uploads/repo_file/file/2861/textfile.txt +0 -1
  745. data/spec/dummy/public/uploads/repo_file/file/2863/textfile.txt +0 -1
  746. data/spec/dummy/public/uploads/repo_file/file/2865/textfile.txt +0 -1
  747. data/spec/dummy/public/uploads/repo_file/file/2867/textfile.txt +0 -1
  748. data/spec/dummy/public/uploads/repo_file/file/2869/textfile.txt +0 -1
  749. data/spec/dummy/public/uploads/repo_file/file/2871/textfile.txt +0 -1
  750. data/spec/dummy/public/uploads/repo_file/file/2873/textfile.txt +0 -1
  751. data/spec/dummy/public/uploads/repo_file/file/2876/textfile.txt +0 -1
  752. data/spec/dummy/public/uploads/repo_file/file/2877/textfile.txt +0 -1
  753. data/spec/dummy/public/uploads/repo_file/file/2879/textfile.txt +0 -1
  754. data/spec/dummy/public/uploads/repo_file/file/2885/textfile.txt +0 -1
  755. data/spec/dummy/public/uploads/repo_file/file/2889/textfile.txt +0 -1
  756. data/spec/dummy/public/uploads/repo_file/file/2890/textfile.txt +0 -1
  757. data/spec/dummy/public/uploads/repo_file/file/2891/textfile.txt +0 -1
  758. data/spec/dummy/public/uploads/repo_file/file/2892/textfile.txt +0 -1
  759. data/spec/dummy/public/uploads/repo_file/file/2893/textfile.txt +0 -1
  760. data/spec/dummy/public/uploads/repo_file/file/2894/textfile.txt +0 -1
  761. data/spec/dummy/public/uploads/repo_file/file/2895/textfile.txt +0 -1
  762. data/spec/dummy/public/uploads/repo_file/file/2896/textfile.txt +0 -1
  763. data/spec/dummy/public/uploads/repo_file/file/2897/textfile.txt +0 -1
  764. data/spec/dummy/public/uploads/repo_file/file/2898/textfile.txt +0 -1
  765. data/spec/dummy/public/uploads/repo_file/file/2907/textfile.txt +0 -1
  766. data/spec/dummy/public/uploads/repo_file/file/2909/textfile.txt +0 -1
  767. data/spec/dummy/public/uploads/repo_file/file/2913/textfile.txt +0 -1
  768. data/spec/dummy/public/uploads/repo_file/file/2916/textfile.txt +0 -1
  769. data/spec/dummy/public/uploads/repo_file/file/2918/textfile.txt +0 -1
  770. data/spec/dummy/public/uploads/repo_file/file/2919/textfile.txt +0 -1
  771. data/spec/dummy/public/uploads/repo_file/file/2921/textfile.txt +0 -1
  772. data/spec/dummy/public/uploads/repo_file/file/2927/textfile.txt +0 -1
  773. data/spec/dummy/public/uploads/repo_file/file/2929/textfile.txt +0 -1
  774. data/spec/dummy/public/uploads/repo_file/file/2931/textfile.txt +0 -1
  775. data/spec/dummy/public/uploads/repo_file/file/2933/textfile.txt +0 -1
  776. data/spec/dummy/public/uploads/repo_file/file/2935/textfile.txt +0 -1
  777. data/spec/dummy/public/uploads/repo_file/file/2937/textfile.txt +0 -1
  778. data/spec/dummy/public/uploads/repo_file/file/2939/textfile.txt +0 -1
  779. data/spec/dummy/public/uploads/repo_file/file/2941/textfile.txt +0 -1
  780. data/spec/dummy/public/uploads/repo_file/file/2943/textfile.txt +0 -1
  781. data/spec/dummy/public/uploads/repo_file/file/2946/textfile.txt +0 -1
  782. data/spec/dummy/public/uploads/repo_file/file/2947/textfile.txt +0 -1
  783. data/spec/dummy/public/uploads/repo_file/file/2949/textfile.txt +0 -1
  784. data/spec/dummy/public/uploads/repo_file/file/2955/textfile.txt +0 -1
  785. data/spec/dummy/public/uploads/repo_file/file/2959/textfile.txt +0 -1
  786. data/spec/dummy/public/uploads/repo_file/file/2960/textfile.txt +0 -1
  787. data/spec/dummy/public/uploads/repo_file/file/2961/textfile.txt +0 -1
  788. data/spec/dummy/public/uploads/repo_file/file/2962/textfile.txt +0 -1
  789. data/spec/dummy/public/uploads/repo_file/file/2963/textfile.txt +0 -1
  790. data/spec/dummy/public/uploads/repo_file/file/2964/textfile.txt +0 -1
  791. data/spec/dummy/public/uploads/repo_file/file/2965/textfile.txt +0 -1
  792. data/spec/dummy/public/uploads/repo_file/file/2966/textfile.txt +0 -1
  793. data/spec/dummy/public/uploads/repo_file/file/2967/textfile.txt +0 -1
  794. data/spec/dummy/public/uploads/repo_file/file/2968/textfile.txt +0 -1
  795. data/spec/dummy/public/uploads/repo_file/file/2977/textfile.txt +0 -1
  796. data/spec/dummy/public/uploads/repo_file/file/2979/textfile.txt +0 -1
  797. data/spec/dummy/public/uploads/repo_file/file/2983/textfile.txt +0 -1
  798. data/spec/dummy/public/uploads/repo_file/file/2986/textfile.txt +0 -1
  799. data/spec/dummy/public/uploads/repo_file/file/2988/textfile.txt +0 -1
  800. data/spec/dummy/public/uploads/repo_file/file/2989/textfile.txt +0 -1
  801. data/spec/dummy/public/uploads/repo_file/file/2991/textfile.txt +0 -1
  802. data/spec/dummy/public/uploads/repo_file/file/2997/textfile.txt +0 -1
  803. data/spec/dummy/public/uploads/repo_file/file/2999/textfile.txt +0 -1
  804. data/spec/dummy/public/uploads/repo_file/file/3001/textfile.txt +0 -1
  805. data/spec/dummy/public/uploads/repo_file/file/3003/textfile.txt +0 -1
  806. data/spec/dummy/public/uploads/repo_file/file/3005/textfile.txt +0 -1
  807. data/spec/dummy/public/uploads/repo_file/file/3007/textfile.txt +0 -1
  808. data/spec/dummy/public/uploads/repo_file/file/3009/textfile.txt +0 -1
  809. data/spec/dummy/public/uploads/repo_file/file/3011/textfile.txt +0 -1
  810. data/spec/dummy/public/uploads/repo_file/file/3013/textfile.txt +0 -1
  811. data/spec/dummy/public/uploads/repo_file/file/3016/textfile.txt +0 -1
  812. data/spec/dummy/public/uploads/repo_file/file/3017/textfile.txt +0 -1
  813. data/spec/dummy/public/uploads/repo_file/file/3019/textfile.txt +0 -1
  814. data/spec/dummy/public/uploads/repo_file/file/3025/textfile.txt +0 -1
  815. data/spec/dummy/public/uploads/repo_file/file/3029/textfile.txt +0 -1
  816. data/spec/dummy/public/uploads/repo_file/file/3030/textfile.txt +0 -1
  817. data/spec/dummy/public/uploads/repo_file/file/3031/textfile.txt +0 -1
  818. data/spec/dummy/public/uploads/repo_file/file/3032/textfile.txt +0 -1
  819. data/spec/dummy/public/uploads/repo_file/file/3033/textfile.txt +0 -1
  820. data/spec/dummy/public/uploads/repo_file/file/3034/textfile.txt +0 -1
  821. data/spec/dummy/public/uploads/repo_file/file/3035/textfile.txt +0 -1
  822. data/spec/dummy/public/uploads/repo_file/file/3036/textfile.txt +0 -1
  823. data/spec/dummy/public/uploads/repo_file/file/3037/textfile.txt +0 -1
  824. data/spec/dummy/public/uploads/repo_file/file/3038/textfile.txt +0 -1
  825. data/spec/dummy/public/uploads/repo_file/file/3047/textfile.txt +0 -1
  826. data/spec/dummy/public/uploads/repo_file/file/3049/textfile.txt +0 -1
  827. data/spec/dummy/public/uploads/repo_file/file/3053/textfile.txt +0 -1
  828. data/spec/dummy/public/uploads/repo_file/file/3056/textfile.txt +0 -1
  829. data/spec/dummy/public/uploads/repo_file/file/3058/textfile.txt +0 -1
  830. data/spec/dummy/public/uploads/repo_file/file/3059/textfile.txt +0 -1
  831. data/spec/dummy/public/uploads/repo_file/file/3061/textfile.txt +0 -1
  832. data/spec/dummy/public/uploads/repo_file/file/3067/textfile.txt +0 -1
  833. data/spec/dummy/public/uploads/repo_file/file/3069/textfile.txt +0 -1
  834. data/spec/dummy/public/uploads/repo_file/file/3071/textfile.txt +0 -1
  835. data/spec/dummy/public/uploads/repo_file/file/3073/textfile.txt +0 -1
  836. data/spec/dummy/public/uploads/repo_file/file/3075/textfile.txt +0 -1
  837. data/spec/dummy/public/uploads/repo_file/file/3077/textfile.txt +0 -1
  838. data/spec/dummy/public/uploads/repo_file/file/3079/textfile.txt +0 -1
  839. data/spec/dummy/public/uploads/repo_file/file/3081/textfile.txt +0 -1
  840. data/spec/dummy/public/uploads/repo_file/file/3083/textfile.txt +0 -1
  841. data/spec/dummy/public/uploads/repo_file/file/3086/textfile.txt +0 -1
  842. data/spec/dummy/public/uploads/repo_file/file/3087/textfile.txt +0 -1
  843. data/spec/dummy/public/uploads/repo_file/file/3089/textfile.txt +0 -1
  844. data/spec/dummy/public/uploads/repo_file/file/3095/textfile.txt +0 -1
  845. data/spec/dummy/public/uploads/repo_file/file/3099/textfile.txt +0 -1
  846. data/spec/dummy/public/uploads/repo_file/file/3100/textfile.txt +0 -1
  847. data/spec/dummy/public/uploads/repo_file/file/3101/textfile.txt +0 -1
  848. data/spec/dummy/public/uploads/repo_file/file/3102/textfile.txt +0 -1
  849. data/spec/dummy/public/uploads/repo_file/file/3103/textfile.txt +0 -1
  850. data/spec/dummy/public/uploads/repo_file/file/3104/textfile.txt +0 -1
  851. data/spec/dummy/public/uploads/repo_file/file/3105/textfile.txt +0 -1
  852. data/spec/dummy/public/uploads/repo_file/file/3106/textfile.txt +0 -1
  853. data/spec/dummy/public/uploads/repo_file/file/3107/textfile.txt +0 -1
  854. data/spec/dummy/public/uploads/repo_file/file/3108/textfile.txt +0 -1
  855. data/spec/dummy/public/uploads/repo_file/file/3117/textfile.txt +0 -1
  856. data/spec/dummy/public/uploads/repo_file/file/3119/textfile.txt +0 -1
  857. data/spec/dummy/public/uploads/repo_file/file/3123/textfile.txt +0 -1
  858. data/spec/dummy/public/uploads/repo_file/file/3126/textfile.txt +0 -1
  859. data/spec/dummy/public/uploads/repo_file/file/3128/textfile.txt +0 -1
  860. data/spec/dummy/public/uploads/repo_file/file/3129/textfile.txt +0 -1
  861. data/spec/dummy/public/uploads/repo_file/file/3131/textfile.txt +0 -1
  862. data/spec/dummy/public/uploads/repo_file/file/3137/textfile.txt +0 -1
  863. data/spec/dummy/public/uploads/repo_file/file/3139/textfile.txt +0 -1
  864. data/spec/dummy/public/uploads/repo_file/file/3141/textfile.txt +0 -1
  865. data/spec/dummy/public/uploads/repo_file/file/3143/textfile.txt +0 -1
  866. data/spec/dummy/public/uploads/repo_file/file/3145/textfile.txt +0 -1
  867. data/spec/dummy/public/uploads/repo_file/file/3147/textfile.txt +0 -1
  868. data/spec/dummy/public/uploads/repo_file/file/3149/textfile.txt +0 -1
  869. data/spec/dummy/public/uploads/repo_file/file/3151/textfile.txt +0 -1
  870. data/spec/dummy/public/uploads/repo_file/file/3153/textfile.txt +0 -1
  871. data/spec/dummy/public/uploads/repo_file/file/3156/textfile.txt +0 -1
  872. data/spec/dummy/public/uploads/repo_file/file/3157/textfile.txt +0 -1
  873. data/spec/dummy/public/uploads/repo_file/file/3159/textfile.txt +0 -1
  874. data/spec/dummy/public/uploads/repo_file/file/3165/textfile.txt +0 -1
  875. data/spec/dummy/public/uploads/repo_file/file/3169/textfile.txt +0 -1
  876. data/spec/dummy/public/uploads/repo_file/file/3170/textfile.txt +0 -1
  877. data/spec/dummy/public/uploads/repo_file/file/3171/textfile.txt +0 -1
  878. data/spec/dummy/public/uploads/repo_file/file/3172/textfile.txt +0 -1
  879. data/spec/dummy/public/uploads/repo_file/file/3173/textfile.txt +0 -1
  880. data/spec/dummy/public/uploads/repo_file/file/3174/textfile.txt +0 -1
  881. data/spec/dummy/public/uploads/repo_file/file/3175/textfile.txt +0 -1
  882. data/spec/dummy/public/uploads/repo_file/file/3176/textfile.txt +0 -1
  883. data/spec/dummy/public/uploads/repo_file/file/3177/textfile.txt +0 -1
  884. data/spec/dummy/public/uploads/repo_file/file/3178/textfile.txt +0 -1
  885. data/spec/dummy/public/uploads/repo_file/file/3187/textfile.txt +0 -1
  886. data/spec/dummy/public/uploads/repo_file/file/3189/textfile.txt +0 -1
  887. data/spec/dummy/public/uploads/repo_file/file/3193/textfile.txt +0 -1
  888. data/spec/dummy/public/uploads/repo_file/file/3196/textfile.txt +0 -1
  889. data/spec/dummy/public/uploads/repo_file/file/3198/textfile.txt +0 -1
  890. data/spec/dummy/public/uploads/repo_file/file/3199/textfile.txt +0 -1
  891. data/spec/dummy/public/uploads/repo_file/file/3201/textfile.txt +0 -1
  892. data/spec/dummy/public/uploads/repo_file/file/3207/textfile.txt +0 -1
  893. data/spec/dummy/public/uploads/repo_file/file/3209/textfile.txt +0 -1
  894. data/spec/dummy/public/uploads/repo_file/file/3211/textfile.txt +0 -1
  895. data/spec/dummy/public/uploads/repo_file/file/3213/textfile.txt +0 -1
  896. data/spec/dummy/public/uploads/repo_file/file/3215/textfile.txt +0 -1
  897. data/spec/dummy/public/uploads/repo_file/file/3217/textfile.txt +0 -1
  898. data/spec/dummy/public/uploads/repo_file/file/3219/textfile.txt +0 -1
  899. data/spec/dummy/public/uploads/repo_file/file/3221/textfile.txt +0 -1
  900. data/spec/dummy/public/uploads/repo_file/file/3223/textfile.txt +0 -1
  901. data/spec/dummy/public/uploads/repo_file/file/3226/textfile.txt +0 -1
  902. data/spec/dummy/public/uploads/repo_file/file/3227/textfile.txt +0 -1
  903. data/spec/dummy/public/uploads/repo_file/file/3229/textfile.txt +0 -1
  904. data/spec/dummy/public/uploads/repo_file/file/3235/textfile.txt +0 -1
  905. data/spec/dummy/public/uploads/repo_file/file/3239/textfile.txt +0 -1
  906. data/spec/dummy/public/uploads/repo_file/file/3240/textfile.txt +0 -1
  907. data/spec/dummy/public/uploads/repo_file/file/3241/textfile.txt +0 -1
  908. data/spec/dummy/public/uploads/repo_file/file/3242/textfile.txt +0 -1
  909. data/spec/dummy/public/uploads/repo_file/file/3243/textfile.txt +0 -1
  910. data/spec/dummy/public/uploads/repo_file/file/3244/textfile.txt +0 -1
  911. data/spec/dummy/public/uploads/repo_file/file/3245/textfile.txt +0 -1
  912. data/spec/dummy/public/uploads/repo_file/file/3246/textfile.txt +0 -1
  913. data/spec/dummy/public/uploads/repo_file/file/3247/textfile.txt +0 -1
  914. data/spec/dummy/public/uploads/repo_file/file/3248/textfile.txt +0 -1
  915. data/spec/dummy/public/uploads/repo_file/file/3257/textfile.txt +0 -1
  916. data/spec/dummy/public/uploads/repo_file/file/3259/textfile.txt +0 -1
  917. data/spec/dummy/public/uploads/repo_file/file/3263/textfile.txt +0 -1
  918. data/spec/dummy/public/uploads/repo_file/file/3266/textfile.txt +0 -1
  919. data/spec/dummy/public/uploads/repo_file/file/3268/textfile.txt +0 -1
  920. data/spec/dummy/public/uploads/repo_file/file/3269/textfile.txt +0 -1
  921. data/spec/dummy/public/uploads/repo_file/file/3271/textfile.txt +0 -1
  922. data/spec/dummy/public/uploads/repo_file/file/3277/textfile.txt +0 -1
  923. data/spec/dummy/public/uploads/repo_file/file/3279/textfile.txt +0 -1
  924. data/spec/dummy/public/uploads/repo_file/file/3281/textfile.txt +0 -1
  925. data/spec/dummy/public/uploads/repo_file/file/3283/textfile.txt +0 -1
  926. data/spec/dummy/public/uploads/repo_file/file/3285/textfile.txt +0 -1
  927. data/spec/dummy/public/uploads/repo_file/file/3287/textfile.txt +0 -1
  928. data/spec/dummy/public/uploads/repo_file/file/3289/textfile.txt +0 -1
  929. data/spec/dummy/public/uploads/repo_file/file/3291/textfile.txt +0 -1
  930. data/spec/dummy/public/uploads/repo_file/file/3293/textfile.txt +0 -1
  931. data/spec/dummy/public/uploads/repo_file/file/3296/textfile.txt +0 -1
  932. data/spec/dummy/public/uploads/repo_file/file/3297/textfile.txt +0 -1
  933. data/spec/dummy/public/uploads/repo_file/file/3299/textfile.txt +0 -1
  934. data/spec/dummy/public/uploads/repo_file/file/3305/textfile.txt +0 -1
  935. data/spec/dummy/public/uploads/repo_file/file/3309/textfile.txt +0 -1
  936. data/spec/dummy/public/uploads/repo_file/file/3310/textfile.txt +0 -1
  937. data/spec/dummy/public/uploads/repo_file/file/3311/textfile.txt +0 -1
  938. data/spec/dummy/public/uploads/repo_file/file/3312/textfile.txt +0 -1
  939. data/spec/dummy/public/uploads/repo_file/file/3313/textfile.txt +0 -1
  940. data/spec/dummy/public/uploads/repo_file/file/3314/textfile.txt +0 -1
  941. data/spec/dummy/public/uploads/repo_file/file/3315/textfile.txt +0 -1
  942. data/spec/dummy/public/uploads/repo_file/file/3316/textfile.txt +0 -1
  943. data/spec/dummy/public/uploads/repo_file/file/3317/textfile.txt +0 -1
  944. data/spec/dummy/public/uploads/repo_file/file/3318/textfile.txt +0 -1
  945. data/spec/dummy/public/uploads/repo_file/file/3327/textfile.txt +0 -1
  946. data/spec/dummy/public/uploads/repo_file/file/3329/textfile.txt +0 -1
  947. data/spec/dummy/public/uploads/repo_file/file/3333/textfile.txt +0 -1
  948. data/spec/dummy/public/uploads/repo_file/file/3336/textfile.txt +0 -1
  949. data/spec/dummy/public/uploads/repo_file/file/3338/textfile.txt +0 -1
  950. data/spec/dummy/public/uploads/repo_file/file/3339/textfile.txt +0 -1
  951. data/spec/dummy/public/uploads/repo_file/file/3341/textfile.txt +0 -1
  952. data/spec/dummy/public/uploads/repo_file/file/3347/textfile.txt +0 -1
  953. data/spec/dummy/public/uploads/repo_file/file/3349/textfile.txt +0 -1
  954. data/spec/dummy/public/uploads/repo_file/file/3351/textfile.txt +0 -1
  955. data/spec/dummy/public/uploads/repo_file/file/3353/textfile.txt +0 -1
  956. data/spec/dummy/public/uploads/repo_file/file/3355/textfile.txt +0 -1
  957. data/spec/dummy/public/uploads/repo_file/file/3357/textfile.txt +0 -1
  958. data/spec/dummy/public/uploads/repo_file/file/3359/textfile.txt +0 -1
  959. data/spec/dummy/public/uploads/repo_file/file/3361/textfile.txt +0 -1
  960. data/spec/dummy/public/uploads/repo_file/file/3363/textfile.txt +0 -1
  961. data/spec/dummy/public/uploads/repo_file/file/3366/textfile.txt +0 -1
  962. data/spec/dummy/public/uploads/repo_file/file/3367/textfile.txt +0 -1
  963. data/spec/dummy/public/uploads/repo_file/file/3369/textfile.txt +0 -1
  964. data/spec/dummy/public/uploads/repo_file/file/3375/textfile.txt +0 -1
  965. data/spec/dummy/public/uploads/repo_file/file/3379/textfile.txt +0 -1
  966. data/spec/dummy/public/uploads/repo_file/file/3380/textfile.txt +0 -1
  967. data/spec/dummy/public/uploads/repo_file/file/3381/textfile.txt +0 -1
  968. data/spec/dummy/public/uploads/repo_file/file/3382/textfile.txt +0 -1
  969. data/spec/dummy/public/uploads/repo_file/file/3383/textfile.txt +0 -1
  970. data/spec/dummy/public/uploads/repo_file/file/3384/textfile.txt +0 -1
  971. data/spec/dummy/public/uploads/repo_file/file/3385/textfile.txt +0 -1
  972. data/spec/dummy/public/uploads/repo_file/file/3386/textfile.txt +0 -1
  973. data/spec/dummy/public/uploads/repo_file/file/3387/textfile.txt +0 -1
  974. data/spec/dummy/public/uploads/repo_file/file/3388/textfile.txt +0 -1
  975. data/spec/dummy/public/uploads/repo_file/file/3397/textfile.txt +0 -1
  976. data/spec/dummy/public/uploads/repo_file/file/3399/textfile.txt +0 -1
  977. data/spec/dummy/public/uploads/repo_file/file/3403/textfile.txt +0 -1
  978. data/spec/dummy/public/uploads/repo_file/file/3406/textfile.txt +0 -1
  979. data/spec/dummy/public/uploads/repo_file/file/3408/textfile.txt +0 -1
  980. data/spec/dummy/public/uploads/repo_file/file/3409/textfile.txt +0 -1
  981. data/spec/dummy/public/uploads/repo_file/file/3411/textfile.txt +0 -1
  982. data/spec/dummy/public/uploads/repo_file/file/3417/textfile.txt +0 -1
  983. data/spec/dummy/public/uploads/repo_file/file/3419/textfile.txt +0 -1
  984. data/spec/dummy/public/uploads/repo_file/file/3421/textfile.txt +0 -1
  985. data/spec/dummy/public/uploads/repo_file/file/3423/textfile.txt +0 -1
  986. data/spec/dummy/public/uploads/repo_file/file/3425/textfile.txt +0 -1
  987. data/spec/dummy/public/uploads/repo_file/file/3427/textfile.txt +0 -1
  988. data/spec/dummy/public/uploads/repo_file/file/3429/textfile.txt +0 -1
  989. data/spec/dummy/public/uploads/repo_file/file/3431/textfile.txt +0 -1
  990. data/spec/dummy/public/uploads/repo_file/file/3433/textfile.txt +0 -1
  991. data/spec/dummy/public/uploads/repo_file/file/3436/textfile.txt +0 -1
  992. data/spec/dummy/public/uploads/repo_file/file/3437/textfile.txt +0 -1
  993. data/spec/dummy/public/uploads/repo_file/file/3439/textfile.txt +0 -1
  994. data/spec/dummy/public/uploads/repo_file/file/3445/textfile.txt +0 -1
  995. data/spec/dummy/public/uploads/repo_file/file/3449/textfile.txt +0 -1
  996. data/spec/dummy/public/uploads/repo_file/file/3450/textfile.txt +0 -1
  997. data/spec/dummy/public/uploads/repo_file/file/3451/textfile.txt +0 -1
  998. data/spec/dummy/public/uploads/repo_file/file/3452/textfile.txt +0 -1
  999. data/spec/dummy/public/uploads/repo_file/file/3453/textfile.txt +0 -1
  1000. data/spec/dummy/public/uploads/repo_file/file/3454/textfile.txt +0 -1
  1001. data/spec/dummy/public/uploads/repo_file/file/3455/textfile.txt +0 -1
  1002. data/spec/dummy/public/uploads/repo_file/file/3456/textfile.txt +0 -1
  1003. data/spec/dummy/public/uploads/repo_file/file/3457/textfile.txt +0 -1
  1004. data/spec/dummy/public/uploads/repo_file/file/3458/textfile.txt +0 -1
  1005. data/spec/dummy/public/uploads/repo_file/file/3467/textfile.txt +0 -1
  1006. data/spec/dummy/public/uploads/repo_file/file/3469/textfile.txt +0 -1
  1007. data/spec/dummy/public/uploads/repo_file/file/3473/textfile.txt +0 -1
  1008. data/spec/dummy/public/uploads/repo_file/file/3476/textfile.txt +0 -1
  1009. data/spec/dummy/public/uploads/repo_file/file/3478/textfile.txt +0 -1
  1010. data/spec/dummy/public/uploads/repo_file/file/3479/textfile.txt +0 -1
  1011. data/spec/dummy/public/uploads/repo_file/file/3481/textfile.txt +0 -1
  1012. data/spec/dummy/public/uploads/repo_file/file/3487/textfile.txt +0 -1
  1013. data/spec/dummy/public/uploads/repo_file/file/3489/textfile.txt +0 -1
  1014. data/spec/dummy/public/uploads/repo_file/file/3491/textfile.txt +0 -1
  1015. data/spec/dummy/public/uploads/repo_file/file/3493/textfile.txt +0 -1
  1016. data/spec/dummy/public/uploads/repo_file/file/3495/textfile.txt +0 -1
  1017. data/spec/dummy/public/uploads/repo_file/file/3497/textfile.txt +0 -1
  1018. data/spec/dummy/public/uploads/repo_file/file/3499/textfile.txt +0 -1
  1019. data/spec/dummy/public/uploads/repo_file/file/3501/textfile.txt +0 -1
  1020. data/spec/dummy/public/uploads/repo_file/file/3503/textfile.txt +0 -1
  1021. data/spec/dummy/public/uploads/repo_file/file/3506/textfile.txt +0 -1
  1022. data/spec/dummy/public/uploads/repo_file/file/3507/textfile.txt +0 -1
  1023. data/spec/dummy/public/uploads/repo_file/file/3509/textfile.txt +0 -1
  1024. data/spec/dummy/public/uploads/repo_file/file/3515/textfile.txt +0 -1
  1025. data/spec/dummy/public/uploads/repo_file/file/3518/textfile.txt +0 -1
  1026. data/spec/dummy/public/uploads/repo_file/file/3519/textfile.txt +0 -1
  1027. data/spec/dummy/public/uploads/repo_file/file/3520/textfile.txt +0 -1
  1028. data/spec/dummy/public/uploads/repo_file/file/3521/textfile.txt +0 -1
  1029. data/spec/dummy/public/uploads/repo_file/file/3522/textfile.txt +0 -1
  1030. data/spec/dummy/public/uploads/repo_file/file/3523/textfile.txt +0 -1
  1031. data/spec/dummy/public/uploads/repo_file/file/3524/textfile.txt +0 -1
  1032. data/spec/dummy/public/uploads/repo_file/file/3525/textfile.txt +0 -1
  1033. data/spec/dummy/public/uploads/repo_file/file/3526/textfile.txt +0 -1
  1034. data/spec/dummy/public/uploads/repo_file/file/3527/textfile.txt +0 -1
  1035. data/spec/dummy/public/uploads/repo_file/file/3536/textfile.txt +0 -1
  1036. data/spec/dummy/public/uploads/repo_file/file/3538/textfile.txt +0 -1
  1037. data/spec/dummy/public/uploads/repo_file/file/3542/textfile.txt +0 -1
  1038. data/spec/dummy/public/uploads/repo_file/file/3545/textfile.txt +0 -1
  1039. data/spec/dummy/public/uploads/repo_file/file/3547/textfile.txt +0 -1
  1040. data/spec/dummy/public/uploads/repo_file/file/3548/textfile.txt +0 -1
  1041. data/spec/dummy/public/uploads/repo_file/file/3550/textfile.txt +0 -1
  1042. data/spec/dummy/public/uploads/repo_file/file/3556/textfile.txt +0 -1
  1043. data/spec/dummy/public/uploads/repo_file/file/3558/textfile.txt +0 -1
  1044. data/spec/dummy/public/uploads/repo_file/file/3560/textfile.txt +0 -1
  1045. data/spec/dummy/public/uploads/repo_file/file/3562/textfile.txt +0 -1
  1046. data/spec/dummy/public/uploads/repo_file/file/3564/textfile.txt +0 -1
  1047. data/spec/dummy/public/uploads/repo_file/file/3566/textfile.txt +0 -1
  1048. data/spec/dummy/public/uploads/repo_file/file/3568/textfile.txt +0 -1
  1049. data/spec/dummy/public/uploads/repo_file/file/3570/textfile.txt +0 -1
  1050. data/spec/dummy/public/uploads/repo_file/file/3572/textfile.txt +0 -1
  1051. data/spec/dummy/public/uploads/repo_file/file/3575/textfile.txt +0 -1
  1052. data/spec/dummy/public/uploads/repo_file/file/3576/textfile.txt +0 -1
  1053. data/spec/dummy/public/uploads/repo_file/file/3578/textfile.txt +0 -1
  1054. data/spec/dummy/public/uploads/repo_file/file/3584/textfile.txt +0 -1
  1055. data/spec/dummy/public/uploads/repo_file/file/3587/textfile.txt +0 -1
  1056. data/spec/dummy/public/uploads/repo_file/file/3588/textfile.txt +0 -1
  1057. data/spec/dummy/public/uploads/repo_file/file/3589/textfile.txt +0 -1
  1058. data/spec/dummy/public/uploads/repo_file/file/3590/textfile.txt +0 -1
  1059. data/spec/dummy/public/uploads/repo_file/file/3591/textfile.txt +0 -1
  1060. data/spec/dummy/public/uploads/repo_file/file/3592/textfile.txt +0 -1
  1061. data/spec/dummy/public/uploads/repo_file/file/3593/textfile.txt +0 -1
  1062. data/spec/dummy/public/uploads/repo_file/file/3594/textfile.txt +0 -1
  1063. data/spec/dummy/public/uploads/repo_file/file/3595/textfile.txt +0 -1
  1064. data/spec/dummy/public/uploads/repo_file/file/3596/textfile.txt +0 -1
  1065. data/spec/dummy/public/uploads/repo_file/file/3605/textfile.txt +0 -1
  1066. data/spec/dummy/public/uploads/repo_file/file/3607/textfile.txt +0 -1
  1067. data/spec/dummy/public/uploads/repo_file/file/3611/textfile.txt +0 -1
  1068. data/spec/dummy/public/uploads/repo_file/file/3614/textfile.txt +0 -1
  1069. data/spec/dummy/public/uploads/repo_file/file/3616/textfile.txt +0 -1
  1070. data/spec/dummy/public/uploads/repo_file/file/3617/textfile.txt +0 -1
  1071. data/spec/dummy/public/uploads/repo_file/file/3619/textfile.txt +0 -1
  1072. data/spec/dummy/public/uploads/repo_file/file/3625/textfile.txt +0 -1
  1073. data/spec/dummy/public/uploads/repo_file/file/3627/textfile.txt +0 -1
  1074. data/spec/dummy/public/uploads/repo_file/file/3629/textfile.txt +0 -1
  1075. data/spec/dummy/public/uploads/repo_file/file/3631/textfile.txt +0 -1
  1076. data/spec/dummy/public/uploads/repo_file/file/3633/textfile.txt +0 -1
  1077. data/spec/dummy/public/uploads/repo_file/file/3635/textfile.txt +0 -1
  1078. data/spec/dummy/public/uploads/repo_file/file/3637/textfile.txt +0 -1
  1079. data/spec/dummy/public/uploads/repo_file/file/3639/textfile.txt +0 -1
  1080. data/spec/dummy/public/uploads/repo_file/file/3641/textfile.txt +0 -1
  1081. data/spec/dummy/public/uploads/repo_file/file/3644/textfile.txt +0 -1
  1082. data/spec/dummy/public/uploads/repo_file/file/3645/textfile.txt +0 -1
  1083. data/spec/dummy/public/uploads/repo_file/file/3647/textfile.txt +0 -1
  1084. data/spec/dummy/public/uploads/repo_file/file/3653/textfile.txt +0 -1
  1085. data/spec/dummy/public/uploads/repo_file/file/3656/textfile.txt +0 -1
  1086. data/spec/dummy/public/uploads/repo_file/file/3657/textfile.txt +0 -1
  1087. data/spec/dummy/public/uploads/repo_file/file/3658/textfile.txt +0 -1
  1088. data/spec/dummy/public/uploads/repo_file/file/3659/textfile.txt +0 -1
  1089. data/spec/dummy/public/uploads/repo_file/file/3660/textfile.txt +0 -1
  1090. data/spec/dummy/public/uploads/repo_file/file/3661/textfile.txt +0 -1
  1091. data/spec/dummy/public/uploads/repo_file/file/3662/textfile.txt +0 -1
  1092. data/spec/dummy/public/uploads/repo_file/file/3663/textfile.txt +0 -1
  1093. data/spec/dummy/public/uploads/repo_file/file/3664/textfile.txt +0 -1
  1094. data/spec/dummy/public/uploads/repo_file/file/3665/textfile.txt +0 -1
  1095. data/spec/dummy/public/uploads/repo_file/file/3674/textfile.txt +0 -1
  1096. data/spec/dummy/public/uploads/repo_file/file/3676/textfile.txt +0 -1
  1097. data/spec/dummy/public/uploads/repo_file/file/3680/textfile.txt +0 -1
  1098. data/spec/dummy/public/uploads/repo_file/file/3683/textfile.txt +0 -1
  1099. data/spec/dummy/public/uploads/repo_file/file/3685/textfile.txt +0 -1
  1100. data/spec/dummy/public/uploads/repo_file/file/3686/textfile.txt +0 -1
  1101. data/spec/dummy/public/uploads/repo_file/file/3688/textfile.txt +0 -1
  1102. data/spec/dummy/public/uploads/repo_file/file/3694/textfile.txt +0 -1
  1103. data/spec/dummy/public/uploads/repo_file/file/3696/textfile.txt +0 -1
  1104. data/spec/dummy/public/uploads/repo_file/file/3698/textfile.txt +0 -1
  1105. data/spec/dummy/public/uploads/repo_file/file/3700/textfile.txt +0 -1
  1106. data/spec/dummy/public/uploads/repo_file/file/3702/textfile.txt +0 -1
  1107. data/spec/dummy/public/uploads/repo_file/file/3704/textfile.txt +0 -1
  1108. data/spec/dummy/public/uploads/repo_file/file/3706/textfile.txt +0 -1
  1109. data/spec/dummy/public/uploads/repo_file/file/3708/textfile.txt +0 -1
  1110. data/spec/dummy/public/uploads/repo_file/file/3710/textfile.txt +0 -1
  1111. data/spec/dummy/public/uploads/repo_file/file/3713/textfile.txt +0 -1
  1112. data/spec/dummy/public/uploads/repo_file/file/3714/textfile.txt +0 -1
  1113. data/spec/dummy/public/uploads/repo_file/file/3716/textfile.txt +0 -1
  1114. data/spec/dummy/public/uploads/repo_file/file/3722/textfile.txt +0 -1
  1115. data/spec/dummy/public/uploads/repo_file/file/3725/textfile.txt +0 -1
  1116. data/spec/dummy/public/uploads/repo_file/file/3726/textfile.txt +0 -1
  1117. data/spec/dummy/public/uploads/repo_file/file/3727/textfile.txt +0 -1
  1118. data/spec/dummy/public/uploads/repo_file/file/3728/textfile.txt +0 -1
  1119. data/spec/dummy/public/uploads/repo_file/file/3729/textfile.txt +0 -1
  1120. data/spec/dummy/public/uploads/repo_file/file/3730/textfile.txt +0 -1
  1121. data/spec/dummy/public/uploads/repo_file/file/3731/textfile.txt +0 -1
  1122. data/spec/dummy/public/uploads/repo_file/file/3732/textfile.txt +0 -1
  1123. data/spec/dummy/public/uploads/repo_file/file/3733/textfile.txt +0 -1
  1124. data/spec/dummy/public/uploads/repo_file/file/3734/textfile.txt +0 -1
  1125. data/spec/dummy/public/uploads/repo_file/file/3743/textfile.txt +0 -1
  1126. data/spec/dummy/public/uploads/repo_file/file/3745/textfile.txt +0 -1
  1127. data/spec/dummy/public/uploads/repo_file/file/3749/textfile.txt +0 -1
  1128. data/spec/dummy/public/uploads/repo_file/file/3752/textfile.txt +0 -1
  1129. data/spec/dummy/public/uploads/repo_file/file/3754/textfile.txt +0 -1
  1130. data/spec/dummy/public/uploads/repo_file/file/3755/textfile.txt +0 -1
  1131. data/spec/dummy/public/uploads/repo_file/file/3757/textfile.txt +0 -1
  1132. data/spec/dummy/public/uploads/repo_file/file/3763/textfile.txt +0 -1
  1133. data/spec/dummy/public/uploads/repo_file/file/3765/textfile.txt +0 -1
  1134. data/spec/dummy/public/uploads/repo_file/file/3767/textfile.txt +0 -1
  1135. data/spec/dummy/public/uploads/repo_file/file/3769/textfile.txt +0 -1
  1136. data/spec/dummy/public/uploads/repo_file/file/3771/textfile.txt +0 -1
  1137. data/spec/dummy/public/uploads/repo_file/file/3773/textfile.txt +0 -1
  1138. data/spec/dummy/public/uploads/repo_file/file/3775/textfile.txt +0 -1
  1139. data/spec/dummy/public/uploads/repo_file/file/3777/textfile.txt +0 -1
  1140. data/spec/dummy/public/uploads/repo_file/file/3779/textfile.txt +0 -1
  1141. data/spec/dummy/public/uploads/repo_file/file/3782/textfile.txt +0 -1
  1142. data/spec/dummy/public/uploads/repo_file/file/3783/textfile.txt +0 -1
  1143. data/spec/dummy/public/uploads/repo_file/file/3785/textfile.txt +0 -1
  1144. data/spec/dummy/public/uploads/repo_file/file/3791/textfile.txt +0 -1
  1145. data/spec/dummy/public/uploads/repo_file/file/3795/textfile.txt +0 -1
  1146. data/spec/dummy/public/uploads/repo_file/file/3796/textfile.txt +0 -1
  1147. data/spec/dummy/public/uploads/repo_file/file/3797/textfile.txt +0 -1
  1148. data/spec/dummy/public/uploads/repo_file/file/3798/textfile.txt +0 -1
  1149. data/spec/dummy/public/uploads/repo_file/file/3799/textfile.txt +0 -1
  1150. data/spec/dummy/public/uploads/repo_file/file/3800/textfile.txt +0 -1
  1151. data/spec/dummy/public/uploads/repo_file/file/3801/textfile.txt +0 -1
  1152. data/spec/dummy/public/uploads/repo_file/file/3802/textfile.txt +0 -1
  1153. data/spec/dummy/public/uploads/repo_file/file/3803/textfile.txt +0 -1
  1154. data/spec/dummy/public/uploads/repo_file/file/3804/textfile.txt +0 -1
  1155. data/spec/dummy/public/uploads/repo_file/file/3813/textfile.txt +0 -1
  1156. data/spec/dummy/public/uploads/repo_file/file/3815/textfile.txt +0 -1
  1157. data/spec/dummy/public/uploads/repo_file/file/3819/textfile.txt +0 -1
  1158. data/spec/dummy/public/uploads/repo_file/file/3822/textfile.txt +0 -1
  1159. data/spec/dummy/public/uploads/repo_file/file/3824/textfile.txt +0 -1
  1160. data/spec/dummy/public/uploads/repo_file/file/3825/textfile.txt +0 -1
  1161. data/spec/dummy/public/uploads/repo_file/file/3827/textfile.txt +0 -1
  1162. data/spec/dummy/public/uploads/repo_file/file/3833/textfile.txt +0 -1
  1163. data/spec/dummy/public/uploads/repo_file/file/3835/textfile.txt +0 -1
  1164. data/spec/dummy/public/uploads/repo_file/file/3837/textfile.txt +0 -1
  1165. data/spec/dummy/public/uploads/repo_file/file/3839/textfile.txt +0 -1
  1166. data/spec/dummy/public/uploads/repo_file/file/3841/textfile.txt +0 -1
  1167. data/spec/dummy/public/uploads/repo_file/file/3843/textfile.txt +0 -1
  1168. data/spec/dummy/public/uploads/repo_file/file/3845/textfile.txt +0 -1
  1169. data/spec/dummy/public/uploads/repo_file/file/3847/textfile.txt +0 -1
  1170. data/spec/dummy/public/uploads/repo_file/file/3849/textfile.txt +0 -1
  1171. data/spec/dummy/public/uploads/repo_file/file/3852/textfile.txt +0 -1
  1172. data/spec/dummy/public/uploads/repo_file/file/3853/textfile.txt +0 -1
  1173. data/spec/dummy/public/uploads/repo_file/file/3855/textfile.txt +0 -1
  1174. data/spec/dummy/public/uploads/repo_file/file/3861/textfile.txt +0 -1
  1175. data/spec/dummy/public/uploads/repo_file/file/3865/textfile.txt +0 -1
  1176. data/spec/dummy/public/uploads/repo_file/file/3866/textfile.txt +0 -1
  1177. data/spec/dummy/public/uploads/repo_file/file/3867/textfile.txt +0 -1
  1178. data/spec/dummy/public/uploads/repo_file/file/3868/textfile.txt +0 -1
  1179. data/spec/dummy/public/uploads/repo_file/file/3869/textfile.txt +0 -1
  1180. data/spec/dummy/public/uploads/repo_file/file/3870/textfile.txt +0 -1
  1181. data/spec/dummy/public/uploads/repo_file/file/3871/textfile.txt +0 -1
  1182. data/spec/dummy/public/uploads/repo_file/file/3872/textfile.txt +0 -1
  1183. data/spec/dummy/public/uploads/repo_file/file/3873/textfile.txt +0 -1
  1184. data/spec/dummy/public/uploads/repo_file/file/3874/textfile.txt +0 -1
  1185. data/spec/dummy/public/uploads/repo_file/file/3883/textfile.txt +0 -1
  1186. data/spec/dummy/public/uploads/repo_file/file/3885/textfile.txt +0 -1
  1187. data/spec/dummy/public/uploads/repo_file/file/3889/textfile.txt +0 -1
  1188. data/spec/dummy/public/uploads/repo_file/file/3892/textfile.txt +0 -1
  1189. data/spec/dummy/public/uploads/repo_file/file/3894/textfile.txt +0 -1
  1190. data/spec/dummy/public/uploads/repo_file/file/3895/textfile.txt +0 -1
  1191. data/spec/dummy/public/uploads/repo_file/file/3897/textfile.txt +0 -1
  1192. data/spec/dummy/public/uploads/repo_file/file/3903/textfile.txt +0 -1
  1193. data/spec/dummy/public/uploads/repo_file/file/3905/textfile.txt +0 -1
  1194. data/spec/dummy/public/uploads/repo_file/file/3907/textfile.txt +0 -1
  1195. data/spec/dummy/public/uploads/repo_file/file/3909/textfile.txt +0 -1
  1196. data/spec/dummy/public/uploads/repo_file/file/3911/textfile.txt +0 -1
  1197. data/spec/dummy/public/uploads/repo_file/file/3913/textfile.txt +0 -1
  1198. data/spec/dummy/public/uploads/repo_file/file/3915/textfile.txt +0 -1
  1199. data/spec/dummy/public/uploads/repo_file/file/3917/textfile.txt +0 -1
  1200. data/spec/dummy/public/uploads/repo_file/file/3919/textfile.txt +0 -1
  1201. data/spec/dummy/public/uploads/repo_file/file/3922/textfile.txt +0 -1
  1202. data/spec/dummy/public/uploads/repo_file/file/3923/textfile.txt +0 -1
  1203. data/spec/dummy/public/uploads/repo_file/file/3925/textfile.txt +0 -1
  1204. data/spec/dummy/public/uploads/repo_file/file/3931/textfile.txt +0 -1
  1205. data/spec/dummy/public/uploads/repo_file/file/3935/textfile.txt +0 -1
  1206. data/spec/dummy/public/uploads/repo_file/file/3936/textfile.txt +0 -1
  1207. data/spec/dummy/public/uploads/repo_file/file/3937/textfile.txt +0 -1
  1208. data/spec/dummy/public/uploads/repo_file/file/3938/textfile.txt +0 -1
  1209. data/spec/dummy/public/uploads/repo_file/file/3939/textfile.txt +0 -1
  1210. data/spec/dummy/public/uploads/repo_file/file/3940/textfile.txt +0 -1
  1211. data/spec/dummy/public/uploads/repo_file/file/3941/textfile.txt +0 -1
  1212. data/spec/dummy/public/uploads/repo_file/file/3942/textfile.txt +0 -1
  1213. data/spec/dummy/public/uploads/repo_file/file/3943/textfile.txt +0 -1
  1214. data/spec/dummy/public/uploads/repo_file/file/3944/textfile.txt +0 -1
  1215. data/spec/dummy/public/uploads/repo_file/file/3953/textfile.txt +0 -1
  1216. data/spec/dummy/public/uploads/repo_file/file/3955/textfile.txt +0 -1
  1217. data/spec/dummy/public/uploads/repo_file/file/3959/textfile.txt +0 -1
  1218. data/spec/dummy/public/uploads/repo_file/file/3962/textfile.txt +0 -1
  1219. data/spec/dummy/public/uploads/repo_file/file/3964/textfile.txt +0 -1
  1220. data/spec/dummy/public/uploads/repo_file/file/3965/textfile.txt +0 -1
  1221. data/spec/dummy/public/uploads/repo_file/file/3967/textfile.txt +0 -1
  1222. data/spec/dummy/public/uploads/repo_file/file/3973/textfile.txt +0 -1
  1223. data/spec/dummy/public/uploads/repo_file/file/3975/textfile.txt +0 -1
  1224. data/spec/dummy/public/uploads/repo_file/file/3977/textfile.txt +0 -1
  1225. data/spec/dummy/public/uploads/repo_file/file/3979/textfile.txt +0 -1
  1226. data/spec/dummy/public/uploads/repo_file/file/3981/textfile.txt +0 -1
  1227. data/spec/dummy/public/uploads/repo_file/file/3983/textfile.txt +0 -1
  1228. data/spec/dummy/public/uploads/repo_file/file/3985/textfile.txt +0 -1
  1229. data/spec/dummy/public/uploads/repo_file/file/3987/textfile.txt +0 -1
  1230. data/spec/dummy/public/uploads/repo_file/file/3989/textfile.txt +0 -1
  1231. data/spec/dummy/public/uploads/repo_file/file/3992/textfile.txt +0 -1
  1232. data/spec/dummy/public/uploads/repo_file/file/3993/textfile.txt +0 -1
  1233. data/spec/dummy/public/uploads/repo_file/file/3995/textfile.txt +0 -1
  1234. data/spec/dummy/public/uploads/repo_file/file/4001/textfile.txt +0 -1
  1235. data/spec/dummy/public/uploads/repo_file/file/4005/textfile.txt +0 -1
  1236. data/spec/dummy/public/uploads/repo_file/file/4006/textfile.txt +0 -1
  1237. data/spec/dummy/public/uploads/repo_file/file/4007/textfile.txt +0 -1
  1238. data/spec/dummy/public/uploads/repo_file/file/4008/textfile.txt +0 -1
  1239. data/spec/dummy/public/uploads/repo_file/file/4009/textfile.txt +0 -1
  1240. data/spec/dummy/public/uploads/repo_file/file/4010/textfile.txt +0 -1
  1241. data/spec/dummy/public/uploads/repo_file/file/4011/textfile.txt +0 -1
  1242. data/spec/dummy/public/uploads/repo_file/file/4012/textfile.txt +0 -1
  1243. data/spec/dummy/public/uploads/repo_file/file/4013/textfile.txt +0 -1
  1244. data/spec/dummy/public/uploads/repo_file/file/4014/textfile.txt +0 -1
  1245. data/spec/dummy/public/uploads/repo_file/file/4023/textfile.txt +0 -1
  1246. data/spec/dummy/public/uploads/repo_file/file/4025/textfile.txt +0 -1
  1247. data/spec/dummy/public/uploads/repo_file/file/4029/textfile.txt +0 -1
  1248. data/spec/dummy/public/uploads/repo_file/file/4032/textfile.txt +0 -1
  1249. data/spec/dummy/public/uploads/repo_file/file/4034/textfile.txt +0 -1
  1250. data/spec/dummy/public/uploads/repo_file/file/4035/textfile.txt +0 -1
  1251. data/spec/dummy/public/uploads/repo_file/file/4037/textfile.txt +0 -1
  1252. data/spec/dummy/public/uploads/repo_file/file/4043/textfile.txt +0 -1
  1253. data/spec/dummy/public/uploads/repo_file/file/4045/textfile.txt +0 -1
  1254. data/spec/dummy/public/uploads/repo_file/file/4047/textfile.txt +0 -1
  1255. data/spec/dummy/public/uploads/repo_file/file/4049/textfile.txt +0 -1
  1256. data/spec/dummy/public/uploads/repo_file/file/4051/textfile.txt +0 -1
  1257. data/spec/dummy/public/uploads/repo_file/file/4053/textfile.txt +0 -1
  1258. data/spec/dummy/public/uploads/repo_file/file/4055/textfile.txt +0 -1
  1259. data/spec/dummy/public/uploads/repo_file/file/4057/textfile.txt +0 -1
  1260. data/spec/dummy/public/uploads/repo_file/file/4059/textfile.txt +0 -1
  1261. data/spec/dummy/public/uploads/repo_file/file/4062/textfile.txt +0 -1
  1262. data/spec/dummy/public/uploads/repo_file/file/4063/textfile.txt +0 -1
  1263. data/spec/dummy/public/uploads/repo_file/file/4065/textfile.txt +0 -1
  1264. data/spec/dummy/public/uploads/repo_file/file/4071/textfile.txt +0 -1
  1265. data/spec/dummy/public/uploads/repo_file/file/4075/textfile.txt +0 -1
  1266. data/spec/dummy/public/uploads/repo_file/file/4076/textfile.txt +0 -1
  1267. data/spec/dummy/public/uploads/repo_file/file/4077/textfile.txt +0 -1
  1268. data/spec/dummy/public/uploads/repo_file/file/4078/textfile.txt +0 -1
  1269. data/spec/dummy/public/uploads/repo_file/file/4079/textfile.txt +0 -1
  1270. data/spec/dummy/public/uploads/repo_file/file/4080/textfile.txt +0 -1
  1271. data/spec/dummy/public/uploads/repo_file/file/4081/textfile.txt +0 -1
  1272. data/spec/dummy/public/uploads/repo_file/file/4082/textfile.txt +0 -1
  1273. data/spec/dummy/public/uploads/repo_file/file/4083/textfile.txt +0 -1
  1274. data/spec/dummy/public/uploads/repo_file/file/4084/textfile.txt +0 -1
  1275. data/spec/dummy/public/uploads/repo_file/file/4093/textfile.txt +0 -1
  1276. data/spec/dummy/public/uploads/repo_file/file/4095/textfile.txt +0 -1
  1277. data/spec/dummy/public/uploads/repo_file/file/4099/textfile.txt +0 -1
  1278. data/spec/dummy/public/uploads/repo_file/file/4102/textfile.txt +0 -1
  1279. data/spec/dummy/public/uploads/repo_file/file/4104/textfile.txt +0 -1
  1280. data/spec/dummy/public/uploads/repo_file/file/4105/textfile.txt +0 -1
  1281. data/spec/dummy/public/uploads/repo_file/file/4107/textfile.txt +0 -1
  1282. data/spec/dummy/public/uploads/repo_file/file/4113/textfile.txt +0 -1
  1283. data/spec/dummy/public/uploads/repo_file/file/4115/textfile.txt +0 -1
  1284. data/spec/dummy/public/uploads/repo_file/file/4117/textfile.txt +0 -1
  1285. data/spec/dummy/public/uploads/repo_file/file/4119/textfile.txt +0 -1
  1286. data/spec/dummy/public/uploads/repo_file/file/4121/textfile.txt +0 -1
  1287. data/spec/dummy/public/uploads/repo_file/file/4123/textfile.txt +0 -1
  1288. data/spec/dummy/public/uploads/repo_file/file/4125/textfile.txt +0 -1
  1289. data/spec/dummy/public/uploads/repo_file/file/4127/textfile.txt +0 -1
  1290. data/spec/dummy/public/uploads/repo_file/file/4129/textfile.txt +0 -1
  1291. data/spec/dummy/public/uploads/repo_file/file/4132/textfile.txt +0 -1
  1292. data/spec/dummy/public/uploads/repo_file/file/4133/textfile.txt +0 -1
  1293. data/spec/dummy/public/uploads/repo_file/file/4135/textfile.txt +0 -1
  1294. data/spec/dummy/public/uploads/repo_file/file/4141/textfile.txt +0 -1
  1295. data/spec/dummy/public/uploads/repo_file/file/4145/textfile.txt +0 -1
  1296. data/spec/dummy/public/uploads/repo_file/file/4146/textfile.txt +0 -1
  1297. data/spec/dummy/public/uploads/repo_file/file/4147/textfile.txt +0 -1
  1298. data/spec/dummy/public/uploads/repo_file/file/4148/textfile.txt +0 -1
  1299. data/spec/dummy/public/uploads/repo_file/file/4149/textfile.txt +0 -1
  1300. data/spec/dummy/public/uploads/repo_file/file/4150/textfile.txt +0 -1
  1301. data/spec/dummy/public/uploads/repo_file/file/4151/textfile.txt +0 -1
  1302. data/spec/dummy/public/uploads/repo_file/file/4152/textfile.txt +0 -1
  1303. data/spec/dummy/public/uploads/repo_file/file/4153/textfile.txt +0 -1
  1304. data/spec/dummy/public/uploads/repo_file/file/4154/textfile.txt +0 -1
  1305. data/spec/dummy/public/uploads/repo_file/file/4163/textfile.txt +0 -1
  1306. data/spec/dummy/public/uploads/repo_file/file/4165/textfile.txt +0 -1
  1307. data/spec/dummy/public/uploads/repo_file/file/4169/textfile.txt +0 -1
  1308. data/spec/dummy/public/uploads/repo_file/file/4172/textfile.txt +0 -1
  1309. data/spec/dummy/public/uploads/repo_file/file/4174/textfile.txt +0 -1
  1310. data/spec/dummy/public/uploads/repo_file/file/4175/textfile.txt +0 -1
  1311. data/spec/dummy/public/uploads/repo_file/file/4177/textfile.txt +0 -1
  1312. data/spec/dummy/public/uploads/repo_file/file/4183/textfile.txt +0 -1
  1313. data/spec/dummy/public/uploads/repo_file/file/4185/textfile.txt +0 -1
  1314. data/spec/dummy/public/uploads/repo_file/file/4187/textfile.txt +0 -1
  1315. data/spec/dummy/public/uploads/repo_file/file/4189/textfile.txt +0 -1
  1316. data/spec/dummy/public/uploads/repo_file/file/4191/textfile.txt +0 -1
  1317. data/spec/dummy/public/uploads/repo_file/file/4193/textfile.txt +0 -1
  1318. data/spec/dummy/public/uploads/repo_file/file/4195/textfile.txt +0 -1
  1319. data/spec/dummy/public/uploads/repo_file/file/4197/textfile.txt +0 -1
  1320. data/spec/dummy/public/uploads/repo_file/file/4199/textfile.txt +0 -1
  1321. data/spec/dummy/public/uploads/repo_file/file/4202/textfile.txt +0 -1
  1322. data/spec/dummy/public/uploads/repo_file/file/4203/textfile.txt +0 -1
  1323. data/spec/dummy/public/uploads/repo_file/file/4205/textfile.txt +0 -1
  1324. data/spec/dummy/public/uploads/repo_file/file/4211/textfile.txt +0 -1
  1325. data/spec/dummy/public/uploads/repo_file/file/4215/textfile.txt +0 -1
  1326. data/spec/dummy/public/uploads/repo_file/file/4216/textfile.txt +0 -1
  1327. data/spec/dummy/public/uploads/repo_file/file/4217/textfile.txt +0 -1
  1328. data/spec/dummy/public/uploads/repo_file/file/4218/textfile.txt +0 -1
  1329. data/spec/dummy/public/uploads/repo_file/file/4219/textfile.txt +0 -1
  1330. data/spec/dummy/public/uploads/repo_file/file/4220/textfile.txt +0 -1
  1331. data/spec/dummy/public/uploads/repo_file/file/4221/textfile.txt +0 -1
  1332. data/spec/dummy/public/uploads/repo_file/file/4222/textfile.txt +0 -1
  1333. data/spec/dummy/public/uploads/repo_file/file/4223/textfile.txt +0 -1
  1334. data/spec/dummy/public/uploads/repo_file/file/4224/textfile.txt +0 -1
  1335. data/spec/dummy/public/uploads/repo_file/file/4233/textfile.txt +0 -1
  1336. data/spec/dummy/public/uploads/repo_file/file/4235/textfile.txt +0 -1
  1337. data/spec/dummy/public/uploads/repo_file/file/4239/textfile.txt +0 -1
  1338. data/spec/dummy/public/uploads/repo_file/file/4242/textfile.txt +0 -1
  1339. data/spec/dummy/public/uploads/repo_file/file/4244/textfile.txt +0 -1
  1340. data/spec/dummy/public/uploads/repo_file/file/4245/textfile.txt +0 -1
  1341. data/spec/dummy/public/uploads/repo_file/file/4247/textfile.txt +0 -1
  1342. data/spec/dummy/public/uploads/repo_file/file/4253/textfile.txt +0 -1
  1343. data/spec/dummy/public/uploads/repo_file/file/4255/textfile.txt +0 -1
  1344. data/spec/dummy/public/uploads/repo_file/file/4257/textfile.txt +0 -1
  1345. data/spec/dummy/public/uploads/repo_file/file/4259/textfile.txt +0 -1
  1346. data/spec/dummy/public/uploads/repo_file/file/4261/textfile.txt +0 -1
  1347. data/spec/dummy/public/uploads/repo_file/file/4263/textfile.txt +0 -1
  1348. data/spec/dummy/public/uploads/repo_file/file/4265/textfile.txt +0 -1
  1349. data/spec/dummy/public/uploads/repo_file/file/4267/textfile.txt +0 -1
  1350. data/spec/dummy/public/uploads/repo_file/file/4269/textfile.txt +0 -1
  1351. data/spec/dummy/public/uploads/repo_file/file/4272/textfile.txt +0 -1
  1352. data/spec/dummy/public/uploads/repo_file/file/4273/textfile.txt +0 -1
  1353. data/spec/dummy/public/uploads/repo_file/file/4275/textfile.txt +0 -1
  1354. data/spec/dummy/public/uploads/repo_file/file/4281/textfile.txt +0 -1
  1355. data/spec/dummy/public/uploads/repo_file/file/4285/textfile.txt +0 -1
  1356. data/spec/dummy/public/uploads/repo_file/file/4286/textfile.txt +0 -1
  1357. data/spec/dummy/public/uploads/repo_file/file/4287/textfile.txt +0 -1
  1358. data/spec/dummy/public/uploads/repo_file/file/4288/textfile.txt +0 -1
  1359. data/spec/dummy/public/uploads/repo_file/file/4289/textfile.txt +0 -1
  1360. data/spec/dummy/public/uploads/repo_file/file/4290/textfile.txt +0 -1
  1361. data/spec/dummy/public/uploads/repo_file/file/4291/textfile.txt +0 -1
  1362. data/spec/dummy/public/uploads/repo_file/file/4292/textfile.txt +0 -1
  1363. data/spec/dummy/public/uploads/repo_file/file/4293/textfile.txt +0 -1
  1364. data/spec/dummy/public/uploads/repo_file/file/4294/textfile.txt +0 -1
  1365. data/spec/dummy/public/uploads/repo_file/file/4303/textfile.txt +0 -1
  1366. data/spec/dummy/public/uploads/repo_file/file/4305/textfile.txt +0 -1
  1367. data/spec/dummy/public/uploads/repo_file/file/4309/textfile.txt +0 -1
  1368. data/spec/dummy/public/uploads/repo_file/file/4312/textfile.txt +0 -1
  1369. data/spec/dummy/public/uploads/repo_file/file/4314/textfile.txt +0 -1
  1370. data/spec/dummy/public/uploads/repo_file/file/4315/textfile.txt +0 -1
  1371. data/spec/dummy/public/uploads/repo_file/file/4317/textfile.txt +0 -1
  1372. data/spec/dummy/public/uploads/repo_file/file/4323/textfile.txt +0 -1
  1373. data/spec/dummy/public/uploads/repo_file/file/4325/textfile.txt +0 -1
  1374. data/spec/dummy/public/uploads/repo_file/file/4327/textfile.txt +0 -1
  1375. data/spec/dummy/public/uploads/repo_file/file/4329/textfile.txt +0 -1
  1376. data/spec/dummy/public/uploads/repo_file/file/4331/textfile.txt +0 -1
  1377. data/spec/dummy/public/uploads/repo_file/file/4333/textfile.txt +0 -1
  1378. data/spec/dummy/public/uploads/repo_file/file/4335/textfile.txt +0 -1
  1379. data/spec/dummy/public/uploads/repo_file/file/4337/textfile.txt +0 -1
  1380. data/spec/dummy/public/uploads/repo_file/file/4339/textfile.txt +0 -1
  1381. data/spec/dummy/public/uploads/repo_file/file/4342/textfile.txt +0 -1
  1382. data/spec/dummy/public/uploads/repo_file/file/4343/textfile.txt +0 -1
  1383. data/spec/dummy/public/uploads/repo_file/file/4345/textfile.txt +0 -1
  1384. data/spec/dummy/public/uploads/repo_file/file/4351/textfile.txt +0 -1
  1385. data/spec/dummy/public/uploads/repo_file/file/4355/textfile.txt +0 -1
  1386. data/spec/dummy/public/uploads/repo_file/file/4356/textfile.txt +0 -1
  1387. data/spec/dummy/public/uploads/repo_file/file/4357/textfile.txt +0 -1
  1388. data/spec/dummy/public/uploads/repo_file/file/4358/textfile.txt +0 -1
  1389. data/spec/dummy/public/uploads/repo_file/file/4359/textfile.txt +0 -1
  1390. data/spec/dummy/public/uploads/repo_file/file/4360/textfile.txt +0 -1
  1391. data/spec/dummy/public/uploads/repo_file/file/4361/textfile.txt +0 -1
  1392. data/spec/dummy/public/uploads/repo_file/file/4362/textfile.txt +0 -1
  1393. data/spec/dummy/public/uploads/repo_file/file/4363/textfile.txt +0 -1
  1394. data/spec/dummy/public/uploads/repo_file/file/4364/textfile.txt +0 -1
  1395. data/spec/dummy/public/uploads/repo_file/file/4373/textfile.txt +0 -1
  1396. data/spec/dummy/public/uploads/repo_file/file/4375/textfile.txt +0 -1
  1397. data/spec/dummy/public/uploads/repo_file/file/4379/textfile.txt +0 -1
  1398. data/spec/dummy/public/uploads/repo_file/file/4382/textfile.txt +0 -1
  1399. data/spec/dummy/public/uploads/repo_file/file/4384/textfile.txt +0 -1
  1400. data/spec/dummy/public/uploads/repo_file/file/4385/textfile.txt +0 -1
  1401. data/spec/dummy/public/uploads/repo_file/file/4387/textfile.txt +0 -1
  1402. data/spec/dummy/public/uploads/repo_file/file/4393/textfile.txt +0 -1
  1403. data/spec/dummy/public/uploads/repo_file/file/4395/textfile.txt +0 -1
  1404. data/spec/dummy/public/uploads/repo_file/file/4397/textfile.txt +0 -1
  1405. data/spec/dummy/public/uploads/repo_file/file/4399/textfile.txt +0 -1
  1406. data/spec/dummy/public/uploads/repo_file/file/4401/textfile.txt +0 -1
  1407. data/spec/dummy/public/uploads/repo_file/file/4403/textfile.txt +0 -1
  1408. data/spec/dummy/public/uploads/repo_file/file/4405/textfile.txt +0 -1
  1409. data/spec/dummy/public/uploads/repo_file/file/4407/textfile.txt +0 -1
  1410. data/spec/dummy/public/uploads/repo_file/file/4409/textfile.txt +0 -1
  1411. data/spec/dummy/public/uploads/repo_file/file/4412/textfile.txt +0 -1
  1412. data/spec/dummy/public/uploads/repo_file/file/4413/textfile.txt +0 -1
  1413. data/spec/dummy/public/uploads/repo_file/file/4415/textfile.txt +0 -1
  1414. data/spec/dummy/public/uploads/repo_file/file/4421/textfile.txt +0 -1
  1415. data/spec/dummy/public/uploads/repo_file/file/4425/textfile.txt +0 -1
  1416. data/spec/dummy/public/uploads/repo_file/file/4426/textfile.txt +0 -1
  1417. data/spec/dummy/public/uploads/repo_file/file/4427/textfile.txt +0 -1
  1418. data/spec/dummy/public/uploads/repo_file/file/4428/textfile.txt +0 -1
  1419. data/spec/dummy/public/uploads/repo_file/file/4429/textfile.txt +0 -1
  1420. data/spec/dummy/public/uploads/repo_file/file/4430/textfile.txt +0 -1
  1421. data/spec/dummy/public/uploads/repo_file/file/4431/textfile.txt +0 -1
  1422. data/spec/dummy/public/uploads/repo_file/file/4432/textfile.txt +0 -1
  1423. data/spec/dummy/public/uploads/repo_file/file/4433/textfile.txt +0 -1
  1424. data/spec/dummy/public/uploads/repo_file/file/4434/textfile.txt +0 -1
  1425. data/spec/dummy/public/uploads/repo_file/file/4443/textfile.txt +0 -1
  1426. data/spec/dummy/public/uploads/repo_file/file/4445/textfile.txt +0 -1
  1427. data/spec/dummy/public/uploads/repo_file/file/4449/textfile.txt +0 -1
  1428. data/spec/dummy/public/uploads/repo_file/file/4452/textfile.txt +0 -1
  1429. data/spec/dummy/public/uploads/repo_file/file/4454/textfile.txt +0 -1
  1430. data/spec/dummy/public/uploads/repo_file/file/4455/textfile.txt +0 -1
  1431. data/spec/dummy/public/uploads/repo_file/file/4457/textfile.txt +0 -1
  1432. data/spec/dummy/public/uploads/repo_file/file/4463/textfile.txt +0 -1
  1433. data/spec/dummy/public/uploads/repo_file/file/4465/textfile.txt +0 -1
  1434. data/spec/dummy/public/uploads/repo_file/file/4467/textfile.txt +0 -1
  1435. data/spec/dummy/public/uploads/repo_file/file/4469/textfile.txt +0 -1
  1436. data/spec/dummy/public/uploads/repo_file/file/4471/textfile.txt +0 -1
  1437. data/spec/dummy/public/uploads/repo_file/file/4473/textfile.txt +0 -1
  1438. data/spec/dummy/public/uploads/repo_file/file/4475/textfile.txt +0 -1
  1439. data/spec/dummy/public/uploads/repo_file/file/4477/textfile.txt +0 -1
  1440. data/spec/dummy/public/uploads/repo_file/file/4479/textfile.txt +0 -1
  1441. data/spec/dummy/public/uploads/repo_file/file/4482/textfile.txt +0 -1
  1442. data/spec/dummy/public/uploads/repo_file/file/4483/textfile.txt +0 -1
  1443. data/spec/dummy/public/uploads/repo_file/file/4485/textfile.txt +0 -1
  1444. data/spec/dummy/public/uploads/repo_file/file/4491/textfile.txt +0 -1
  1445. data/spec/dummy/public/uploads/repo_file/file/4495/textfile.txt +0 -1
  1446. data/spec/dummy/public/uploads/repo_file/file/4496/textfile.txt +0 -1
  1447. data/spec/dummy/public/uploads/repo_file/file/4497/textfile.txt +0 -1
  1448. data/spec/dummy/public/uploads/repo_file/file/4498/textfile.txt +0 -1
  1449. data/spec/dummy/public/uploads/repo_file/file/4499/textfile.txt +0 -1
  1450. data/spec/dummy/public/uploads/repo_file/file/4500/textfile.txt +0 -1
  1451. data/spec/dummy/public/uploads/repo_file/file/4501/textfile.txt +0 -1
  1452. data/spec/dummy/public/uploads/repo_file/file/4502/textfile.txt +0 -1
  1453. data/spec/dummy/public/uploads/repo_file/file/4503/textfile.txt +0 -1
  1454. data/spec/dummy/public/uploads/repo_file/file/4504/textfile.txt +0 -1
  1455. data/spec/dummy/public/uploads/repo_file/file/4516/textfile.txt +0 -1
  1456. data/spec/dummy/public/uploads/repo_file/file/4518/textfile.txt +0 -1
  1457. data/spec/dummy/public/uploads/repo_file/file/4522/textfile.txt +0 -1
  1458. data/spec/dummy/public/uploads/repo_file/file/4525/textfile.txt +0 -1
  1459. data/spec/dummy/public/uploads/repo_file/file/4527/textfile.txt +0 -1
  1460. data/spec/dummy/public/uploads/repo_file/file/4528/textfile.txt +0 -1
  1461. data/spec/dummy/public/uploads/repo_file/file/4530/textfile.txt +0 -1
  1462. data/spec/dummy/public/uploads/repo_file/file/4536/textfile.txt +0 -1
  1463. data/spec/dummy/public/uploads/repo_file/file/4538/textfile.txt +0 -1
  1464. data/spec/dummy/public/uploads/repo_file/file/4540/textfile.txt +0 -1
  1465. data/spec/dummy/public/uploads/repo_file/file/4542/textfile.txt +0 -1
  1466. data/spec/dummy/public/uploads/repo_file/file/4544/textfile.txt +0 -1
  1467. data/spec/dummy/public/uploads/repo_file/file/4546/textfile.txt +0 -1
  1468. data/spec/dummy/public/uploads/repo_file/file/4548/textfile.txt +0 -1
  1469. data/spec/dummy/public/uploads/repo_file/file/4550/textfile.txt +0 -1
  1470. data/spec/dummy/public/uploads/repo_file/file/4552/textfile.txt +0 -1
  1471. data/spec/dummy/public/uploads/repo_file/file/4555/textfile.txt +0 -1
  1472. data/spec/dummy/public/uploads/repo_file/file/4556/textfile.txt +0 -1
  1473. data/spec/dummy/public/uploads/repo_file/file/4558/textfile.txt +0 -1
  1474. data/spec/dummy/public/uploads/repo_file/file/4564/textfile.txt +0 -1
  1475. data/spec/dummy/public/uploads/repo_file/file/4568/textfile.txt +0 -1
  1476. data/spec/dummy/public/uploads/repo_file/file/4569/textfile.txt +0 -1
  1477. data/spec/dummy/public/uploads/repo_file/file/4570/textfile.txt +0 -1
  1478. data/spec/dummy/public/uploads/repo_file/file/4571/textfile.txt +0 -1
  1479. data/spec/dummy/public/uploads/repo_file/file/4572/textfile.txt +0 -1
  1480. data/spec/dummy/public/uploads/repo_file/file/4573/textfile.txt +0 -1
  1481. data/spec/dummy/public/uploads/repo_file/file/4574/textfile.txt +0 -1
  1482. data/spec/dummy/public/uploads/repo_file/file/4575/textfile.txt +0 -1
  1483. data/spec/dummy/public/uploads/repo_file/file/4576/textfile.txt +0 -1
  1484. data/spec/dummy/public/uploads/repo_file/file/4577/textfile.txt +0 -1
  1485. data/spec/dummy/public/uploads/repo_file/file/4589/textfile.txt +0 -1
  1486. data/spec/dummy/public/uploads/repo_file/file/4591/textfile.txt +0 -1
  1487. data/spec/dummy/public/uploads/repo_file/file/4595/textfile.txt +0 -1
  1488. data/spec/dummy/public/uploads/repo_file/file/4598/textfile.txt +0 -1
  1489. data/spec/dummy/public/uploads/repo_file/file/4600/textfile.txt +0 -1
  1490. data/spec/dummy/public/uploads/repo_file/file/4601/textfile.txt +0 -1
  1491. data/spec/dummy/public/uploads/repo_file/file/4603/textfile.txt +0 -1
  1492. data/spec/dummy/public/uploads/repo_file/file/4609/textfile.txt +0 -1
  1493. data/spec/dummy/public/uploads/repo_file/file/4611/textfile.txt +0 -1
  1494. data/spec/dummy/public/uploads/repo_file/file/4613/textfile.txt +0 -1
  1495. data/spec/dummy/public/uploads/repo_file/file/4615/textfile.txt +0 -1
  1496. data/spec/dummy/public/uploads/repo_file/file/4617/textfile.txt +0 -1
  1497. data/spec/dummy/public/uploads/repo_file/file/4619/textfile.txt +0 -1
  1498. data/spec/dummy/public/uploads/repo_file/file/4621/textfile.txt +0 -1
  1499. data/spec/dummy/public/uploads/repo_file/file/4623/textfile.txt +0 -1
  1500. data/spec/dummy/public/uploads/repo_file/file/4625/textfile.txt +0 -1
  1501. data/spec/dummy/public/uploads/repo_file/file/4628/textfile.txt +0 -1
  1502. data/spec/dummy/public/uploads/repo_file/file/4629/textfile.txt +0 -1
  1503. data/spec/dummy/public/uploads/repo_file/file/4631/textfile.txt +0 -1
  1504. data/spec/dummy/public/uploads/repo_file/file/4637/textfile.txt +0 -1
  1505. data/spec/dummy/public/uploads/repo_file/file/4641/textfile.txt +0 -1
  1506. data/spec/dummy/public/uploads/repo_file/file/4642/textfile.txt +0 -1
  1507. data/spec/dummy/public/uploads/repo_file/file/4643/textfile.txt +0 -1
  1508. data/spec/dummy/public/uploads/repo_file/file/4644/textfile.txt +0 -1
  1509. data/spec/dummy/public/uploads/repo_file/file/4645/textfile.txt +0 -1
  1510. data/spec/dummy/public/uploads/repo_file/file/4646/textfile.txt +0 -1
  1511. data/spec/dummy/public/uploads/repo_file/file/4647/textfile.txt +0 -1
  1512. data/spec/dummy/public/uploads/repo_file/file/4648/textfile.txt +0 -1
  1513. data/spec/dummy/public/uploads/repo_file/file/4649/textfile.txt +0 -1
  1514. data/spec/dummy/public/uploads/repo_file/file/4650/textfile.txt +0 -1
  1515. data/spec/dummy/public/uploads/repo_file/file/4662/textfile.txt +0 -1
  1516. data/spec/dummy/public/uploads/repo_file/file/4664/textfile.txt +0 -1
  1517. data/spec/dummy/public/uploads/repo_file/file/4668/textfile.txt +0 -1
  1518. data/spec/dummy/public/uploads/repo_file/file/4671/textfile.txt +0 -1
  1519. data/spec/dummy/public/uploads/repo_file/file/4673/textfile.txt +0 -1
  1520. data/spec/dummy/public/uploads/repo_file/file/4674/textfile.txt +0 -1
  1521. data/spec/dummy/public/uploads/repo_file/file/4676/textfile.txt +0 -1
  1522. data/spec/dummy/public/uploads/repo_file/file/4682/textfile.txt +0 -1
  1523. data/spec/dummy/public/uploads/repo_file/file/4684/textfile.txt +0 -1
  1524. data/spec/dummy/public/uploads/repo_file/file/4686/textfile.txt +0 -1
  1525. data/spec/dummy/public/uploads/repo_file/file/4688/textfile.txt +0 -1
  1526. data/spec/dummy/public/uploads/repo_file/file/4690/textfile.txt +0 -1
  1527. data/spec/dummy/public/uploads/repo_file/file/4692/textfile.txt +0 -1
  1528. data/spec/dummy/public/uploads/repo_file/file/4694/textfile.txt +0 -1
  1529. data/spec/dummy/public/uploads/repo_file/file/4696/textfile.txt +0 -1
  1530. data/spec/dummy/public/uploads/repo_file/file/4698/textfile.txt +0 -1
  1531. data/spec/dummy/public/uploads/repo_file/file/4701/textfile.txt +0 -1
  1532. data/spec/dummy/public/uploads/repo_file/file/4702/textfile.txt +0 -1
  1533. data/spec/dummy/public/uploads/repo_file/file/4704/textfile.txt +0 -1
  1534. data/spec/dummy/public/uploads/repo_file/file/4710/textfile.txt +0 -1
  1535. data/spec/dummy/public/uploads/repo_file/file/4714/textfile.txt +0 -1
  1536. data/spec/dummy/public/uploads/repo_file/file/4715/textfile.txt +0 -1
  1537. data/spec/dummy/public/uploads/repo_file/file/4716/textfile.txt +0 -1
  1538. data/spec/dummy/public/uploads/repo_file/file/4717/textfile.txt +0 -1
  1539. data/spec/dummy/public/uploads/repo_file/file/4718/textfile.txt +0 -1
  1540. data/spec/dummy/public/uploads/repo_file/file/4719/textfile.txt +0 -1
  1541. data/spec/dummy/public/uploads/repo_file/file/4720/textfile.txt +0 -1
  1542. data/spec/dummy/public/uploads/repo_file/file/4721/textfile.txt +0 -1
  1543. data/spec/dummy/public/uploads/repo_file/file/4722/textfile.txt +0 -1
  1544. data/spec/dummy/public/uploads/repo_file/file/4723/textfile.txt +0 -1
  1545. data/spec/dummy/public/uploads/repo_file/file/4735/textfile.txt +0 -1
  1546. data/spec/dummy/public/uploads/repo_file/file/4737/textfile.txt +0 -1
  1547. data/spec/dummy/public/uploads/repo_file/file/4741/textfile.txt +0 -1
  1548. data/spec/dummy/public/uploads/repo_file/file/4744/textfile.txt +0 -1
  1549. data/spec/dummy/public/uploads/repo_file/file/4746/textfile.txt +0 -1
  1550. data/spec/dummy/public/uploads/repo_file/file/4747/textfile.txt +0 -1
  1551. data/spec/dummy/public/uploads/repo_file/file/4749/textfile.txt +0 -1
  1552. data/spec/dummy/public/uploads/repo_file/file/4755/textfile.txt +0 -1
  1553. data/spec/dummy/public/uploads/repo_file/file/4757/textfile.txt +0 -1
  1554. data/spec/dummy/public/uploads/repo_file/file/4759/textfile.txt +0 -1
  1555. data/spec/dummy/public/uploads/repo_file/file/4761/textfile.txt +0 -1
  1556. data/spec/dummy/public/uploads/repo_file/file/4763/textfile.txt +0 -1
  1557. data/spec/dummy/public/uploads/repo_file/file/4765/textfile.txt +0 -1
  1558. data/spec/dummy/public/uploads/repo_file/file/4767/textfile.txt +0 -1
  1559. data/spec/dummy/public/uploads/repo_file/file/4769/textfile.txt +0 -1
  1560. data/spec/dummy/public/uploads/repo_file/file/4771/textfile.txt +0 -1
  1561. data/spec/dummy/public/uploads/repo_file/file/4774/textfile.txt +0 -1
  1562. data/spec/dummy/public/uploads/repo_file/file/4775/textfile.txt +0 -1
  1563. data/spec/dummy/public/uploads/repo_file/file/4777/textfile.txt +0 -1
  1564. data/spec/dummy/public/uploads/repo_file/file/4783/textfile.txt +0 -1
  1565. data/spec/dummy/public/uploads/repo_file/file/4787/textfile.txt +0 -1
  1566. data/spec/dummy/public/uploads/repo_file/file/4788/textfile.txt +0 -1
  1567. data/spec/dummy/public/uploads/repo_file/file/4789/textfile.txt +0 -1
  1568. data/spec/dummy/public/uploads/repo_file/file/4790/textfile.txt +0 -1
  1569. data/spec/dummy/public/uploads/repo_file/file/4791/textfile.txt +0 -1
  1570. data/spec/dummy/public/uploads/repo_file/file/4792/textfile.txt +0 -1
  1571. data/spec/dummy/public/uploads/repo_file/file/4793/textfile.txt +0 -1
  1572. data/spec/dummy/public/uploads/repo_file/file/4794/textfile.txt +0 -1
  1573. data/spec/dummy/public/uploads/repo_file/file/4795/textfile.txt +0 -1
  1574. data/spec/dummy/public/uploads/repo_file/file/4796/textfile.txt +0 -1
  1575. data/spec/dummy/public/uploads/repo_file/file/4808/textfile.txt +0 -1
  1576. data/spec/dummy/public/uploads/repo_file/file/4810/textfile.txt +0 -1
  1577. data/spec/dummy/public/uploads/repo_file/file/4814/textfile.txt +0 -1
  1578. data/spec/dummy/public/uploads/repo_file/file/4817/textfile.txt +0 -1
  1579. data/spec/dummy/public/uploads/repo_file/file/4819/textfile.txt +0 -1
  1580. data/spec/dummy/public/uploads/repo_file/file/4820/textfile.txt +0 -1
  1581. data/spec/dummy/public/uploads/repo_file/file/4822/textfile.txt +0 -1
  1582. data/spec/dummy/public/uploads/repo_file/file/4828/textfile.txt +0 -1
  1583. data/spec/dummy/public/uploads/repo_file/file/4830/textfile.txt +0 -1
  1584. data/spec/dummy/public/uploads/repo_file/file/4832/textfile.txt +0 -1
  1585. data/spec/dummy/public/uploads/repo_file/file/4834/textfile.txt +0 -1
  1586. data/spec/dummy/public/uploads/repo_file/file/4836/textfile.txt +0 -1
  1587. data/spec/dummy/public/uploads/repo_file/file/4838/textfile.txt +0 -1
  1588. data/spec/dummy/public/uploads/repo_file/file/4840/textfile.txt +0 -1
  1589. data/spec/dummy/public/uploads/repo_file/file/4842/textfile.txt +0 -1
  1590. data/spec/dummy/public/uploads/repo_file/file/4844/textfile.txt +0 -1
  1591. data/spec/dummy/public/uploads/repo_file/file/4847/textfile.txt +0 -1
  1592. data/spec/dummy/public/uploads/repo_file/file/4848/textfile.txt +0 -1
  1593. data/spec/dummy/public/uploads/repo_file/file/4850/textfile.txt +0 -1
  1594. data/spec/dummy/public/uploads/repo_file/file/4856/textfile.txt +0 -1
  1595. data/spec/dummy/public/uploads/repo_file/file/4860/textfile.txt +0 -1
  1596. data/spec/dummy/public/uploads/repo_file/file/4861/textfile.txt +0 -1
  1597. data/spec/dummy/public/uploads/repo_file/file/4862/textfile.txt +0 -1
  1598. data/spec/dummy/public/uploads/repo_file/file/4863/textfile.txt +0 -1
  1599. data/spec/dummy/public/uploads/repo_file/file/4864/textfile.txt +0 -1
  1600. data/spec/dummy/public/uploads/repo_file/file/4865/textfile.txt +0 -1
  1601. data/spec/dummy/public/uploads/repo_file/file/4866/textfile.txt +0 -1
  1602. data/spec/dummy/public/uploads/repo_file/file/4867/textfile.txt +0 -1
  1603. data/spec/dummy/public/uploads/repo_file/file/4868/textfile.txt +0 -1
  1604. data/spec/dummy/public/uploads/repo_file/file/4869/textfile.txt +0 -1
  1605. data/spec/dummy/public/uploads/repo_file/file/4881/textfile.txt +0 -1
  1606. data/spec/dummy/public/uploads/repo_file/file/4883/textfile.txt +0 -1
  1607. data/spec/dummy/public/uploads/repo_file/file/4887/textfile.txt +0 -1
  1608. data/spec/dummy/public/uploads/repo_file/file/4890/textfile.txt +0 -1
  1609. data/spec/dummy/public/uploads/repo_file/file/4892/textfile.txt +0 -1
  1610. data/spec/dummy/public/uploads/repo_file/file/4893/textfile.txt +0 -1
  1611. data/spec/dummy/public/uploads/repo_file/file/4895/textfile.txt +0 -1
  1612. data/spec/dummy/public/uploads/repo_file/file/4901/textfile.txt +0 -1
  1613. data/spec/dummy/public/uploads/repo_file/file/4903/textfile.txt +0 -1
  1614. data/spec/dummy/public/uploads/repo_file/file/4905/textfile.txt +0 -1
  1615. data/spec/dummy/public/uploads/repo_file/file/4907/textfile.txt +0 -1
  1616. data/spec/dummy/public/uploads/repo_file/file/4909/textfile.txt +0 -1
  1617. data/spec/dummy/public/uploads/repo_file/file/4911/textfile.txt +0 -1
  1618. data/spec/dummy/public/uploads/repo_file/file/4913/textfile.txt +0 -1
  1619. data/spec/dummy/public/uploads/repo_file/file/4915/textfile.txt +0 -1
  1620. data/spec/dummy/public/uploads/repo_file/file/4917/textfile.txt +0 -1
  1621. data/spec/dummy/public/uploads/repo_file/file/4920/textfile.txt +0 -1
  1622. data/spec/dummy/public/uploads/repo_file/file/4921/textfile.txt +0 -1
  1623. data/spec/dummy/public/uploads/repo_file/file/4923/textfile.txt +0 -1
  1624. data/spec/dummy/public/uploads/repo_file/file/4929/textfile.txt +0 -1
  1625. data/spec/dummy/public/uploads/repo_file/file/4933/textfile.txt +0 -1
  1626. data/spec/dummy/public/uploads/repo_file/file/4934/textfile.txt +0 -1
  1627. data/spec/dummy/public/uploads/repo_file/file/4935/textfile.txt +0 -1
  1628. data/spec/dummy/public/uploads/repo_file/file/4936/textfile.txt +0 -1
  1629. data/spec/dummy/public/uploads/repo_file/file/4937/textfile.txt +0 -1
  1630. data/spec/dummy/public/uploads/repo_file/file/4938/textfile.txt +0 -1
  1631. data/spec/dummy/public/uploads/repo_file/file/4939/textfile.txt +0 -1
  1632. data/spec/dummy/public/uploads/repo_file/file/4940/textfile.txt +0 -1
  1633. data/spec/dummy/public/uploads/repo_file/file/4941/textfile.txt +0 -1
  1634. data/spec/dummy/public/uploads/repo_file/file/4942/textfile.txt +0 -1
  1635. data/spec/dummy/public/uploads/repo_file/file/4954/textfile.txt +0 -1
  1636. data/spec/dummy/public/uploads/repo_file/file/4956/textfile.txt +0 -1
  1637. data/spec/dummy/public/uploads/repo_file/file/4960/textfile.txt +0 -1
  1638. data/spec/dummy/public/uploads/repo_file/file/4963/textfile.txt +0 -1
  1639. data/spec/dummy/public/uploads/repo_file/file/4965/textfile.txt +0 -1
  1640. data/spec/dummy/public/uploads/repo_file/file/4966/textfile.txt +0 -1
  1641. data/spec/dummy/public/uploads/repo_file/file/4968/textfile.txt +0 -1
  1642. data/spec/dummy/public/uploads/repo_file/file/4974/textfile.txt +0 -1
  1643. data/spec/dummy/public/uploads/repo_file/file/4976/textfile.txt +0 -1
  1644. data/spec/dummy/public/uploads/repo_file/file/4978/textfile.txt +0 -1
  1645. data/spec/dummy/public/uploads/repo_file/file/4980/textfile.txt +0 -1
  1646. data/spec/dummy/public/uploads/repo_file/file/4982/textfile.txt +0 -1
  1647. data/spec/dummy/public/uploads/repo_file/file/4984/textfile.txt +0 -1
  1648. data/spec/dummy/public/uploads/repo_file/file/4986/textfile.txt +0 -1
  1649. data/spec/dummy/public/uploads/repo_file/file/4988/textfile.txt +0 -1
  1650. data/spec/dummy/public/uploads/repo_file/file/4990/textfile.txt +0 -1
  1651. data/spec/dummy/public/uploads/repo_file/file/4993/textfile.txt +0 -1
  1652. data/spec/dummy/public/uploads/repo_file/file/4994/textfile.txt +0 -1
  1653. data/spec/dummy/public/uploads/repo_file/file/4996/textfile.txt +0 -1
  1654. data/spec/dummy/public/uploads/repo_file/file/5002/textfile.txt +0 -1
  1655. data/spec/dummy/public/uploads/repo_file/file/5006/textfile.txt +0 -1
  1656. data/spec/dummy/public/uploads/repo_file/file/5007/textfile.txt +0 -1
  1657. data/spec/dummy/public/uploads/repo_file/file/5008/textfile.txt +0 -1
  1658. data/spec/dummy/public/uploads/repo_file/file/5009/textfile.txt +0 -1
  1659. data/spec/dummy/public/uploads/repo_file/file/5010/textfile.txt +0 -1
  1660. data/spec/dummy/public/uploads/repo_file/file/5011/textfile.txt +0 -1
  1661. data/spec/dummy/public/uploads/repo_file/file/5012/textfile.txt +0 -1
  1662. data/spec/dummy/public/uploads/repo_file/file/5013/textfile.txt +0 -1
  1663. data/spec/dummy/public/uploads/repo_file/file/8479/textfile.txt +0 -1
  1664. data/spec/dummy/public/uploads/repo_file/file/8480/textfile.txt +0 -1
  1665. data/spec/dummy/public/uploads/repo_file/file/8492/textfile.txt +0 -1
  1666. data/spec/dummy/public/uploads/repo_file/file/8494/textfile.txt +0 -1
  1667. data/spec/dummy/public/uploads/repo_file/file/8498/textfile.txt +0 -1
  1668. data/spec/dummy/public/uploads/repo_file/file/8501/textfile.txt +0 -1
  1669. data/spec/dummy/public/uploads/repo_file/file/8503/textfile.txt +0 -1
  1670. data/spec/dummy/public/uploads/repo_file/file/8504/textfile.txt +0 -1
  1671. data/spec/dummy/public/uploads/repo_file/file/8506/textfile.txt +0 -1
  1672. data/spec/dummy/public/uploads/repo_file/file/8512/textfile.txt +0 -1
  1673. data/spec/dummy/public/uploads/repo_file/file/8514/textfile.txt +0 -1
  1674. data/spec/dummy/public/uploads/repo_file/file/8516/textfile.txt +0 -1
  1675. data/spec/dummy/public/uploads/repo_file/file/8518/textfile.txt +0 -1
  1676. data/spec/dummy/public/uploads/repo_file/file/8520/textfile.txt +0 -1
  1677. data/spec/dummy/public/uploads/repo_file/file/8522/textfile.txt +0 -1
  1678. data/spec/dummy/public/uploads/repo_file/file/8524/textfile.txt +0 -1
  1679. data/spec/dummy/public/uploads/repo_file/file/8526/textfile.txt +0 -1
  1680. data/spec/dummy/public/uploads/repo_file/file/8528/textfile.txt +0 -1
  1681. data/spec/dummy/public/uploads/repo_file/file/8531/textfile.txt +0 -1
  1682. data/spec/dummy/public/uploads/repo_file/file/8532/textfile.txt +0 -1
  1683. data/spec/dummy/public/uploads/repo_file/file/8534/textfile.txt +0 -1
  1684. data/spec/dummy/public/uploads/repo_file/file/8540/textfile.txt +0 -1
  1685. data/spec/dummy/public/uploads/repo_file/file/8545/textfile.txt +0 -1
  1686. data/spec/dummy/public/uploads/repo_file/file/8547/textfile.txt +0 -1
  1687. data/spec/dummy/public/uploads/repo_file/file/8549/textfile.txt +0 -1
  1688. data/spec/dummy/public/uploads/repo_file/file/8551/textfile.txt +0 -1
  1689. data/spec/dummy/public/uploads/repo_file/file/8553/textfile.txt +0 -1
  1690. data/spec/dummy/public/uploads/repo_file/file/8559/textfile.txt +0 -1
  1691. data/spec/dummy/public/uploads/repo_file/file/8562/textfile.txt +0 -1
  1692. data/spec/dummy/public/uploads/repo_file/file/8563/textfile.txt +0 -1
  1693. data/spec/dummy/public/uploads/repo_file/file/8564/textfile.txt +0 -1
  1694. data/spec/dummy/public/uploads/repo_file/file/8566/textfile.txt +0 -1
  1695. data/spec/dummy/public/uploads/repo_file/file/8567/textfile.txt +0 -1
  1696. data/spec/dummy/public/uploads/repo_file/file/8568/textfile.txt +0 -1
  1697. data/spec/dummy/public/uploads/repo_file/file/8569/textfile.txt +0 -1
  1698. data/spec/dummy/public/uploads/repo_file/file/8570/textfile.txt +0 -1
  1699. data/spec/dummy/public/uploads/repo_file/file/8571/textfile.txt +0 -1
  1700. data/spec/dummy/public/uploads/repo_file/file/8572/textfile.txt +0 -1
  1701. data/spec/dummy/public/uploads/repo_file/file/8573/textfile.txt +0 -1
  1702. data/spec/dummy/public/uploads/repo_file/file/8574/textfile.txt +0 -1
  1703. data/spec/dummy/public/uploads/repo_file/file/8575/textfile.txt +0 -1
  1704. data/spec/dummy/public/uploads/repo_file/file/8576/textfile.txt +0 -1
  1705. data/spec/dummy/public/uploads/repo_file/file/8580/textfile.txt +0 -1
  1706. data/spec/dummy/public/uploads/repo_file/file/8582/textfile.txt +0 -1
  1707. data/spec/dummy/public/uploads/repo_file/file/8584/textfile.txt +0 -1
  1708. data/spec/dummy/public/uploads/repo_file/file/8586/textfile.txt +0 -1
  1709. data/spec/dummy/public/uploads/repo_file/file/8588/textfile.txt +0 -1
  1710. data/spec/dummy/public/uploads/repo_file/file/8590/textfile.txt +0 -1
  1711. data/spec/dummy/public/uploads/repo_file/file/8592/textfile.txt +0 -1
  1712. data/spec/dummy/public/uploads/repo_file/file/8594/textfile.txt +0 -1
  1713. data/spec/dummy/public/uploads/repo_file/file/8596/textfile.txt +0 -1
  1714. data/spec/dummy/public/uploads/repo_file/file/8598/textfile.txt +0 -1
  1715. data/spec/dummy/public/uploads/repo_file/file/8600/textfile.txt +0 -1
  1716. data/spec/dummy/public/uploads/repo_file/file/8602/textfile.txt +0 -1
  1717. data/spec/dummy/public/uploads/repo_file/file/8604/textfile.txt +0 -1
  1718. data/spec/dummy/public/uploads/repo_file/file/8606/textfile.txt +0 -1
  1719. data/spec/dummy/public/uploads/repo_file/file/8608/textfile.txt +0 -1
  1720. data/spec/dummy/public/uploads/repo_file/file/8610/textfile.txt +0 -1
  1721. data/spec/dummy/public/uploads/repo_file/file/8612/textfile.txt +0 -1
  1722. data/spec/dummy/public/uploads/repo_file/file/8614/textfile.txt +0 -1
  1723. data/spec/dummy/public/uploads/repo_file/file/8616/textfile.txt +0 -1
  1724. data/spec/dummy/public/uploads/repo_file/file/8618/textfile.txt +0 -1
  1725. data/spec/dummy/public/uploads/repo_file/file/8620/textfile.txt +0 -1
  1726. data/spec/dummy/public/uploads/repo_file/file/8622/textfile.txt +0 -1
  1727. data/spec/dummy/public/uploads/repo_file/file/8624/textfile.txt +0 -1
  1728. data/spec/dummy/public/uploads/repo_file/file/8626/textfile.txt +0 -1
  1729. data/spec/dummy/public/uploads/repo_file/file/8628/textfile.txt +0 -1
  1730. data/spec/dummy/public/uploads/repo_file/file/8629/textfile.txt +0 -1
  1731. data/spec/dummy/public/uploads/repo_file/file/8630/textfile.txt +0 -1
  1732. data/spec/dummy/public/uploads/repo_file/file/8631/textfile.txt +0 -1
  1733. data/spec/dummy/public/uploads/repo_file/file/8632/textfile.txt +0 -1
  1734. data/spec/dummy/public/uploads/repo_file/file/8633/textfile.txt +0 -1
  1735. data/spec/dummy/public/uploads/repo_file/file/8634/textfile.txt +0 -1
  1736. data/spec/dummy/public/uploads/repo_file/file/8635/textfile.txt +0 -1
  1737. data/spec/dummy/public/uploads/repo_file/file/8636/textfile.txt +0 -1
  1738. data/spec/dummy/public/uploads/repo_file/file/8640/textfile.txt +0 -1
  1739. data/spec/dummy/public/uploads/repo_file/file/8642/textfile.txt +0 -1
  1740. data/spec/dummy/public/uploads/repo_file/file/8644/textfile.txt +0 -1
  1741. data/spec/dummy/public/uploads/repo_file/file/8646/textfile.txt +0 -1
  1742. data/spec/dummy/public/uploads/repo_file/file/8648/textfile.txt +0 -1
  1743. data/spec/dummy/public/uploads/repo_file/file/8650/textfile.txt +0 -1
  1744. data/spec/dummy/public/uploads/repo_file/file/8652/textfile.txt +0 -1
  1745. data/spec/dummy/public/uploads/repo_file/file/8654/textfile.txt +0 -1
  1746. data/spec/dummy/public/uploads/repo_file/file/8656/textfile.txt +0 -1
  1747. data/spec/dummy/public/uploads/repo_file/file/8658/textfile.txt +0 -1
  1748. data/spec/dummy/public/uploads/repo_file/file/8660/textfile.txt +0 -1
  1749. data/spec/dummy/public/uploads/repo_file/file/8662/textfile.txt +0 -1
  1750. data/spec/dummy/public/uploads/repo_file/file/8664/textfile.txt +0 -1
  1751. data/spec/dummy/public/uploads/repo_file/file/8666/textfile.txt +0 -1
  1752. data/spec/dummy/public/uploads/repo_file/file/8668/textfile.txt +0 -1
  1753. data/spec/dummy/public/uploads/repo_file/file/8670/textfile.txt +0 -1
  1754. data/spec/dummy/public/uploads/repo_file/file/8672/textfile.txt +0 -1
  1755. data/spec/dummy/public/uploads/repo_file/file/8674/textfile.txt +0 -1
  1756. data/spec/dummy/public/uploads/repo_file/file/8676/textfile.txt +0 -1
  1757. data/spec/dummy/public/uploads/repo_file/file/8678/textfile.txt +0 -1
  1758. data/spec/dummy/public/uploads/repo_file/file/8680/textfile.txt +0 -1
  1759. data/spec/dummy/public/uploads/repo_file/file/8682/textfile.txt +0 -1
  1760. data/spec/dummy/public/uploads/repo_file/file/8684/textfile.txt +0 -1
  1761. data/spec/dummy/public/uploads/repo_file/file/8686/textfile.txt +0 -1
  1762. data/spec/dummy/public/uploads/repo_file/file/8688/textfile.txt +0 -1
  1763. data/spec/dummy/public/uploads/repo_file/file/8689/textfile.txt +0 -1
  1764. data/spec/dummy/public/uploads/repo_file/file/8690/textfile.txt +0 -1
  1765. data/spec/dummy/public/uploads/repo_file/file/8691/textfile.txt +0 -1
  1766. data/spec/dummy/public/uploads/repo_file/file/8692/textfile.txt +0 -1
  1767. data/spec/dummy/public/uploads/repo_file/file/8693/textfile.txt +0 -1
  1768. data/spec/dummy/public/uploads/repo_file/file/8694/textfile.txt +0 -1
  1769. data/spec/dummy/public/uploads/repo_file/file/8695/textfile.txt +0 -1
  1770. data/spec/dummy/public/uploads/repo_file/file/8696/textfile.txt +0 -1
  1771. data/spec/dummy/public/uploads/repo_file/file/8700/textfile.txt +0 -1
  1772. data/spec/dummy/public/uploads/repo_file/file/8702/textfile.txt +0 -1
  1773. data/spec/dummy/public/uploads/repo_file/file/8704/textfile.txt +0 -1
  1774. data/spec/dummy/public/uploads/repo_file/file/8706/textfile.txt +0 -1
  1775. data/spec/dummy/public/uploads/repo_file/file/8708/textfile.txt +0 -1
  1776. data/spec/dummy/public/uploads/repo_file/file/8710/textfile.txt +0 -1
  1777. data/spec/dummy/public/uploads/repo_file/file/8712/textfile.txt +0 -1
  1778. data/spec/dummy/public/uploads/repo_file/file/8714/textfile.txt +0 -1
  1779. data/spec/dummy/public/uploads/repo_file/file/8716/textfile.txt +0 -1
  1780. data/spec/dummy/public/uploads/repo_file/file/8718/textfile.txt +0 -1
  1781. data/spec/dummy/public/uploads/repo_file/file/8720/textfile.txt +0 -1
  1782. data/spec/dummy/public/uploads/repo_file/file/8722/textfile.txt +0 -1
  1783. data/spec/dummy/public/uploads/repo_file/file/8724/textfile.txt +0 -1
  1784. data/spec/dummy/public/uploads/repo_file/file/8726/textfile.txt +0 -1
  1785. data/spec/dummy/public/uploads/repo_file/file/8728/textfile.txt +0 -1
  1786. data/spec/dummy/public/uploads/repo_file/file/8730/textfile.txt +0 -1
  1787. data/spec/dummy/public/uploads/repo_file/file/8732/textfile.txt +0 -1
  1788. data/spec/dummy/public/uploads/repo_file/file/8734/textfile.txt +0 -1
  1789. data/spec/dummy/public/uploads/repo_file/file/8736/textfile.txt +0 -1
  1790. data/spec/dummy/public/uploads/repo_file/file/8738/textfile.txt +0 -1
  1791. data/spec/dummy/public/uploads/repo_file/file/8740/textfile.txt +0 -1
  1792. data/spec/dummy/public/uploads/repo_file/file/8742/textfile.txt +0 -1
  1793. data/spec/dummy/public/uploads/repo_file/file/8744/textfile.txt +0 -1
  1794. data/spec/dummy/public/uploads/repo_file/file/8746/textfile.txt +0 -1
  1795. data/spec/dummy/public/uploads/repo_file/file/8748/textfile.txt +0 -1
  1796. data/spec/dummy/public/uploads/repo_file/file/8749/textfile.txt +0 -1
  1797. data/spec/dummy/public/uploads/repo_file/file/8750/textfile.txt +0 -1
  1798. data/spec/dummy/public/uploads/repo_file/file/8751/textfile.txt +0 -1
  1799. data/spec/dummy/public/uploads/repo_file/file/8752/textfile.txt +0 -1
  1800. data/spec/dummy/public/uploads/repo_file/file/8753/textfile.txt +0 -1
  1801. data/spec/dummy/public/uploads/repo_file/file/8754/textfile.txt +0 -1
  1802. data/spec/dummy/public/uploads/repo_file/file/8755/textfile.txt +0 -1
  1803. data/spec/dummy/public/uploads/repo_file/file/8756/textfile.txt +0 -1
  1804. data/spec/dummy/public/uploads/repo_file/file/8757/textfile.txt +0 -1
  1805. data/spec/dummy/public/uploads/repo_file/file/8758/textfile.txt +0 -1
  1806. data/spec/dummy/public/uploads/repo_file/file/8770/textfile.txt +0 -1
  1807. data/spec/dummy/public/uploads/repo_file/file/8772/textfile.txt +0 -1
  1808. data/spec/dummy/public/uploads/repo_file/file/8776/textfile.txt +0 -1
  1809. data/spec/dummy/public/uploads/repo_file/file/8779/textfile.txt +0 -1
  1810. data/spec/dummy/public/uploads/repo_file/file/8781/textfile.txt +0 -1
  1811. data/spec/dummy/public/uploads/repo_file/file/8782/textfile.txt +0 -1
  1812. data/spec/dummy/public/uploads/repo_file/file/8784/textfile.txt +0 -1
  1813. data/spec/dummy/public/uploads/repo_file/file/8790/textfile.txt +0 -1
  1814. data/spec/dummy/public/uploads/repo_file/file/8792/textfile.txt +0 -1
  1815. data/spec/dummy/public/uploads/repo_file/file/8794/textfile.txt +0 -1
  1816. data/spec/dummy/public/uploads/repo_file/file/8796/textfile.txt +0 -1
  1817. data/spec/dummy/public/uploads/repo_file/file/8798/textfile.txt +0 -1
  1818. data/spec/dummy/public/uploads/repo_file/file/8800/textfile.txt +0 -1
  1819. data/spec/dummy/public/uploads/repo_file/file/8802/textfile.txt +0 -1
  1820. data/spec/dummy/public/uploads/repo_file/file/8804/textfile.txt +0 -1
  1821. data/spec/dummy/public/uploads/repo_file/file/8806/textfile.txt +0 -1
  1822. data/spec/dummy/public/uploads/repo_file/file/8809/textfile.txt +0 -1
  1823. data/spec/dummy/public/uploads/repo_file/file/8810/textfile.txt +0 -1
  1824. data/spec/dummy/public/uploads/repo_file/file/8812/textfile.txt +0 -1
  1825. data/spec/dummy/public/uploads/repo_file/file/8818/textfile.txt +0 -1
  1826. data/spec/dummy/public/uploads/repo_file/file/8823/textfile.txt +0 -1
  1827. data/spec/dummy/public/uploads/repo_file/file/8825/textfile.txt +0 -1
  1828. data/spec/dummy/public/uploads/repo_file/file/8827/textfile.txt +0 -1
  1829. data/spec/dummy/public/uploads/repo_file/file/8829/textfile.txt +0 -1
  1830. data/spec/dummy/public/uploads/repo_file/file/8831/textfile.txt +0 -1
  1831. data/spec/dummy/public/uploads/repo_file/file/8837/textfile.txt +0 -1
  1832. data/spec/dummy/public/uploads/repo_file/file/8840/textfile.txt +0 -1
  1833. data/spec/dummy/public/uploads/repo_file/file/8841/textfile.txt +0 -1
  1834. data/spec/dummy/public/uploads/repo_file/file/8842/textfile.txt +0 -1
  1835. data/spec/dummy/public/uploads/repo_file/file/8844/textfile.txt +0 -1
  1836. data/spec/dummy/public/uploads/repo_file/file/8845/textfile.txt +0 -1
  1837. data/spec/dummy/public/uploads/repo_file/file/8846/textfile.txt +0 -1
  1838. data/spec/dummy/public/uploads/repo_file/file/8847/textfile.txt +0 -1
  1839. data/spec/dummy/public/uploads/repo_file/file/8848/textfile.txt +0 -1
  1840. data/spec/dummy/public/uploads/repo_file/file/8849/textfile.txt +0 -1
  1841. data/spec/dummy/public/uploads/repo_file/file/8850/textfile.txt +0 -1
  1842. data/spec/dummy/public/uploads/repo_file/file/8851/textfile.txt +0 -1
  1843. data/spec/dummy/public/uploads/repo_file/file/8852/textfile.txt +0 -1
  1844. data/spec/dummy/public/uploads/repo_file/file/8853/textfile.txt +0 -1
  1845. data/spec/dummy/public/uploads/repo_file/file/8854/textfile.txt +0 -1
  1846. data/spec/dummy/public/uploads/repo_file/file/8855/textfile.txt +0 -1
  1847. data/spec/dummy/public/uploads/repo_file/file/8856/textfile.txt +0 -1
  1848. data/spec/dummy/public/uploads/repo_file/file/8868/textfile.txt +0 -1
  1849. data/spec/dummy/public/uploads/repo_file/file/8870/textfile.txt +0 -1
  1850. data/spec/dummy/public/uploads/repo_file/file/8874/textfile.txt +0 -1
  1851. data/spec/dummy/public/uploads/repo_file/file/8877/textfile.txt +0 -1
  1852. data/spec/dummy/public/uploads/repo_file/file/8879/textfile.txt +0 -1
  1853. data/spec/dummy/public/uploads/repo_file/file/8880/textfile.txt +0 -1
  1854. data/spec/dummy/public/uploads/repo_file/file/8882/textfile.txt +0 -1
  1855. data/spec/dummy/public/uploads/repo_file/file/8888/textfile.txt +0 -1
  1856. data/spec/dummy/public/uploads/repo_file/file/8890/textfile.txt +0 -1
  1857. data/spec/dummy/public/uploads/repo_file/file/8892/textfile.txt +0 -1
  1858. data/spec/dummy/public/uploads/repo_file/file/8894/textfile.txt +0 -1
  1859. data/spec/dummy/public/uploads/repo_file/file/8896/textfile.txt +0 -1
  1860. data/spec/dummy/public/uploads/repo_file/file/8898/textfile.txt +0 -1
  1861. data/spec/dummy/public/uploads/repo_file/file/8900/textfile.txt +0 -1
  1862. data/spec/dummy/public/uploads/repo_file/file/8902/textfile.txt +0 -1
  1863. data/spec/dummy/public/uploads/repo_file/file/8904/textfile.txt +0 -1
  1864. data/spec/dummy/public/uploads/repo_file/file/8907/textfile.txt +0 -1
  1865. data/spec/dummy/public/uploads/repo_file/file/8908/textfile.txt +0 -1
  1866. data/spec/dummy/public/uploads/repo_file/file/8910/textfile.txt +0 -1
  1867. data/spec/dummy/public/uploads/repo_file/file/8916/textfile.txt +0 -1
  1868. data/spec/dummy/public/uploads/repo_file/file/8921/textfile.txt +0 -1
  1869. data/spec/dummy/public/uploads/repo_file/file/8923/textfile.txt +0 -1
  1870. data/spec/dummy/public/uploads/repo_file/file/8925/textfile.txt +0 -1
  1871. data/spec/dummy/public/uploads/repo_file/file/8927/textfile.txt +0 -1
  1872. data/spec/dummy/public/uploads/repo_file/file/8929/textfile.txt +0 -1
  1873. data/spec/dummy/public/uploads/repo_file/file/8935/textfile.txt +0 -1
  1874. data/spec/dummy/public/uploads/repo_file/file/8938/textfile.txt +0 -1
  1875. data/spec/dummy/public/uploads/repo_file/file/8939/textfile.txt +0 -1
  1876. data/spec/dummy/public/uploads/repo_file/file/8940/textfile.txt +0 -1
  1877. data/spec/dummy/public/uploads/repo_file/file/8942/textfile.txt +0 -1
  1878. data/spec/dummy/public/uploads/repo_file/file/8943/textfile.txt +0 -1
  1879. data/spec/dummy/public/uploads/repo_file/file/8944/textfile.txt +0 -1
  1880. data/spec/dummy/public/uploads/repo_file/file/8945/textfile.txt +0 -1
  1881. data/spec/dummy/public/uploads/repo_file/file/8946/textfile.txt +0 -1
  1882. data/spec/dummy/public/uploads/repo_file/file/8947/textfile.txt +0 -1
  1883. data/spec/dummy/public/uploads/repo_file/file/8948/textfile.txt +0 -1
  1884. data/spec/dummy/public/uploads/repo_file/file/8949/textfile.txt +0 -1
  1885. data/spec/dummy/public/uploads/repo_file/file/8950/textfile.txt +0 -1
  1886. data/spec/dummy/public/uploads/repo_file/file/8951/textfile.txt +0 -1
  1887. data/spec/dummy/public/uploads/repo_file/file/8952/textfile.txt +0 -1
  1888. data/spec/dummy/public/uploads/repo_file/file/8953/textfile.txt +0 -1
  1889. data/spec/dummy/public/uploads/repo_file/file/8954/textfile.txt +0 -1
  1890. data/spec/dummy/public/uploads/repo_file/file/8966/textfile.txt +0 -1
  1891. data/spec/dummy/public/uploads/repo_file/file/8968/textfile.txt +0 -1
  1892. data/spec/dummy/public/uploads/repo_file/file/8972/textfile.txt +0 -1
  1893. data/spec/dummy/public/uploads/repo_file/file/8975/textfile.txt +0 -1
  1894. data/spec/dummy/public/uploads/repo_file/file/8977/textfile.txt +0 -1
  1895. data/spec/dummy/public/uploads/repo_file/file/8978/textfile.txt +0 -1
  1896. data/spec/dummy/public/uploads/repo_file/file/8980/textfile.txt +0 -1
  1897. data/spec/dummy/public/uploads/repo_file/file/8986/textfile.txt +0 -1
  1898. data/spec/dummy/public/uploads/repo_file/file/8988/textfile.txt +0 -1
  1899. data/spec/dummy/public/uploads/repo_file/file/8990/textfile.txt +0 -1
  1900. data/spec/dummy/public/uploads/repo_file/file/8992/textfile.txt +0 -1
  1901. data/spec/dummy/public/uploads/repo_file/file/8994/textfile.txt +0 -1
  1902. data/spec/dummy/public/uploads/repo_file/file/8996/textfile.txt +0 -1
  1903. data/spec/dummy/public/uploads/repo_file/file/8998/textfile.txt +0 -1
  1904. data/spec/dummy/public/uploads/repo_file/file/9000/textfile.txt +0 -1
  1905. data/spec/dummy/public/uploads/repo_file/file/9002/textfile.txt +0 -1
  1906. data/spec/dummy/public/uploads/repo_file/file/9005/textfile.txt +0 -1
  1907. data/spec/dummy/public/uploads/repo_file/file/9006/textfile.txt +0 -1
  1908. data/spec/dummy/public/uploads/repo_file/file/9008/textfile.txt +0 -1
  1909. data/spec/dummy/public/uploads/repo_file/file/9014/textfile.txt +0 -1
  1910. data/spec/dummy/public/uploads/repo_file/file/9019/textfile.txt +0 -1
  1911. data/spec/dummy/public/uploads/repo_file/file/9021/textfile.txt +0 -1
  1912. data/spec/dummy/public/uploads/repo_file/file/9023/textfile.txt +0 -1
  1913. data/spec/dummy/public/uploads/repo_file/file/9025/textfile.txt +0 -1
  1914. data/spec/dummy/public/uploads/repo_file/file/9027/textfile.txt +0 -1
  1915. data/spec/dummy/public/uploads/repo_file/file/9033/textfile.txt +0 -1
  1916. data/spec/dummy/public/uploads/repo_file/file/9036/textfile.txt +0 -1
  1917. data/spec/dummy/public/uploads/repo_file/file/9037/textfile.txt +0 -1
  1918. data/spec/dummy/public/uploads/repo_file/file/9038/textfile.txt +0 -1
  1919. data/spec/dummy/public/uploads/repo_file/file/9040/textfile.txt +0 -1
  1920. data/spec/dummy/public/uploads/repo_file/file/9041/textfile.txt +0 -1
  1921. data/spec/dummy/public/uploads/repo_file/file/9042/textfile.txt +0 -1
  1922. data/spec/dummy/public/uploads/repo_file/file/9043/textfile.txt +0 -1
  1923. data/spec/dummy/public/uploads/repo_file/file/9044/textfile.txt +0 -1
  1924. data/spec/dummy/public/uploads/repo_file/file/9045/textfile.txt +0 -1
  1925. data/spec/dummy/public/uploads/repo_file/file/9046/textfile.txt +0 -1
  1926. data/spec/dummy/public/uploads/repo_file/file/9047/textfile.txt +0 -1
  1927. data/spec/dummy/public/uploads/repo_file/file/9048/textfile.txt +0 -1
  1928. data/spec/dummy/public/uploads/repo_file/file/9049/textfile.txt +0 -1
  1929. data/spec/dummy/public/uploads/repo_file/file/9050/textfile.txt +0 -1
@@ -1,10 +1,10 @@
1
- module RepositoryManager
2
- class RepositoryManagerException < RuntimeError
3
- end
4
-
5
- class AuthorisationException < RepositoryManagerException
6
- end
7
-
8
- class NestedSharingException < RepositoryManagerException
9
- end
1
+ module RepositoryManager
2
+ class RepositoryManagerException < RuntimeError
3
+ end
4
+
5
+ class AuthorisationException < RepositoryManagerException
6
+ end
7
+
8
+ class NestedSharingException < RepositoryManagerException
9
+ end
10
10
  end
@@ -1,561 +1,615 @@
1
- module RepositoryManager
2
- module HasRepository
3
- extend ActiveSupport::Concern
4
-
5
- module ClassMethods
6
- def has_repository(options = {})
7
-
8
- has_many :sharings, through: :sharings_members, class_name: 'RepositoryManager::Sharing'
9
- has_many :sharings_members, class_name: 'RepositoryManager::SharingsMember', as: :member, dependent: :destroy
10
- has_many :sharings_owners, as: :owner, class_name: 'RepositoryManager::Sharing'
11
-
12
- # The own repo_items
13
- has_many :repo_items, as: :owner, class_name: 'RepositoryManager::RepoItem' #, dependent: :destroy
14
- # The sharing repo_items
15
- has_many :shared_repo_items, through: :sharings, source: :repo_item, class_name: 'RepositoryManager::RepoItem'
16
-
17
- if Rails::VERSION::MAJOR == 4
18
- has_many :root_repo_items, -> { where ancestry: nil }, as: :owner, class_name: 'RepositoryManager::RepoItem'
19
- #scope :root_repo_items, -> { where ancestry: nil }
20
- else
21
- has_many :root_repo_items, -> { where ancestry: nil}, as: :owner, class_name: 'RepositoryManager::RepoItem'
22
- #scope :root_repo_items, where(where ancestry: nil)
23
- end
24
-
25
- #scope :all_repo_items, -> { self.repo_items.shared_repo_items }
26
-
27
- #All repo_items (own and sharings)
28
- #has_many :all_repo_items
29
-
30
- include RepositoryManager::HasRepository::LocalInstanceMethods
31
- end
32
- end
33
-
34
- module LocalInstanceMethods
35
-
36
- # Sharing the repo_item with the members, with the options
37
- # options[:repo_item_permissions] contains :
38
- # <tt>:can_read</tt> - Member can download the repo_item
39
- # <tt>:can_create</tt> - Member can create a new repo_item on it
40
- # <tt>:can_edit</tt> - Member can edit the repo_item
41
- # <tt>:can_delete</tt> - Member can delete the repo_item
42
- # <tt>:can_share</tt> - Member can share the repo_item
43
- # options[:sharing_permissions] contains :
44
- # <tt>:can_add</tt> - Specify if the member can add objects to the sharing
45
- # <tt>:can_remove</tt> - Specify if the member can remove object to the sharing
46
- def share!(repo_item, members, options = {})
47
-
48
- # Nested sharing are not accepted
49
- if !RepositoryManager.accept_nested_sharing
50
- # Check if no other sharing exist in the path
51
- if repo_item.has_nested_sharing?
52
- raise RepositoryManager::NestedSharingException.new("sharing failed. Another sharing already exist on the subtree or an ancestor of '#{repo_item.name}'")
53
- end
54
- end
55
-
56
- authorisations = get_authorisations(repo_item)
57
-
58
- # Here we look if the instance has the authorisation for making a sharing
59
- if can_share?(nil, authorisations)
60
-
61
- # We put the default options
62
- repo_item_permissions = RepositoryManager.default_repo_item_permissions
63
- sharing_permissions = RepositoryManager.default_sharing_permissions
64
-
65
- # If there is options, we have to take it
66
- repo_item_permissions = options[:repo_item_permissions] if options[:repo_item_permissions]
67
- sharing_permissions = options[:sharing_permissions] if options[:sharing_permissions]
68
-
69
- # Correct the item permission with accepted permissions
70
- repo_item_permissions = make_repo_item_permissions(repo_item_permissions, authorisations)
71
-
72
- sharing = RepositoryManager::Sharing.new(repo_item_permissions)
73
- sharing.owner = self
74
- sharing.creator = options[:creator]
75
-
76
- sharing.add_members(members, sharing_permissions)
77
-
78
- repo_item.sharings << sharing
79
- repo_item.save
80
- sharing
81
- else
82
- # No permission => No sharing
83
- raise RepositoryManager::AuthorisationException.new("sharing failed. You don't have the permission to share the repo_item '#{repo_item.name}'")
84
- end
85
- end
86
-
87
- def share(repo_item, members, options = {})
88
- begin
89
- share!(repo_item, members, options)
90
- rescue RepositoryManager::AuthorisationException, RepositoryManager::NestedSharingException
91
- false
92
- end
93
- end
94
-
95
- # Create a folder with the name (name)
96
- # options :
97
- # :source_folder = The directory in with the folder is created
98
- # :sender = The object of the sender (ex : current_user)
99
- # Returns the object of the folder created if it is ok
100
- # Returns an Exception if the folder is not created
101
- # RepositoryManagerException if the name already exist
102
- # AuthorisationException if the object don't have the permission
103
- def create_folder!(name = '', options = {})
104
- source_folder = options[:source_folder]
105
- if source_folder
106
- unless source_folder.is_folder?
107
- raise RepositoryManager::RepositoryManagerException.new("create folder failed. The source folder must be a repo_folder.")
108
- end
109
- end
110
-
111
- # If he want to create a folder in a directory, we have to check if he have the authorisation
112
- if can_create?(source_folder)
113
-
114
- folder = RepoFolder.new
115
- if name == '' || name == nil || name == false || name.blank?
116
- folder.name = default_folder_name(source_folder)
117
- else
118
- folder.name = name
119
- end
120
- folder.owner = self
121
- folder.sender = options[:sender]
122
-
123
- # If we are in root path we check if we can add this folder name
124
- if !source_folder && repo_item_name_exist_in_root?(name)
125
- raise RepositoryManager::RepositoryManagerException.new("create folder failed. The repo_item '#{name}' already exist in the root folder.")
126
- end
127
-
128
- unless folder.save
129
- raise RepositoryManager::RepositoryManagerException.new("create_folder failed. Can\'t save the folder '#{name}'.")
130
- end
131
-
132
- # It raise an error if name already exist and destroy the folder
133
- source_folder.add!(folder, true) if source_folder
134
- else
135
- raise RepositoryManager::AuthorisationException.new("create_folder failed. You don't have the permission to create a folder in '#{source_folder.name}'")
136
- end
137
- folder
138
- end
139
-
140
- # Like create_folder!
141
- # Returns false if the folder is not created instead of an exception
142
- def create_folder(name = '', options = {})
143
- begin
144
- create_folder!(name, options)
145
- rescue RepositoryManager::AuthorisationException, RepositoryManager::RepositoryManagerException
146
- false
147
- end
148
- end
149
-
150
- # Delete the repo_item
151
- def delete_repo_item!(repo_item)
152
- if can_delete?(repo_item)
153
- repo_item.destroy
154
- else
155
- raise RepositoryManager::AuthorisationException.new("delete_repo_item failed. You don't have the permission to delete the repo_item '#{repo_item.name}'")
156
- end
157
- end
158
-
159
- def delete_repo_item(repo_item)
160
- begin
161
- delete_repo_item!(repo_item)
162
- rescue RepositoryManager::AuthorisationException
163
- false
164
- end
165
- end
166
-
167
- # Create the file (file) in the directory (source_folder)
168
- # options :
169
- # :source_folder = The directory in with the folder is created
170
- # :sender = The object of the sender (ex : current_user)
171
- #
172
- # Param file can be a File, or a instance of RepoFile
173
- # Returns the object of the file created if it is ok
174
- # Returns an Exception if the folder is not created
175
- # RepositoryManagerException if the file already exist
176
- # AuthorisationException if the object don't have the permission
177
- def create_file!(file, options = {})
178
- source_folder = options[:source_folder]
179
- if source_folder
180
- unless source_folder.is_folder?
181
- raise RepositoryManager::RepositoryManagerException.new("create file failed. The source folder must be a repo_folder.")
182
- end
183
- end
184
-
185
- # If he want to create a file in a directory, we have to check if he have the authorisation
186
- if can_create?(source_folder)
187
-
188
- if file.class.name == 'RepositoryManager::RepoFile'
189
- repo_file = file
190
- elsif file.class.name == 'File' || file.class.name == 'ActionDispatch::Http::UploadedFile'
191
- repo_file = RepositoryManager::RepoFile.new()
192
- repo_file.file = file
193
- else # "ActionController::Parameters"
194
- repo_file = RepositoryManager::RepoFile.new(file)
195
- end
196
-
197
- repo_file.owner = self
198
- repo_file.sender = options[:sender]
199
-
200
-
201
- # If we are in root path we check if we can add this file name
202
- if !source_folder && repo_item_name_exist_in_root?(repo_file.file.identifier)
203
- raise RepositoryManager::RepositoryManagerException.new("create file failed. The repo_item '#{repo_file.file.identifier}' already exist in the root folder.")
204
- end
205
-
206
- unless repo_file.save
207
- raise RepositoryManager::RepositoryManagerException.new("create_file failed. The file can't be save")
208
- end
209
-
210
- # It raise an error if name already exist and destroy the file
211
- source_folder.add!(repo_file, true) if source_folder
212
- else
213
- raise RepositoryManager::AuthorisationException.new("create_file failed. You don't have the permission to create a file")
214
- end
215
- repo_file
216
- end
217
-
218
- def create_file(file, options = {})
219
- begin
220
- create_file!(file, options)
221
- rescue RepositoryManager::AuthorisationException, RepositoryManager::RepositoryManagerException
222
- false
223
- end
224
- end
225
-
226
- # Gets the repo authorisations
227
- # Return false if the entity has not the authorisation to share this rep
228
- # Return true if the entity can share this rep with all the authorisations
229
- # Return an Array if the entity can share but with restriction
230
- # Return true if the repo_item is nil (he as all authorisations on his own rep)
231
- def get_authorisations(repo_item = nil)
232
- # If repo_item is nil, he can do what he want
233
- return true if repo_item == nil
234
-
235
- # If the member is the owner, he can do what he want !
236
- if repo_item.owner == self
237
- # You can do what ever you want :)
238
- return true
239
- # Find if a sharing of this rep exist for the self instance or it ancestors
240
- else
241
- path_ids = repo_item.path_ids
242
- # Check the nearest sharing if it exist
243
- if s = self.sharings.where(repo_item_id: path_ids).last
244
- return {can_share: s.can_share, can_read: s.can_read, can_create: s.can_create, can_update: s.can_update, can_delete: s.can_delete}
245
- end
246
- end
247
- # Else, false
248
- return false
249
- end
250
-
251
- # Download a repo_item if the object can_read it
252
- # If it is a file, he download the file
253
- # If it is a folder, we check witch repo_item is in it, and witch he can_read
254
- # We zip all the content that the object has access.
255
- # options
256
- # :path => 'path/to/zip'
257
- def download!(repo_item, options = {})
258
- if can_download?(repo_item)
259
- path = options[:path] if options[:path]
260
-
261
- repo_item.download!({object: self, path: path})
262
- else
263
- raise RepositoryManager::AuthorisationException.new("download failed. You don't have the permission to download the repo_item '#{repo_item.name}'")
264
- end
265
- end
266
-
267
- def download(repo_item, options = {})
268
- begin
269
- download!(repo_item, options)
270
- rescue RepositoryManager::AuthorisationException
271
- false
272
- end
273
- end
274
-
275
- # Rename the repo_item with the new_name
276
- def rename_repo_item!(repo_item, new_name)
277
- unless can_update?(repo_item)
278
- raise RepositoryManager::AuthorisationException.new("rename repo_item failed. You don't have the permission to update the repo_item '#{repo_item.name}'")
279
- end
280
- repo_item.rename!(new_name)
281
- end
282
-
283
- # Rename the repo_item with the new_name
284
- def rename_repo_item(repo_item, new_name)
285
- begin
286
- rename_repo_item!(repo_item, new_name)
287
- rescue RepositoryManager::AuthorisationException
288
- false
289
- end
290
- end
291
-
292
- # Move the repo_item in the target_folder
293
- def move_repo_item!(repo_item, target_folder)
294
- unless can_delete?(repo_item)
295
- raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to delete the repo_item '#{repo_item.name}'")
296
- end
297
- unless can_create?(target_folder)
298
- raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to create in the target_folder '#{target_folder.name}'")
299
- end
300
- # If it has the permission, we move the repo_item in the target_folder
301
- repo_item.move!(target_folder)
302
- end
303
-
304
- def move_repo_item(repo_item, target_folder)
305
- begin
306
- move_repo_item!(repo_item, target_folder)
307
- rescue RepositoryManager::RepositoryManagerException, RepositoryManager::AuthorisationException
308
- false
309
- end
310
- end
311
-
312
- # Delete the download folder of the user
313
- def delete_download_path
314
- FileUtils.rm_rf(self.get_default_download_path())
315
- end
316
-
317
- #Return the authorisations of the sharing (can_add, can_remove)
318
- def get_sharing_authorisations(sharing)
319
- sharing.get_authorisations(self)
320
- end
321
-
322
- # Return true if you can share the repo, else false
323
- # You can give the authorisations or the repo_item as params
324
- def can_share?(repo_item, authorisations = nil)
325
- can_do?('share', repo_item, authorisations)
326
- end
327
-
328
- # Return true if you can read the repo, else false
329
- def can_read?(repo_item, authorisations = nil)
330
- can_do?('read', repo_item, authorisations)
331
- end
332
-
333
- # Return true if you can download the repo, else false
334
- # Read = Download for the moment
335
- def can_download?(repo_item, authorisations = nil)
336
- can_do?('read', repo_item, authorisations)
337
- end
338
-
339
- # Return true if you can create in the repo, false else
340
- def can_create?(repo_item, authorisations = nil)
341
- can_do?('create', repo_item, authorisations)
342
- end
343
-
344
- # Returns true if you can edit the repo, false else
345
- def can_update?(repo_item, authorisations = nil)
346
- can_do?('update', repo_item, authorisations)
347
- end
348
-
349
- # Returns true if you can delete the repo, false else
350
- def can_delete?(repo_item, authorisations = nil)
351
- can_do?('delete', repo_item, authorisations)
352
- end
353
-
354
- ## Returns true if it exist a sharing in the ancestors of descendant_ids of the repo_item (without itself)
355
- #def has_sharing?(repo_item)
356
- # # An array with the ids of all ancestors and descendants
357
- # ancestor_and_descendant_ids = []
358
- # ancestor_and_descendant_ids << repo_item.descendant_ids if !repo_item.descendant_ids.empty?
359
- # ancestor_and_descendant_ids << repo_item.ancestor_ids if !repo_item.ancestor_ids.empty?
360
- #
361
- # # If it is a sharing, it returns true
362
- # if self.sharings.where(repo_item_id: ancestor_and_descendant_ids).count > 0
363
- # true
364
- # else
365
- # false
366
- # end
367
- #
368
- #end
369
-
370
- # Return true if you can add a member in this sharing, false else
371
- def can_add_to?(sharing)
372
- can_do_to?('add', sharing)
373
- end
374
-
375
- # Return true if you can remove a member in this sharing, false else
376
- def can_remove_from?(sharing)
377
- can_do_to?('remove', sharing)
378
- end
379
-
380
- # You can here add new members in the sharing
381
- # Param member could be an object or an array of object
382
- def add_members_to!(sharing, members, options = RepositoryManager.default_sharing_permissions)
383
- authorisations = get_sharing_authorisations(sharing)
384
- if can_add_to?(sharing)
385
- sharing_permissions = make_sharing_permissions(options, authorisations)
386
- sharing.add_members(members, sharing_permissions)
387
- else
388
- raise RepositoryManager::AuthorisationException.new("add members failed. You don't have the permission to add a member in this sharing")
389
- end
390
- end
391
-
392
- def add_members_to(sharing, members, options = RepositoryManager.default_sharing_permissions)
393
- begin
394
- add_members_to!(sharing, members, options = RepositoryManager.default_sharing_permissions)
395
- rescue RepositoryManager::AuthorisationException
396
- false
397
- end
398
- end
399
-
400
- # You can here remove members in the sharing
401
- # Param member could be an object or an array of object
402
- def remove_members_from!(sharing, members)
403
- if can_remove_from?(sharing)
404
- sharing.remove_members(members)
405
- else
406
- raise RepositoryManager::AuthorisationException.new("remove members failed. You don't have the permission to remove a member on this sharing")
407
- end
408
- end
409
-
410
- def remove_members_from(sharing, members)
411
- begin
412
- remove_members_from!(sharing, members)
413
- rescue RepositoryManager::AuthorisationException
414
- false
415
- end
416
- end
417
-
418
- # Get the download path of the member
419
- def get_default_download_path(prefix = 'download/')
420
- "#{prefix}#{self.class.base_class.to_s.underscore}/#{self.id}/"
421
- end
422
-
423
- # Returns true of false if the name exist in the root path of this instance
424
- def repo_item_name_exist_in_root?(name)
425
- # add : or file : name
426
- #RepoItem.where(name: name).where(owner: self).where(ancestry: nil).first ? true : false
427
- #puts RepoItem.where('name = ? OR file = ?', name, name).where(owner: self).where(ancestry: nil).first.inspect
428
- #puts self.inspect
429
-
430
- RepoItem.where('name = ? OR file = ?', name, name).where(owner: self).where(ancestry: nil).first ? true : false
431
-
432
- end
433
-
434
- private
435
-
436
- # Return if you can do or not this action in the sharing
437
- def can_do_to?(what, sharing, authorisations = nil)
438
- if authorisations == nil
439
- authorisations = sharing.get_authorisations(self)
440
- end
441
- case what
442
- when 'add'
443
- authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_add] == true)
444
- when 'remove'
445
- authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_remove] == true)
446
- end
447
- end
448
-
449
- # Return if you can do or not this action (what)
450
- def can_do?(what, repo_item, authorisations = nil)
451
- # If we pass no authorisations we have to get it
452
- if authorisations == nil
453
- authorisations = get_authorisations(repo_item)
454
- end
455
-
456
- case what
457
- when 'read'
458
- authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_read] == true)
459
- when 'delete'
460
- if RepositoryManager.accept_nested_sharing
461
- # TODO implement to look if he can delete all the folder
462
- else
463
- authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_delete] == true)
464
- end
465
- when 'update'
466
- authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_update] == true)
467
- when 'share'
468
- if RepositoryManager.accept_nested_sharing
469
- # TODO implement to look if he can delete all the folder
470
- else
471
- authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_share] == true)
472
- end
473
- when 'create'
474
- if RepositoryManager.accept_nested_sharing
475
- # TODO implement to look if he can delete all the folder
476
- else
477
- authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_create] == true)
478
- end
479
- else
480
- false
481
- end
482
-
483
- end
484
-
485
- # Correct the repo_item_permissions with the authorisations
486
- def make_repo_item_permissions(wanted_permissions, authorisations)
487
- # If it is an array, we have restriction in the permissions
488
- if authorisations.kind_of?(Hash) && wanted_permissions
489
- # Built the sharing with the accepted permissions
490
- # We remove the permission if we can't sharing it
491
- if wanted_permissions[:can_read] == true && authorisations[:can_read] == false
492
- wanted_permissions[:can_read] = false
493
- end
494
- if wanted_permissions[:can_create] == true && authorisations[:can_create] == false
495
- wanted_permissions[:can_create] = false
496
- end
497
- if wanted_permissions[:can_update] == true && authorisations[:can_update] == false
498
- wanted_permissions[:can_update] = false
499
- end
500
- if wanted_permissions[:can_delete] == true && authorisations[:can_delete] == false
501
- wanted_permissions[:can_delete] = false
502
- end
503
- if wanted_permissions[:can_share] == true && authorisations[:can_share] == false
504
- wanted_permissions[:can_share] = false
505
- end
506
- end
507
- return wanted_permissions
508
- end
509
-
510
- # Correct the sharing_permissions with the authorisations
511
- def make_sharing_permissions(wanted_permissions, authorisations)
512
- # If it is an array, we have restriction in the permissions
513
- if authorisations.kind_of?(Hash) && wanted_permissions
514
- # Built the sharing with the accepted permissions
515
- # We remove the permission if we can't share it
516
- if wanted_permissions[:can_add] == true && authorisations[:can_add] == false
517
- wanted_permissions[:can_add] = false
518
- end
519
- if wanted_permissions[:can_remove] == true && authorisations[:can_remove] == false
520
- wanted_permissions[:can_remove] = false
521
- end
522
- end
523
- return wanted_permissions
524
- end
525
-
526
- # Put a default name if none is given
527
- def default_folder_name(source_folder)
528
- i = ''
529
- name = "#{I18n.t 'repository_manager.models.repo_folder.name'}"
530
- # We check if another item has the same name
531
-
532
- if source_folder
533
- #TODO Optimiser, récupérer tout les instances contenants le nom, puis faire la boucle (pas boucle de requete)
534
- # We check if another item has the same name
535
- until !source_folder.name_exist_in_children?(name) do
536
- if i == ''
537
- i = 1
538
- end
539
- i += 1
540
- name = "#{I18n.t 'repository_manager.models.repo_folder.name'} #{i}"
541
- end
542
- else
543
- #TODO Optimiser, récupérer tout les instances contenants le nom, puis faire la boucle (pas boucle de requete)
544
- # Si il n'a pas de parent, racine
545
- until !repo_item_name_exist_in_root?(name) do
546
- if i == ''
547
- i = 1
548
- end
549
- i += 1
550
- name = "#{I18n.t 'repository_manager.models.repo_folder.name'} #{i}"
551
- end
552
-
553
- end
554
- name
555
- end
556
-
557
- end
558
- end
559
- end
560
-
1
+ module RepositoryManager
2
+ module HasRepository
3
+ extend ActiveSupport::Concern
4
+
5
+ module ClassMethods
6
+ def has_repository(options = {})
7
+
8
+ has_many :sharings, through: :sharings_members, class_name: 'RepositoryManager::Sharing'
9
+ has_many :sharings_members, class_name: 'RepositoryManager::SharingsMember', as: :member, dependent: :destroy
10
+ has_many :sharings_owners, as: :owner, class_name: 'RepositoryManager::Sharing'
11
+
12
+ # The own repo_items
13
+ has_many :repo_items, as: :owner, class_name: 'RepositoryManager::RepoItem' #, dependent: :destroy
14
+ # The sharing repo_items
15
+ has_many :shared_repo_items, through: :sharings, source: :repo_item, class_name: 'RepositoryManager::RepoItem'
16
+
17
+ if Rails::VERSION::MAJOR == 4
18
+ has_many :root_repo_items, -> { where ancestry: nil }, as: :owner, class_name: 'RepositoryManager::RepoItem'
19
+ has_many :root_shared_repo_items, -> { where ancestry: nil }, through: :sharings, source: :repo_item, class_name: 'RepositoryManager::RepoItem'
20
+ else
21
+ has_many :root_repo_items, where(ancestry: nil), as: :owner, class_name: 'RepositoryManager::RepoItem'
22
+ has_many :root_shared_repo_items, where(ancestry: nil), through: :sharings, source: :repo_item, class_name: 'RepositoryManager::RepoItem'
23
+ end
24
+
25
+ #scope :all_repo_items, -> { self.repo_items.shared_repo_items }
26
+
27
+ #All repo_items (own and sharings)
28
+ #has_many :all_repo_items
29
+
30
+ include RepositoryManager::HasRepository::LocalInstanceMethods
31
+ end
32
+ end
33
+
34
+ module LocalInstanceMethods
35
+
36
+ # Sharing the repo_item with the members, with the options
37
+ # options[:repo_item_permissions] contains :
38
+ # <tt>:can_read</tt> - Member can download the repo_item
39
+ # <tt>:can_create</tt> - Member can create a new repo_item on it
40
+ # <tt>:can_edit</tt> - Member can edit the repo_item
41
+ # <tt>:can_delete</tt> - Member can delete the repo_item
42
+ # <tt>:can_share</tt> - Member can share the repo_item
43
+ # options[:sharing_permissions] contains :
44
+ # <tt>:can_add</tt> - Specify if the member can add objects to the sharing
45
+ # <tt>:can_remove</tt> - Specify if the member can remove object to the sharing
46
+ def share!(repo_item, members, options = {})
47
+
48
+ # Nested sharing are not accepted
49
+ if !RepositoryManager.accept_nested_sharing
50
+ # Check if no other sharing exist in the path
51
+ if repo_item.has_nested_sharing?
52
+ raise RepositoryManager::NestedSharingException.new("sharing failed. Another sharing already exist on the subtree or an ancestor of '#{repo_item.name}'")
53
+ end
54
+ end
55
+
56
+ authorisations = get_authorisations(repo_item)
57
+
58
+ # Here we look if the instance has the authorisation for making a sharing
59
+ if can_share?(nil, authorisations)
60
+
61
+ # We put the default options
62
+ repo_item_permissions = RepositoryManager.default_repo_item_permissions
63
+ sharing_permissions = RepositoryManager.default_sharing_permissions
64
+
65
+ # If there is options, we have to take it
66
+ repo_item_permissions = options[:repo_item_permissions] if options[:repo_item_permissions]
67
+ sharing_permissions = options[:sharing_permissions] if options[:sharing_permissions]
68
+
69
+ # Correct the item permission with accepted permissions
70
+ repo_item_permissions = make_repo_item_permissions(repo_item_permissions, authorisations)
71
+
72
+ sharing = RepositoryManager::Sharing.new(repo_item_permissions)
73
+ sharing.owner = self
74
+ sharing.creator = options[:creator]
75
+
76
+ sharing.add_members(members, sharing_permissions)
77
+
78
+ repo_item.sharings << sharing
79
+ repo_item.save!
80
+ sharing
81
+ else
82
+ # No permission => No sharing
83
+ raise RepositoryManager::AuthorisationException.new("sharing failed. You don't have the permission to share the repo_item '#{repo_item.name}'")
84
+ end
85
+ end
86
+
87
+ def share(repo_item, members, options = {})
88
+ begin
89
+ share!(repo_item, members, options)
90
+ rescue RepositoryManager::AuthorisationException, RepositoryManager::NestedSharingException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
91
+ false
92
+ end
93
+ end
94
+
95
+ # Create a folder with the name (name)
96
+ # options :
97
+ # :source_folder = The directory in with the folder is created
98
+ # :sender = The object of the sender (ex : current_user)
99
+ # Returns the object of the folder created if it is ok
100
+ # Returns an Exception if the folder is not created
101
+ # RepositoryManagerException if the name already exist
102
+ # AuthorisationException if the object don't have the permission
103
+ def create_folder!(name = '', options = {})
104
+ source_folder = options[:source_folder]
105
+ if source_folder
106
+ unless source_folder.is_folder?
107
+ raise RepositoryManager::RepositoryManagerException.new("create folder failed. The source folder must be a repo_folder.")
108
+ end
109
+ end
110
+
111
+ # If he want to create a folder in a directory, we have to check if he have the authorisation
112
+ if can_create?(source_folder)
113
+
114
+ folder = RepoFolder.new
115
+ if name == '' || name == nil || name == false || name.blank?
116
+ folder.name = default_folder_name(source_folder)
117
+ else
118
+ folder.name = name
119
+ end
120
+ folder.owner = self
121
+ folder.sender = options[:sender]
122
+
123
+ # If we are in root path we check if we can add this folder name
124
+ if !source_folder && repo_item_name_exist_in_root?(name)
125
+ raise RepositoryManager::RepositoryManagerException.new("create folder failed. The repo_item '#{name}' already exist in the root folder.")
126
+ end
127
+
128
+ # It raise an error if name already exist and destroy the folder
129
+ source_folder.add!(folder) if source_folder
130
+
131
+ folder.save!
132
+ else
133
+ raise RepositoryManager::AuthorisationException.new("create_folder failed. You don't have the permission to create a folder in '#{source_folder.name}'")
134
+ end
135
+ folder
136
+ end
137
+
138
+ # Like create_folder!
139
+ # Returns false if the folder is not created instead of an exception
140
+ def create_folder(name = '', options = {})
141
+ begin
142
+ create_folder!(name, options)
143
+ rescue RepositoryManager::AuthorisationException, RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
144
+ false
145
+ end
146
+ end
147
+
148
+ # Delete the repo_item
149
+ def delete_repo_item!(repo_item)
150
+ if can_delete?(repo_item)
151
+ repo_item.destroy
152
+ else
153
+ raise RepositoryManager::AuthorisationException.new("delete_repo_item failed. You don't have the permission to delete the repo_item '#{repo_item.name}'")
154
+ end
155
+ end
156
+
157
+ def delete_repo_item(repo_item)
158
+ begin
159
+ delete_repo_item!(repo_item)
160
+ rescue RepositoryManager::AuthorisationException
161
+ false
162
+ end
163
+ end
164
+
165
+ # Create the file (file) in the directory (source_folder)
166
+ # options :
167
+ # :source_folder = The directory in with the folder is created
168
+ # :sender = The object of the sender (ex : current_user)
169
+ #
170
+ # Param file can be a File, or a instance of RepoFile
171
+ # Returns the object of the file created if it is ok
172
+ # Returns an Exception if the folder is not created
173
+ # RepositoryManagerException if the file already exist
174
+ # AuthorisationException if the object don't have the permission
175
+ def create_file!(file, options = {})
176
+ source_folder = options[:source_folder]
177
+ if source_folder
178
+ unless source_folder.is_folder?
179
+ raise RepositoryManager::RepositoryManagerException.new("create file failed. The source folder must be a repo_folder.")
180
+ end
181
+ end
182
+
183
+ # If he want to create a file in a directory, we have to check if he have the authorisation
184
+ if can_create?(source_folder)
185
+
186
+ if file.class.name == 'RepositoryManager::RepoFile'
187
+ repo_file = file
188
+ elsif file.class.name == 'File' || file.class.name == 'ActionDispatch::Http::UploadedFile'
189
+ repo_file = RepositoryManager::RepoFile.new()
190
+ repo_file.file = file
191
+ else # "ActionController::Parameters"
192
+ repo_file = RepositoryManager::RepoFile.new(file)
193
+ end
194
+
195
+ repo_file.owner = self
196
+ repo_file.sender = options[:sender]
197
+
198
+
199
+ # If we are in root path we check if we can add this file name
200
+ if !source_folder && repo_item_name_exist_in_root?(repo_file.file.identifier)
201
+ raise RepositoryManager::RepositoryManagerException.new("create file failed. The repo_item '#{repo_file.file.identifier}' already exist in the root folder.")
202
+ end
203
+
204
+ # It raise an error if name already exist and destroy the file
205
+ source_folder.add!(repo_file) if source_folder
206
+
207
+ repo_file.save!
208
+ else
209
+ raise RepositoryManager::AuthorisationException.new("create_file failed. You don't have the permission to create a file")
210
+ end
211
+ repo_file
212
+ end
213
+
214
+ def create_file(file, options = {})
215
+ begin
216
+ create_file!(file, options)
217
+ rescue RepositoryManager::AuthorisationException, RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
218
+ false
219
+ end
220
+ end
221
+
222
+ # Gets the repo authorisations
223
+ # Return false if the entity has not the authorisation to share this rep
224
+ # Return true if the entity can share this rep with all the authorisations
225
+ # Return an Array if the entity can share but with restriction
226
+ # Return true if the repo_item is nil (he as all authorisations on his own rep)
227
+ def get_authorisations(repo_item = nil)
228
+ # If repo_item is nil, he can do what he want
229
+ return true if repo_item == nil
230
+
231
+ # If the member is the owner, he can do what he want !
232
+ if repo_item.owner == self
233
+ # You can do what ever you want :)
234
+ return true
235
+ # Find if a sharing of this rep exist for the self instance or it ancestors
236
+ else
237
+ path_ids = repo_item.path_ids
238
+ # Check the nearest sharing if it exist
239
+ if s = self.sharings.where(repo_item_id: path_ids).last
240
+ return {can_share: s.can_share, can_read: s.can_read, can_create: s.can_create, can_update: s.can_update, can_delete: s.can_delete}
241
+ end
242
+ end
243
+ # Else, false
244
+ return false
245
+ end
246
+
247
+ # Download a repo_item if the object can_read it
248
+ # If it is a file, he download the file
249
+ # If it is a folder, we check witch repo_item is in it, and witch he can_read
250
+ # We zip all the content that the object has access.
251
+ # options
252
+ # :path => 'path/to/zip'
253
+ def download!(repo_item, options = {})
254
+ if can_download?(repo_item)
255
+ path = options[:path] if options[:path]
256
+
257
+ repo_item.download!({object: self, path: path})
258
+ else
259
+ raise RepositoryManager::AuthorisationException.new("download failed. You don't have the permission to download the repo_item '#{repo_item.name}'")
260
+ end
261
+ end
262
+
263
+ def download(repo_item, options = {})
264
+ begin
265
+ download!(repo_item, options)
266
+ rescue RepositoryManager::AuthorisationException
267
+ false
268
+ end
269
+ end
270
+
271
+ # Rename the repo_item with the new_name
272
+ def rename_repo_item!(repo_item, new_name)
273
+ unless can_update?(repo_item)
274
+ raise RepositoryManager::AuthorisationException.new("rename repo_item failed. You don't have the permission to update the repo_item '#{repo_item.name}'")
275
+ end
276
+ repo_item.rename!(new_name)
277
+ end
278
+
279
+ # Rename the repo_item with the new_name
280
+ def rename_repo_item(repo_item, new_name)
281
+ begin
282
+ rename_repo_item!(repo_item, new_name)
283
+ rescue RepositoryManager::AuthorisationException
284
+ false
285
+ end
286
+ end
287
+
288
+ # Move the repo_item. If you let all options empty, the item is moving into the self.root
289
+ # options
290
+ # :source_folder => move into this source_folder
291
+ # :owner => the new owner if we move it to root (source_folder => nil)
292
+ def move_repo_item!(repo_item, options = {})
293
+ # If we want to change the owner we have to have the can_delete authorisation
294
+ if options[:source_folder]
295
+ # If want to change the owner, we have to check if we have the authorisation
296
+ if options[:source_folder].owner != repo_item.owner && !can_delete?(repo_item)
297
+ raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to delete the repo_item '#{repo_item.name}'")
298
+ end
299
+ # If we don't want to change the owner, we look if we can_update
300
+ if options[:source_folder].owner == repo_item.owner && !can_update?(repo_item)
301
+ raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to update the '#{repo_item.name}'")
302
+ end
303
+ # We check if we can_create in the source_folder
304
+ unless can_create?(options[:source_folder])
305
+ raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to create in the source_folder '#{options[:source_folder].name}'")
306
+ end
307
+ elsif options[:owner]
308
+ # elsif there is no source_folder, but a specify owner, we check if we can delete, if owner change
309
+ if options[:owner] != repo_item.owner && !can_delete?(repo_item)
310
+ raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to delete the repo_item '#{repo_item.name}'")
311
+ end
312
+ # If we don't want to change the owner, we look if we can_update
313
+ if options[:owner] == repo_item.owner && !can_update?(repo_item)
314
+ raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to update the '#{repo_item.name}'")
315
+ end
316
+ else
317
+ # Else if there is no source_folder, we check if we can delete the repo_item, if the owner change
318
+ if self != repo_item.owner && !can_delete?(repo_item)
319
+ raise RepositoryManager::AuthorisationException.new("move repo_item failed. You don't have the permission to delete the repo_item '#{repo_item.name}'")
320
+ end
321
+ end
322
+ # We put the owner
323
+ if options[:source_folder]
324
+ owner = options[:source_folder].owner
325
+ elsif options[:owner]
326
+ owner = options[:owner].owner
327
+ else
328
+ owner = self
329
+ end
330
+ # If it has the permission, we move the repo_item in the source_folder
331
+ repo_item.move!(source_folder: options[:source_folder], owner: owner)
332
+ end
333
+
334
+ def move_repo_item(repo_item, options = {})
335
+ begin
336
+ move_repo_item!(repo_item, options)
337
+ rescue RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
338
+ false
339
+ end
340
+ end
341
+
342
+ # Copy the repo_item in the source_folder or in the root
343
+ # options
344
+ # :source_folder => the folder in witch we want to copy the repo item
345
+ # :sender => the new sender (by default => owner)
346
+ def copy_repo_item!(repo_item, options = {})
347
+ unless can_read?(repo_item)
348
+ raise RepositoryManager::AuthorisationException.new("copy repo_item failed. You don't have the permission to read the repo_item '#{repo_item.name}'")
349
+ end
350
+
351
+ if options[:source_folder] && !can_create?(options[:source_folder])
352
+ raise RepositoryManager::AuthorisationException.new("copy repo_item failed. You don't have the permission to create in the source_folder '#{source_folder.name}'")
353
+ end
354
+ # If it has the permission, we move the repo_item in the source_folder
355
+ repo_item.copy!(source_folder: options[:source_folder], owner: self, sender: options[:sender])
356
+ end
357
+
358
+ def copy_repo_item(repo_item, options = {})
359
+ begin
360
+ copy_repo_item!(repo_item, options)
361
+ rescue RepositoryManager::AuthorisationException, RepositoryManager::RepositoryManagerException, ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved
362
+ false
363
+ end
364
+ end
365
+
366
+ # Delete the download folder of the user
367
+ def delete_download_path
368
+ FileUtils.rm_rf(self.get_default_download_path())
369
+ end
370
+
371
+ #Return the authorisations of the sharing (can_add, can_remove)
372
+ def get_sharing_authorisations(sharing)
373
+ sharing.get_authorisations(self)
374
+ end
375
+
376
+ # Return true if you can share the repo, else false
377
+ # You can give the authorisations or the repo_item as params
378
+ def can_share?(repo_item, authorisations = nil)
379
+ can_do?('share', repo_item, authorisations)
380
+ end
381
+
382
+ # Return true if you can read the repo, else false
383
+ def can_read?(repo_item, authorisations = nil)
384
+ can_do?('read', repo_item, authorisations)
385
+ end
386
+
387
+ # Return true if you can download the repo, else false
388
+ # Read = Download for the moment
389
+ def can_download?(repo_item, authorisations = nil)
390
+ can_do?('read', repo_item, authorisations)
391
+ end
392
+
393
+ # Return true if you can create in the repo, false else
394
+ def can_create?(repo_item, authorisations = nil)
395
+ can_do?('create', repo_item, authorisations)
396
+ end
397
+
398
+ # Returns true if you can edit the repo, false else
399
+ def can_update?(repo_item, authorisations = nil)
400
+ can_do?('update', repo_item, authorisations)
401
+ end
402
+
403
+ # Returns true if you can delete the repo, false else
404
+ def can_delete?(repo_item, authorisations = nil)
405
+ can_do?('delete', repo_item, authorisations)
406
+ end
407
+
408
+ ## Returns true if it exist a sharing in the ancestors of descendant_ids of the repo_item (without itself)
409
+ #def has_sharing?(repo_item)
410
+ # # An array with the ids of all ancestors and descendants
411
+ # ancestor_and_descendant_ids = []
412
+ # ancestor_and_descendant_ids << repo_item.descendant_ids if !repo_item.descendant_ids.empty?
413
+ # ancestor_and_descendant_ids << repo_item.ancestor_ids if !repo_item.ancestor_ids.empty?
414
+ #
415
+ # # If it is a sharing, it returns true
416
+ # if self.sharings.where(repo_item_id: ancestor_and_descendant_ids).count > 0
417
+ # true
418
+ # else
419
+ # false
420
+ # end
421
+ #
422
+ #end
423
+
424
+ # Return true if you can add a member in this sharing, false else
425
+ def can_add_to?(sharing)
426
+ can_do_to?('add', sharing)
427
+ end
428
+
429
+ # Return true if you can remove a member in this sharing, false else
430
+ def can_remove_from?(sharing)
431
+ can_do_to?('remove', sharing)
432
+ end
433
+
434
+ # You can here add new members in the sharing
435
+ # Param member could be an object or an array of object
436
+ def add_members_to!(sharing, members, options = RepositoryManager.default_sharing_permissions)
437
+ authorisations = get_sharing_authorisations(sharing)
438
+ if can_add_to?(sharing)
439
+ sharing_permissions = make_sharing_permissions(options, authorisations)
440
+ sharing.add_members(members, sharing_permissions)
441
+ else
442
+ raise RepositoryManager::AuthorisationException.new("add members failed. You don't have the permission to add a member in this sharing")
443
+ end
444
+ end
445
+
446
+ def add_members_to(sharing, members, options = RepositoryManager.default_sharing_permissions)
447
+ begin
448
+ add_members_to!(sharing, members, options = RepositoryManager.default_sharing_permissions)
449
+ rescue RepositoryManager::AuthorisationException
450
+ false
451
+ end
452
+ end
453
+
454
+ # You can here remove members in the sharing
455
+ # Param member could be an object or an array of object
456
+ def remove_members_from!(sharing, members)
457
+ if can_remove_from?(sharing)
458
+ sharing.remove_members(members)
459
+ else
460
+ raise RepositoryManager::AuthorisationException.new("remove members failed. You don't have the permission to remove a member on this sharing")
461
+ end
462
+ end
463
+
464
+ def remove_members_from(sharing, members)
465
+ begin
466
+ remove_members_from!(sharing, members)
467
+ rescue RepositoryManager::AuthorisationException
468
+ false
469
+ end
470
+ end
471
+
472
+ # Get the download path of the member
473
+ def get_default_download_path(prefix = 'download/')
474
+ "#{prefix}#{self.class.base_class.to_s.underscore}/#{self.id}/"
475
+ end
476
+
477
+ # Returns true of false if the name exist in the root path of this instance
478
+ def repo_item_name_exist_in_root?(name)
479
+ # add : or file : name
480
+ #RepoItem.where(name: name).where(owner: self).where(ancestry: nil).first ? true : false
481
+ #puts RepoItem.where('name = ? OR file = ?', name, name).where(owner: self).where(ancestry: nil).first.inspect
482
+ #puts self.inspect
483
+
484
+ RepoItem.where('name = ? OR file = ?', name, name).where(owner: self).where(ancestry: nil).first ? true : false
485
+
486
+ end
487
+
488
+ private
489
+
490
+ # Return if you can do or not this action in the sharing
491
+ def can_do_to?(what, sharing, authorisations = nil)
492
+ if authorisations == nil
493
+ authorisations = sharing.get_authorisations(self)
494
+ end
495
+ case what
496
+ when 'add'
497
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_add] == true)
498
+ when 'remove'
499
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_remove] == true)
500
+ end
501
+ end
502
+
503
+ # Return if you can do or not this action (what)
504
+ def can_do?(what, repo_item, authorisations = nil)
505
+ # If we pass no authorisations we have to get it
506
+ if authorisations == nil
507
+ authorisations = get_authorisations(repo_item)
508
+ end
509
+
510
+ case what
511
+ when 'read'
512
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_read] == true)
513
+ when 'delete'
514
+ if RepositoryManager.accept_nested_sharing
515
+ # TODO implement to look if he can delete all the folder
516
+ else
517
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_delete] == true)
518
+ end
519
+ when 'update'
520
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_update] == true)
521
+ when 'share'
522
+ if RepositoryManager.accept_nested_sharing
523
+ # TODO implement to look if he can delete all the folder
524
+ else
525
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_share] == true)
526
+ end
527
+ when 'create'
528
+ if RepositoryManager.accept_nested_sharing
529
+ # TODO implement to look if he can delete all the folder
530
+ else
531
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_create] == true)
532
+ end
533
+ else
534
+ false
535
+ end
536
+
537
+ end
538
+
539
+ # Correct the repo_item_permissions with the authorisations
540
+ def make_repo_item_permissions(wanted_permissions, authorisations)
541
+ # If it is an array, we have restriction in the permissions
542
+ if authorisations.kind_of?(Hash) && wanted_permissions
543
+ # Built the sharing with the accepted permissions
544
+ # We remove the permission if we can't sharing it
545
+ if wanted_permissions[:can_read] == true && authorisations[:can_read] == false
546
+ wanted_permissions[:can_read] = false
547
+ end
548
+ if wanted_permissions[:can_create] == true && authorisations[:can_create] == false
549
+ wanted_permissions[:can_create] = false
550
+ end
551
+ if wanted_permissions[:can_update] == true && authorisations[:can_update] == false
552
+ wanted_permissions[:can_update] = false
553
+ end
554
+ if wanted_permissions[:can_delete] == true && authorisations[:can_delete] == false
555
+ wanted_permissions[:can_delete] = false
556
+ end
557
+ if wanted_permissions[:can_share] == true && authorisations[:can_share] == false
558
+ wanted_permissions[:can_share] = false
559
+ end
560
+ end
561
+ return wanted_permissions
562
+ end
563
+
564
+ # Correct the sharing_permissions with the authorisations
565
+ def make_sharing_permissions(wanted_permissions, authorisations)
566
+ # If it is an array, we have restriction in the permissions
567
+ if authorisations.kind_of?(Hash) && wanted_permissions
568
+ # Built the sharing with the accepted permissions
569
+ # We remove the permission if we can't share it
570
+ if wanted_permissions[:can_add] == true && authorisations[:can_add] == false
571
+ wanted_permissions[:can_add] = false
572
+ end
573
+ if wanted_permissions[:can_remove] == true && authorisations[:can_remove] == false
574
+ wanted_permissions[:can_remove] = false
575
+ end
576
+ end
577
+ return wanted_permissions
578
+ end
579
+
580
+ # Put a default name if none is given
581
+ def default_folder_name(source_folder)
582
+ i = ''
583
+ name = "#{I18n.t 'repository_manager.models.repo_folder.name'}"
584
+ # We check if another item has the same name
585
+
586
+ if source_folder
587
+ folders = source_folder.children
588
+ else
589
+ folders = RepositoryManager::RepoFolder.where('name LIKE ?', "%#{name}%").where(owner: self).where(ancestry: nil).to_a
590
+ end
591
+ # Si il n'a pas de parent, racine
592
+ until !name_exist_in_array(folders, name) do
593
+ if i == ''
594
+ i = 1
595
+ end
596
+ i += 1
597
+ name = "#{I18n.t 'repository_manager.models.repo_folder.name'} #{i}"
598
+ end
599
+ name
600
+ end
601
+
602
+ def name_exist_in_array(folders, name)
603
+ folders.each do |folder|
604
+ if folder.name == name
605
+ return true
606
+ end
607
+ end
608
+ return false
609
+ end
610
+
611
+ end
612
+ end
613
+ end
614
+
561
615
  ActiveRecord::Base.send :include, RepositoryManager::HasRepository