repository-manager 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1951) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/Rakefile +29 -0
  3. data/app/models/app_file.rb +16 -0
  4. data/app/models/folder.rb +7 -0
  5. data/app/models/repository.rb +33 -0
  6. data/app/models/share.rb +55 -0
  7. data/app/models/shares_item.rb +9 -0
  8. data/app/uploaders/repository_uploader.rb +51 -0
  9. data/db/migrate/20131018214212_create_repository_manager.rb +40 -0
  10. data/db/migrate/20131025085844_add_file_to_repositories.rb +8 -0
  11. data/lib/generators/repository_manager/install_generator.rb +30 -0
  12. data/lib/generators/repository_manager/templates/initializer.rb +4 -0
  13. data/lib/repository_manager.rb +11 -0
  14. data/lib/repository_manager/has_repository.rb +304 -0
  15. data/lib/repository_manager/version.rb +3 -0
  16. data/lib/tasks/repository_manager_tasks.rake +4 -0
  17. data/spec/dummy/README.rdoc +28 -0
  18. data/spec/dummy/Rakefile +6 -0
  19. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  20. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  21. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  22. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  23. data/spec/dummy/app/models/app_file.rb +16 -0
  24. data/spec/dummy/app/models/folder.rb +7 -0
  25. data/spec/dummy/app/models/group.rb +6 -0
  26. data/spec/dummy/app/models/repository.rb +33 -0
  27. data/spec/dummy/app/models/share.rb +55 -0
  28. data/spec/dummy/app/models/shares_item.rb +9 -0
  29. data/spec/dummy/app/models/user.rb +6 -0
  30. data/spec/dummy/app/uploaders/repository_uploader.rb +51 -0
  31. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  32. data/spec/dummy/bin/bundle +3 -0
  33. data/spec/dummy/bin/rails +4 -0
  34. data/spec/dummy/bin/rake +4 -0
  35. data/spec/dummy/config.ru +4 -0
  36. data/spec/dummy/config/application.rb +23 -0
  37. data/spec/dummy/config/boot.rb +5 -0
  38. data/spec/dummy/config/database.yml +25 -0
  39. data/spec/dummy/config/environment.rb +5 -0
  40. data/spec/dummy/config/environments/development.rb +29 -0
  41. data/spec/dummy/config/environments/production.rb +80 -0
  42. data/spec/dummy/config/environments/test.rb +36 -0
  43. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  44. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  45. data/spec/dummy/config/initializers/inflections.rb +16 -0
  46. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  47. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  48. data/spec/dummy/config/initializers/session_store.rb +3 -0
  49. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  50. data/spec/dummy/config/locales/en.yml +30 -0
  51. data/spec/dummy/config/routes.rb +56 -0
  52. data/spec/dummy/db/development.sqlite3 +0 -0
  53. data/spec/dummy/db/migrate/20131016193722_create_users.rb +11 -0
  54. data/spec/dummy/db/migrate/20131016193834_create_groups.rb +10 -0
  55. data/spec/dummy/db/migrate/20131016194207_create_groups_users.rb +5 -0
  56. data/spec/dummy/db/migrate/20131018214212_create_repository_manager.rb +40 -0
  57. data/spec/dummy/db/migrate/20131025085844_add_file_to_repositories.rb +8 -0
  58. data/spec/dummy/db/schema.rb +65 -0
  59. data/spec/dummy/db/test.sqlite3 +0 -0
  60. data/spec/dummy/log/development.log +656 -0
  61. data/spec/dummy/log/test.log +79848 -0
  62. data/spec/dummy/public/404.html +58 -0
  63. data/spec/dummy/public/422.html +58 -0
  64. data/spec/dummy/public/500.html +57 -0
  65. data/spec/dummy/public/favicon.ico +0 -0
  66. data/spec/dummy/public/uploads/app_file/name/1/textfile.txt +1 -0
  67. data/spec/dummy/public/uploads/app_file/name/1003/textfile.txt +1 -0
  68. data/spec/dummy/public/uploads/app_file/name/1006/textfile.txt +1 -0
  69. data/spec/dummy/public/uploads/app_file/name/1008/textfile.txt +1 -0
  70. data/spec/dummy/public/uploads/app_file/name/1009/textfile.txt +1 -0
  71. data/spec/dummy/public/uploads/app_file/name/101/textfile.txt +1 -0
  72. data/spec/dummy/public/uploads/app_file/name/1011/textfile.txt +1 -0
  73. data/spec/dummy/public/uploads/app_file/name/1015/textfile.txt +1 -0
  74. data/spec/dummy/public/uploads/app_file/name/1017/textfile.txt +1 -0
  75. data/spec/dummy/public/uploads/app_file/name/1018/textfile.txt +1 -0
  76. data/spec/dummy/public/uploads/app_file/name/1019/textfile.txt +1 -0
  77. data/spec/dummy/public/uploads/app_file/name/102/textfile.txt +1 -0
  78. data/spec/dummy/public/uploads/app_file/name/1028/textfile.txt +1 -0
  79. data/spec/dummy/public/uploads/app_file/name/1030/textfile.txt +1 -0
  80. data/spec/dummy/public/uploads/app_file/name/1034/textfile.txt +1 -0
  81. data/spec/dummy/public/uploads/app_file/name/1037/textfile.txt +1 -0
  82. data/spec/dummy/public/uploads/app_file/name/1039/textfile.txt +1 -0
  83. data/spec/dummy/public/uploads/app_file/name/1040/textfile.txt +1 -0
  84. data/spec/dummy/public/uploads/app_file/name/1042/textfile.txt +1 -0
  85. data/spec/dummy/public/uploads/app_file/name/1048/textfile.txt +1 -0
  86. data/spec/dummy/public/uploads/app_file/name/1050/textfile.txt +1 -0
  87. data/spec/dummy/public/uploads/app_file/name/1052/textfile.txt +1 -0
  88. data/spec/dummy/public/uploads/app_file/name/1053/textfile.txt +1 -0
  89. data/spec/dummy/public/uploads/app_file/name/1054/textfile.txt +1 -0
  90. data/spec/dummy/public/uploads/app_file/name/1063/textfile.txt +1 -0
  91. data/spec/dummy/public/uploads/app_file/name/1065/textfile.txt +1 -0
  92. data/spec/dummy/public/uploads/app_file/name/1069/textfile.txt +1 -0
  93. data/spec/dummy/public/uploads/app_file/name/1072/textfile.txt +1 -0
  94. data/spec/dummy/public/uploads/app_file/name/1074/textfile.txt +1 -0
  95. data/spec/dummy/public/uploads/app_file/name/1075/textfile.txt +1 -0
  96. data/spec/dummy/public/uploads/app_file/name/1077/textfile.txt +1 -0
  97. data/spec/dummy/public/uploads/app_file/name/1083/textfile.txt +1 -0
  98. data/spec/dummy/public/uploads/app_file/name/1085/textfile.txt +1 -0
  99. data/spec/dummy/public/uploads/app_file/name/1087/textfile.txt +1 -0
  100. data/spec/dummy/public/uploads/app_file/name/1088/textfile.txt +1 -0
  101. data/spec/dummy/public/uploads/app_file/name/1089/textfile.txt +1 -0
  102. data/spec/dummy/public/uploads/app_file/name/1098/textfile.txt +1 -0
  103. data/spec/dummy/public/uploads/app_file/name/11/textfile.txt +1 -0
  104. data/spec/dummy/public/uploads/app_file/name/1100/textfile.txt +1 -0
  105. data/spec/dummy/public/uploads/app_file/name/1104/textfile.txt +1 -0
  106. data/spec/dummy/public/uploads/app_file/name/1107/textfile.txt +1 -0
  107. data/spec/dummy/public/uploads/app_file/name/1109/textfile.txt +1 -0
  108. data/spec/dummy/public/uploads/app_file/name/111/textfile.txt +1 -0
  109. data/spec/dummy/public/uploads/app_file/name/1110/textfile.txt +1 -0
  110. data/spec/dummy/public/uploads/app_file/name/1112/textfile.txt +1 -0
  111. data/spec/dummy/public/uploads/app_file/name/1118/textfile.txt +1 -0
  112. data/spec/dummy/public/uploads/app_file/name/112/textfile.txt +1 -0
  113. data/spec/dummy/public/uploads/app_file/name/1120/textfile.txt +1 -0
  114. data/spec/dummy/public/uploads/app_file/name/1122/textfile.txt +1 -0
  115. data/spec/dummy/public/uploads/app_file/name/1124/textfile.txt +1 -0
  116. data/spec/dummy/public/uploads/app_file/name/1125/textfile.txt +1 -0
  117. data/spec/dummy/public/uploads/app_file/name/1126/textfile.txt +1 -0
  118. data/spec/dummy/public/uploads/app_file/name/1136/textfile.txt +1 -0
  119. data/spec/dummy/public/uploads/app_file/name/1138/textfile.txt +1 -0
  120. data/spec/dummy/public/uploads/app_file/name/1140/textfile.txt +1 -0
  121. data/spec/dummy/public/uploads/app_file/name/1142/textfile.txt +1 -0
  122. data/spec/dummy/public/uploads/app_file/name/1144/textfile.txt +1 -0
  123. data/spec/dummy/public/uploads/app_file/name/1146/textfile.txt +1 -0
  124. data/spec/dummy/public/uploads/app_file/name/1148/textfile.txt +1 -0
  125. data/spec/dummy/public/uploads/app_file/name/1150/textfile.txt +1 -0
  126. data/spec/dummy/public/uploads/app_file/name/1152/textfile.txt +1 -0
  127. data/spec/dummy/public/uploads/app_file/name/1154/textfile.txt +1 -0
  128. data/spec/dummy/public/uploads/app_file/name/1155/textfile.txt +1 -0
  129. data/spec/dummy/public/uploads/app_file/name/1156/textfile.txt +1 -0
  130. data/spec/dummy/public/uploads/app_file/name/1165/textfile.txt +1 -0
  131. data/spec/dummy/public/uploads/app_file/name/1167/textfile.txt +1 -0
  132. data/spec/dummy/public/uploads/app_file/name/1171/textfile.txt +1 -0
  133. data/spec/dummy/public/uploads/app_file/name/1174/textfile.txt +1 -0
  134. data/spec/dummy/public/uploads/app_file/name/1176/textfile.txt +1 -0
  135. data/spec/dummy/public/uploads/app_file/name/1177/textfile.txt +1 -0
  136. data/spec/dummy/public/uploads/app_file/name/1179/textfile.txt +1 -0
  137. data/spec/dummy/public/uploads/app_file/name/1185/textfile.txt +1 -0
  138. data/spec/dummy/public/uploads/app_file/name/1187/textfile.txt +1 -0
  139. data/spec/dummy/public/uploads/app_file/name/1189/textfile.txt +1 -0
  140. data/spec/dummy/public/uploads/app_file/name/1191/textfile.txt +1 -0
  141. data/spec/dummy/public/uploads/app_file/name/1192/textfile.txt +1 -0
  142. data/spec/dummy/public/uploads/app_file/name/1193/textfile.txt +1 -0
  143. data/spec/dummy/public/uploads/app_file/name/12/textfile.txt +1 -0
  144. data/spec/dummy/public/uploads/app_file/name/1202/textfile.txt +1 -0
  145. data/spec/dummy/public/uploads/app_file/name/1204/textfile.txt +1 -0
  146. data/spec/dummy/public/uploads/app_file/name/1208/textfile.txt +1 -0
  147. data/spec/dummy/public/uploads/app_file/name/1211/textfile.txt +1 -0
  148. data/spec/dummy/public/uploads/app_file/name/1213/textfile.txt +1 -0
  149. data/spec/dummy/public/uploads/app_file/name/1214/textfile.txt +1 -0
  150. data/spec/dummy/public/uploads/app_file/name/1216/textfile.txt +1 -0
  151. data/spec/dummy/public/uploads/app_file/name/122/textfile.txt +1 -0
  152. data/spec/dummy/public/uploads/app_file/name/1222/textfile.txt +1 -0
  153. data/spec/dummy/public/uploads/app_file/name/1224/textfile.txt +1 -0
  154. data/spec/dummy/public/uploads/app_file/name/1226/textfile.txt +1 -0
  155. data/spec/dummy/public/uploads/app_file/name/1228/textfile.txt +1 -0
  156. data/spec/dummy/public/uploads/app_file/name/1229/textfile.txt +1 -0
  157. data/spec/dummy/public/uploads/app_file/name/1230/textfile.txt +1 -0
  158. data/spec/dummy/public/uploads/app_file/name/1239/textfile.txt +1 -0
  159. data/spec/dummy/public/uploads/app_file/name/124/textfile.txt +1 -0
  160. data/spec/dummy/public/uploads/app_file/name/1241/textfile.txt +1 -0
  161. data/spec/dummy/public/uploads/app_file/name/1245/textfile.txt +1 -0
  162. data/spec/dummy/public/uploads/app_file/name/1248/textfile.txt +1 -0
  163. data/spec/dummy/public/uploads/app_file/name/125/textfile.txt +1 -0
  164. data/spec/dummy/public/uploads/app_file/name/1250/textfile.txt +1 -0
  165. data/spec/dummy/public/uploads/app_file/name/1251/textfile.txt +1 -0
  166. data/spec/dummy/public/uploads/app_file/name/1253/textfile.txt +1 -0
  167. data/spec/dummy/public/uploads/app_file/name/1259/textfile.txt +1 -0
  168. data/spec/dummy/public/uploads/app_file/name/1261/textfile.txt +1 -0
  169. data/spec/dummy/public/uploads/app_file/name/1263/textfile.txt +1 -0
  170. data/spec/dummy/public/uploads/app_file/name/1265/textfile.txt +1 -0
  171. data/spec/dummy/public/uploads/app_file/name/1266/textfile.txt +1 -0
  172. data/spec/dummy/public/uploads/app_file/name/1267/textfile.txt +1 -0
  173. data/spec/dummy/public/uploads/app_file/name/1276/textfile.txt +1 -0
  174. data/spec/dummy/public/uploads/app_file/name/1278/textfile.txt +1 -0
  175. data/spec/dummy/public/uploads/app_file/name/1282/textfile.txt +1 -0
  176. data/spec/dummy/public/uploads/app_file/name/1285/textfile.txt +1 -0
  177. data/spec/dummy/public/uploads/app_file/name/1287/textfile.txt +1 -0
  178. data/spec/dummy/public/uploads/app_file/name/1288/textfile.txt +1 -0
  179. data/spec/dummy/public/uploads/app_file/name/1290/textfile.txt +1 -0
  180. data/spec/dummy/public/uploads/app_file/name/1296/textfile.txt +1 -0
  181. data/spec/dummy/public/uploads/app_file/name/1298/textfile.txt +1 -0
  182. data/spec/dummy/public/uploads/app_file/name/1300/textfile.txt +1 -0
  183. data/spec/dummy/public/uploads/app_file/name/1302/textfile.txt +1 -0
  184. data/spec/dummy/public/uploads/app_file/name/1303/textfile.txt +1 -0
  185. data/spec/dummy/public/uploads/app_file/name/1304/textfile.txt +1 -0
  186. data/spec/dummy/public/uploads/app_file/name/1313/textfile.txt +1 -0
  187. data/spec/dummy/public/uploads/app_file/name/1315/textfile.txt +1 -0
  188. data/spec/dummy/public/uploads/app_file/name/1319/textfile.txt +1 -0
  189. data/spec/dummy/public/uploads/app_file/name/1322/textfile.txt +1 -0
  190. data/spec/dummy/public/uploads/app_file/name/1324/textfile.txt +1 -0
  191. data/spec/dummy/public/uploads/app_file/name/1325/textfile.txt +1 -0
  192. data/spec/dummy/public/uploads/app_file/name/1327/textfile.txt +1 -0
  193. data/spec/dummy/public/uploads/app_file/name/1333/textfile.txt +1 -0
  194. data/spec/dummy/public/uploads/app_file/name/1335/textfile.txt +1 -0
  195. data/spec/dummy/public/uploads/app_file/name/1337/textfile.txt +1 -0
  196. data/spec/dummy/public/uploads/app_file/name/1339/textfile.txt +1 -0
  197. data/spec/dummy/public/uploads/app_file/name/1340/textfile.txt +1 -0
  198. data/spec/dummy/public/uploads/app_file/name/1341/textfile.txt +1 -0
  199. data/spec/dummy/public/uploads/app_file/name/135/textfile.txt +1 -0
  200. data/spec/dummy/public/uploads/app_file/name/1350/textfile.txt +1 -0
  201. data/spec/dummy/public/uploads/app_file/name/1352/textfile.txt +1 -0
  202. data/spec/dummy/public/uploads/app_file/name/1356/textfile.txt +1 -0
  203. data/spec/dummy/public/uploads/app_file/name/1359/textfile.txt +1 -0
  204. data/spec/dummy/public/uploads/app_file/name/1361/textfile.txt +1 -0
  205. data/spec/dummy/public/uploads/app_file/name/1362/textfile.txt +1 -0
  206. data/spec/dummy/public/uploads/app_file/name/1364/textfile.txt +1 -0
  207. data/spec/dummy/public/uploads/app_file/name/137/textfile.txt +1 -0
  208. data/spec/dummy/public/uploads/app_file/name/1370/textfile.txt +1 -0
  209. data/spec/dummy/public/uploads/app_file/name/1372/textfile.txt +1 -0
  210. data/spec/dummy/public/uploads/app_file/name/1374/textfile.txt +1 -0
  211. data/spec/dummy/public/uploads/app_file/name/1376/textfile.txt +1 -0
  212. data/spec/dummy/public/uploads/app_file/name/1377/textfile.txt +1 -0
  213. data/spec/dummy/public/uploads/app_file/name/1378/textfile.txt +1 -0
  214. data/spec/dummy/public/uploads/app_file/name/138/textfile.txt +1 -0
  215. data/spec/dummy/public/uploads/app_file/name/1387/textfile.txt +1 -0
  216. data/spec/dummy/public/uploads/app_file/name/1389/textfile.txt +1 -0
  217. data/spec/dummy/public/uploads/app_file/name/1393/textfile.txt +1 -0
  218. data/spec/dummy/public/uploads/app_file/name/1396/textfile.txt +1 -0
  219. data/spec/dummy/public/uploads/app_file/name/1398/textfile.txt +1 -0
  220. data/spec/dummy/public/uploads/app_file/name/1399/textfile.txt +1 -0
  221. data/spec/dummy/public/uploads/app_file/name/1401/textfile.txt +1 -0
  222. data/spec/dummy/public/uploads/app_file/name/1407/textfile.txt +1 -0
  223. data/spec/dummy/public/uploads/app_file/name/1409/textfile.txt +1 -0
  224. data/spec/dummy/public/uploads/app_file/name/1411/textfile.txt +1 -0
  225. data/spec/dummy/public/uploads/app_file/name/1413/textfile.txt +1 -0
  226. data/spec/dummy/public/uploads/app_file/name/1414/textfile.txt +1 -0
  227. data/spec/dummy/public/uploads/app_file/name/1415/textfile.txt +1 -0
  228. data/spec/dummy/public/uploads/app_file/name/1424/textfile.txt +1 -0
  229. data/spec/dummy/public/uploads/app_file/name/1426/textfile.txt +1 -0
  230. data/spec/dummy/public/uploads/app_file/name/1430/textfile.txt +1 -0
  231. data/spec/dummy/public/uploads/app_file/name/1433/textfile.txt +1 -0
  232. data/spec/dummy/public/uploads/app_file/name/1435/textfile.txt +1 -0
  233. data/spec/dummy/public/uploads/app_file/name/1436/textfile.txt +1 -0
  234. data/spec/dummy/public/uploads/app_file/name/1438/textfile.txt +1 -0
  235. data/spec/dummy/public/uploads/app_file/name/1444/textfile.txt +1 -0
  236. data/spec/dummy/public/uploads/app_file/name/1446/textfile.txt +1 -0
  237. data/spec/dummy/public/uploads/app_file/name/1448/textfile.txt +1 -0
  238. data/spec/dummy/public/uploads/app_file/name/1450/textfile.txt +1 -0
  239. data/spec/dummy/public/uploads/app_file/name/1451/textfile.txt +1 -0
  240. data/spec/dummy/public/uploads/app_file/name/1452/textfile.txt +1 -0
  241. data/spec/dummy/public/uploads/app_file/name/1461/textfile.txt +1 -0
  242. data/spec/dummy/public/uploads/app_file/name/1463/textfile.txt +1 -0
  243. data/spec/dummy/public/uploads/app_file/name/1467/textfile.txt +1 -0
  244. data/spec/dummy/public/uploads/app_file/name/1470/textfile.txt +1 -0
  245. data/spec/dummy/public/uploads/app_file/name/1472/textfile.txt +1 -0
  246. data/spec/dummy/public/uploads/app_file/name/1473/textfile.txt +1 -0
  247. data/spec/dummy/public/uploads/app_file/name/1475/textfile.txt +1 -0
  248. data/spec/dummy/public/uploads/app_file/name/148/textfile.txt +1 -0
  249. data/spec/dummy/public/uploads/app_file/name/1481/textfile.txt +1 -0
  250. data/spec/dummy/public/uploads/app_file/name/1483/textfile.txt +1 -0
  251. data/spec/dummy/public/uploads/app_file/name/1485/textfile.txt +1 -0
  252. data/spec/dummy/public/uploads/app_file/name/1487/textfile.txt +1 -0
  253. data/spec/dummy/public/uploads/app_file/name/1488/textfile.txt +1 -0
  254. data/spec/dummy/public/uploads/app_file/name/1489/textfile.txt +1 -0
  255. data/spec/dummy/public/uploads/app_file/name/1498/textfile.txt +1 -0
  256. data/spec/dummy/public/uploads/app_file/name/150/textfile.txt +1 -0
  257. data/spec/dummy/public/uploads/app_file/name/1500/textfile.txt +1 -0
  258. data/spec/dummy/public/uploads/app_file/name/1504/textfile.txt +1 -0
  259. data/spec/dummy/public/uploads/app_file/name/1507/textfile.txt +1 -0
  260. data/spec/dummy/public/uploads/app_file/name/1509/textfile.txt +1 -0
  261. data/spec/dummy/public/uploads/app_file/name/151/textfile.txt +1 -0
  262. data/spec/dummy/public/uploads/app_file/name/1510/textfile.txt +1 -0
  263. data/spec/dummy/public/uploads/app_file/name/1512/textfile.txt +1 -0
  264. data/spec/dummy/public/uploads/app_file/name/1518/textfile.txt +1 -0
  265. data/spec/dummy/public/uploads/app_file/name/1520/textfile.txt +1 -0
  266. data/spec/dummy/public/uploads/app_file/name/1522/textfile.txt +1 -0
  267. data/spec/dummy/public/uploads/app_file/name/1524/textfile.txt +1 -0
  268. data/spec/dummy/public/uploads/app_file/name/1525/textfile.txt +1 -0
  269. data/spec/dummy/public/uploads/app_file/name/1526/textfile.txt +1 -0
  270. data/spec/dummy/public/uploads/app_file/name/1535/textfile.txt +1 -0
  271. data/spec/dummy/public/uploads/app_file/name/1537/textfile.txt +1 -0
  272. data/spec/dummy/public/uploads/app_file/name/1541/textfile.txt +1 -0
  273. data/spec/dummy/public/uploads/app_file/name/1544/textfile.txt +1 -0
  274. data/spec/dummy/public/uploads/app_file/name/1546/textfile.txt +1 -0
  275. data/spec/dummy/public/uploads/app_file/name/1547/textfile.txt +1 -0
  276. data/spec/dummy/public/uploads/app_file/name/1549/textfile.txt +1 -0
  277. data/spec/dummy/public/uploads/app_file/name/1555/textfile.txt +1 -0
  278. data/spec/dummy/public/uploads/app_file/name/1557/textfile.txt +1 -0
  279. data/spec/dummy/public/uploads/app_file/name/1559/textfile.txt +1 -0
  280. data/spec/dummy/public/uploads/app_file/name/1561/textfile.txt +1 -0
  281. data/spec/dummy/public/uploads/app_file/name/1562/textfile.txt +1 -0
  282. data/spec/dummy/public/uploads/app_file/name/1563/textfile.txt +1 -0
  283. data/spec/dummy/public/uploads/app_file/name/1572/textfile.txt +1 -0
  284. data/spec/dummy/public/uploads/app_file/name/1574/textfile.txt +1 -0
  285. data/spec/dummy/public/uploads/app_file/name/1578/textfile.txt +1 -0
  286. data/spec/dummy/public/uploads/app_file/name/1581/textfile.txt +1 -0
  287. data/spec/dummy/public/uploads/app_file/name/1583/textfile.txt +1 -0
  288. data/spec/dummy/public/uploads/app_file/name/1584/textfile.txt +1 -0
  289. data/spec/dummy/public/uploads/app_file/name/1586/textfile.txt +1 -0
  290. data/spec/dummy/public/uploads/app_file/name/159/textfile.txt +1 -0
  291. data/spec/dummy/public/uploads/app_file/name/1592/textfile.txt +1 -0
  292. data/spec/dummy/public/uploads/app_file/name/1594/textfile.txt +1 -0
  293. data/spec/dummy/public/uploads/app_file/name/1596/textfile.txt +1 -0
  294. data/spec/dummy/public/uploads/app_file/name/1598/textfile.txt +1 -0
  295. data/spec/dummy/public/uploads/app_file/name/1599/textfile.txt +1 -0
  296. data/spec/dummy/public/uploads/app_file/name/160/textfile.txt +1 -0
  297. data/spec/dummy/public/uploads/app_file/name/1600/textfile.txt +1 -0
  298. data/spec/dummy/public/uploads/app_file/name/1608/textfile.txt +1 -0
  299. data/spec/dummy/public/uploads/app_file/name/161/textfile.txt +1 -0
  300. data/spec/dummy/public/uploads/app_file/name/1610/textfile.txt +1 -0
  301. data/spec/dummy/public/uploads/app_file/name/1612/textfile.txt +1 -0
  302. data/spec/dummy/public/uploads/app_file/name/1614/textfile.txt +1 -0
  303. data/spec/dummy/public/uploads/app_file/name/1616/textfile.txt +1 -0
  304. data/spec/dummy/public/uploads/app_file/name/1618/textfile.txt +1 -0
  305. data/spec/dummy/public/uploads/app_file/name/162/textfile.txt +1 -0
  306. data/spec/dummy/public/uploads/app_file/name/1620/textfile.txt +1 -0
  307. data/spec/dummy/public/uploads/app_file/name/1622/textfile.txt +1 -0
  308. data/spec/dummy/public/uploads/app_file/name/1624/textfile.txt +1 -0
  309. data/spec/dummy/public/uploads/app_file/name/1626/textfile.txt +1 -0
  310. data/spec/dummy/public/uploads/app_file/name/1627/textfile.txt +1 -0
  311. data/spec/dummy/public/uploads/app_file/name/1628/textfile.txt +1 -0
  312. data/spec/dummy/public/uploads/app_file/name/163/textfile.txt +1 -0
  313. data/spec/dummy/public/uploads/app_file/name/1636/textfile.txt +1 -0
  314. data/spec/dummy/public/uploads/app_file/name/1638/textfile.txt +1 -0
  315. data/spec/dummy/public/uploads/app_file/name/164/textfile.txt +1 -0
  316. data/spec/dummy/public/uploads/app_file/name/1640/textfile.txt +1 -0
  317. data/spec/dummy/public/uploads/app_file/name/1642/textfile.txt +1 -0
  318. data/spec/dummy/public/uploads/app_file/name/1644/textfile.txt +1 -0
  319. data/spec/dummy/public/uploads/app_file/name/1646/textfile.txt +1 -0
  320. data/spec/dummy/public/uploads/app_file/name/1648/textfile.txt +1 -0
  321. data/spec/dummy/public/uploads/app_file/name/165/textfile.txt +1 -0
  322. data/spec/dummy/public/uploads/app_file/name/1650/textfile.txt +1 -0
  323. data/spec/dummy/public/uploads/app_file/name/1652/textfile.txt +1 -0
  324. data/spec/dummy/public/uploads/app_file/name/1654/textfile.txt +1 -0
  325. data/spec/dummy/public/uploads/app_file/name/1655/textfile.txt +1 -0
  326. data/spec/dummy/public/uploads/app_file/name/1656/textfile.txt +1 -0
  327. data/spec/dummy/public/uploads/app_file/name/166/textfile.txt +1 -0
  328. data/spec/dummy/public/uploads/app_file/name/1666/textfile.txt +1 -0
  329. data/spec/dummy/public/uploads/app_file/name/1668/textfile.txt +1 -0
  330. data/spec/dummy/public/uploads/app_file/name/167/textfile.txt +1 -0
  331. data/spec/dummy/public/uploads/app_file/name/1670/textfile.txt +1 -0
  332. data/spec/dummy/public/uploads/app_file/name/1672/textfile.txt +1 -0
  333. data/spec/dummy/public/uploads/app_file/name/1674/textfile.txt +1 -0
  334. data/spec/dummy/public/uploads/app_file/name/1676/textfile.txt +1 -0
  335. data/spec/dummy/public/uploads/app_file/name/1678/textfile.txt +1 -0
  336. data/spec/dummy/public/uploads/app_file/name/168/textfile.txt +1 -0
  337. data/spec/dummy/public/uploads/app_file/name/1680/textfile.txt +1 -0
  338. data/spec/dummy/public/uploads/app_file/name/1682/textfile.txt +1 -0
  339. data/spec/dummy/public/uploads/app_file/name/1684/textfile.txt +1 -0
  340. data/spec/dummy/public/uploads/app_file/name/1685/textfile.txt +1 -0
  341. data/spec/dummy/public/uploads/app_file/name/1686/textfile.txt +1 -0
  342. data/spec/dummy/public/uploads/app_file/name/169/textfile.txt +1 -0
  343. data/spec/dummy/public/uploads/app_file/name/1695/textfile.txt +1 -0
  344. data/spec/dummy/public/uploads/app_file/name/1697/textfile.txt +1 -0
  345. data/spec/dummy/public/uploads/app_file/name/170/textfile.txt +1 -0
  346. data/spec/dummy/public/uploads/app_file/name/1701/textfile.txt +1 -0
  347. data/spec/dummy/public/uploads/app_file/name/1704/textfile.txt +1 -0
  348. data/spec/dummy/public/uploads/app_file/name/1706/textfile.txt +1 -0
  349. data/spec/dummy/public/uploads/app_file/name/1707/textfile.txt +1 -0
  350. data/spec/dummy/public/uploads/app_file/name/1709/textfile.txt +1 -0
  351. data/spec/dummy/public/uploads/app_file/name/1715/textfile.txt +1 -0
  352. data/spec/dummy/public/uploads/app_file/name/1717/textfile.txt +1 -0
  353. data/spec/dummy/public/uploads/app_file/name/1719/textfile.txt +1 -0
  354. data/spec/dummy/public/uploads/app_file/name/1721/textfile.txt +1 -0
  355. data/spec/dummy/public/uploads/app_file/name/1722/textfile.txt +1 -0
  356. data/spec/dummy/public/uploads/app_file/name/1723/textfile.txt +1 -0
  357. data/spec/dummy/public/uploads/app_file/name/173/textfile.txt +1 -0
  358. data/spec/dummy/public/uploads/app_file/name/1732/textfile.txt +1 -0
  359. data/spec/dummy/public/uploads/app_file/name/1734/textfile.txt +1 -0
  360. data/spec/dummy/public/uploads/app_file/name/1738/textfile.txt +1 -0
  361. data/spec/dummy/public/uploads/app_file/name/174/textfile.txt +1 -0
  362. data/spec/dummy/public/uploads/app_file/name/1741/textfile.txt +1 -0
  363. data/spec/dummy/public/uploads/app_file/name/1743/textfile.txt +1 -0
  364. data/spec/dummy/public/uploads/app_file/name/1744/textfile.txt +1 -0
  365. data/spec/dummy/public/uploads/app_file/name/1746/textfile.txt +1 -0
  366. data/spec/dummy/public/uploads/app_file/name/175/textfile.txt +1 -0
  367. data/spec/dummy/public/uploads/app_file/name/1752/textfile.txt +1 -0
  368. data/spec/dummy/public/uploads/app_file/name/1754/textfile.txt +1 -0
  369. data/spec/dummy/public/uploads/app_file/name/1756/textfile.txt +1 -0
  370. data/spec/dummy/public/uploads/app_file/name/1758/textfile.txt +1 -0
  371. data/spec/dummy/public/uploads/app_file/name/1759/textfile.txt +1 -0
  372. data/spec/dummy/public/uploads/app_file/name/176/textfile.txt +1 -0
  373. data/spec/dummy/public/uploads/app_file/name/1760/textfile.txt +1 -0
  374. data/spec/dummy/public/uploads/app_file/name/1769/textfile.txt +1 -0
  375. data/spec/dummy/public/uploads/app_file/name/177/textfile.txt +1 -0
  376. data/spec/dummy/public/uploads/app_file/name/1771/textfile.txt +1 -0
  377. data/spec/dummy/public/uploads/app_file/name/1775/textfile.txt +1 -0
  378. data/spec/dummy/public/uploads/app_file/name/1778/textfile.txt +1 -0
  379. data/spec/dummy/public/uploads/app_file/name/178/textfile.txt +1 -0
  380. data/spec/dummy/public/uploads/app_file/name/1780/textfile.txt +1 -0
  381. data/spec/dummy/public/uploads/app_file/name/1781/textfile.txt +1 -0
  382. data/spec/dummy/public/uploads/app_file/name/1783/textfile.txt +1 -0
  383. data/spec/dummy/public/uploads/app_file/name/1789/textfile.txt +1 -0
  384. data/spec/dummy/public/uploads/app_file/name/179/textfile.txt +1 -0
  385. data/spec/dummy/public/uploads/app_file/name/1791/textfile.txt +1 -0
  386. data/spec/dummy/public/uploads/app_file/name/1793/textfile.txt +1 -0
  387. data/spec/dummy/public/uploads/app_file/name/1795/textfile.txt +1 -0
  388. data/spec/dummy/public/uploads/app_file/name/1796/textfile.txt +1 -0
  389. data/spec/dummy/public/uploads/app_file/name/1797/textfile.txt +1 -0
  390. data/spec/dummy/public/uploads/app_file/name/180/textfile.txt +1 -0
  391. data/spec/dummy/public/uploads/app_file/name/1806/textfile.txt +1 -0
  392. data/spec/dummy/public/uploads/app_file/name/1808/textfile.txt +1 -0
  393. data/spec/dummy/public/uploads/app_file/name/181/textfile.txt +1 -0
  394. data/spec/dummy/public/uploads/app_file/name/1812/textfile.txt +1 -0
  395. data/spec/dummy/public/uploads/app_file/name/1815/textfile.txt +1 -0
  396. data/spec/dummy/public/uploads/app_file/name/1817/textfile.txt +1 -0
  397. data/spec/dummy/public/uploads/app_file/name/1818/textfile.txt +1 -0
  398. data/spec/dummy/public/uploads/app_file/name/182/textfile.txt +1 -0
  399. data/spec/dummy/public/uploads/app_file/name/1820/textfile.txt +1 -0
  400. data/spec/dummy/public/uploads/app_file/name/1826/textfile.txt +1 -0
  401. data/spec/dummy/public/uploads/app_file/name/1828/textfile.txt +1 -0
  402. data/spec/dummy/public/uploads/app_file/name/183/textfile.txt +1 -0
  403. data/spec/dummy/public/uploads/app_file/name/1830/textfile.txt +1 -0
  404. data/spec/dummy/public/uploads/app_file/name/1832/textfile.txt +1 -0
  405. data/spec/dummy/public/uploads/app_file/name/1833/textfile.txt +1 -0
  406. data/spec/dummy/public/uploads/app_file/name/1834/textfile.txt +1 -0
  407. data/spec/dummy/public/uploads/app_file/name/184/textfile.txt +1 -0
  408. data/spec/dummy/public/uploads/app_file/name/1843/textfile.txt +1 -0
  409. data/spec/dummy/public/uploads/app_file/name/1845/textfile.txt +1 -0
  410. data/spec/dummy/public/uploads/app_file/name/1849/textfile.txt +1 -0
  411. data/spec/dummy/public/uploads/app_file/name/185/textfile.txt +1 -0
  412. data/spec/dummy/public/uploads/app_file/name/1852/textfile.txt +1 -0
  413. data/spec/dummy/public/uploads/app_file/name/1854/textfile.txt +1 -0
  414. data/spec/dummy/public/uploads/app_file/name/1855/textfile.txt +1 -0
  415. data/spec/dummy/public/uploads/app_file/name/1857/textfile.txt +1 -0
  416. data/spec/dummy/public/uploads/app_file/name/186/textfile.txt +1 -0
  417. data/spec/dummy/public/uploads/app_file/name/1863/textfile.txt +1 -0
  418. data/spec/dummy/public/uploads/app_file/name/1865/textfile.txt +1 -0
  419. data/spec/dummy/public/uploads/app_file/name/1867/textfile.txt +1 -0
  420. data/spec/dummy/public/uploads/app_file/name/1869/textfile.txt +1 -0
  421. data/spec/dummy/public/uploads/app_file/name/187/textfile.txt +1 -0
  422. data/spec/dummy/public/uploads/app_file/name/1870/textfile.txt +1 -0
  423. data/spec/dummy/public/uploads/app_file/name/1871/textfile.txt +1 -0
  424. data/spec/dummy/public/uploads/app_file/name/1880/textfile.txt +1 -0
  425. data/spec/dummy/public/uploads/app_file/name/1882/textfile.txt +1 -0
  426. data/spec/dummy/public/uploads/app_file/name/1886/textfile.txt +1 -0
  427. data/spec/dummy/public/uploads/app_file/name/1889/textfile.txt +1 -0
  428. data/spec/dummy/public/uploads/app_file/name/189/textfile.txt +1 -0
  429. data/spec/dummy/public/uploads/app_file/name/1891/textfile.txt +1 -0
  430. data/spec/dummy/public/uploads/app_file/name/1892/textfile.txt +1 -0
  431. data/spec/dummy/public/uploads/app_file/name/1894/textfile.txt +1 -0
  432. data/spec/dummy/public/uploads/app_file/name/190/textfile.txt +1 -0
  433. data/spec/dummy/public/uploads/app_file/name/1900/textfile.txt +1 -0
  434. data/spec/dummy/public/uploads/app_file/name/1902/textfile.txt +1 -0
  435. data/spec/dummy/public/uploads/app_file/name/1904/textfile.txt +1 -0
  436. data/spec/dummy/public/uploads/app_file/name/1906/textfile.txt +1 -0
  437. data/spec/dummy/public/uploads/app_file/name/1907/textfile.txt +1 -0
  438. data/spec/dummy/public/uploads/app_file/name/1908/textfile.txt +1 -0
  439. data/spec/dummy/public/uploads/app_file/name/191/textfile.txt +1 -0
  440. data/spec/dummy/public/uploads/app_file/name/1917/textfile.txt +1 -0
  441. data/spec/dummy/public/uploads/app_file/name/1919/textfile.txt +1 -0
  442. data/spec/dummy/public/uploads/app_file/name/1923/textfile.txt +1 -0
  443. data/spec/dummy/public/uploads/app_file/name/1926/textfile.txt +1 -0
  444. data/spec/dummy/public/uploads/app_file/name/1928/textfile.txt +1 -0
  445. data/spec/dummy/public/uploads/app_file/name/1929/textfile.txt +1 -0
  446. data/spec/dummy/public/uploads/app_file/name/1931/textfile.txt +1 -0
  447. data/spec/dummy/public/uploads/app_file/name/1937/textfile.txt +1 -0
  448. data/spec/dummy/public/uploads/app_file/name/1939/textfile.txt +1 -0
  449. data/spec/dummy/public/uploads/app_file/name/1941/textfile.txt +1 -0
  450. data/spec/dummy/public/uploads/app_file/name/1943/textfile.txt +1 -0
  451. data/spec/dummy/public/uploads/app_file/name/1944/textfile.txt +1 -0
  452. data/spec/dummy/public/uploads/app_file/name/1945/textfile.txt +1 -0
  453. data/spec/dummy/public/uploads/app_file/name/1954/textfile.txt +1 -0
  454. data/spec/dummy/public/uploads/app_file/name/1956/textfile.txt +1 -0
  455. data/spec/dummy/public/uploads/app_file/name/1960/textfile.txt +1 -0
  456. data/spec/dummy/public/uploads/app_file/name/1963/textfile.txt +1 -0
  457. data/spec/dummy/public/uploads/app_file/name/1965/textfile.txt +1 -0
  458. data/spec/dummy/public/uploads/app_file/name/1966/textfile.txt +1 -0
  459. data/spec/dummy/public/uploads/app_file/name/1968/textfile.txt +1 -0
  460. data/spec/dummy/public/uploads/app_file/name/1974/textfile.txt +1 -0
  461. data/spec/dummy/public/uploads/app_file/name/1976/textfile.txt +1 -0
  462. data/spec/dummy/public/uploads/app_file/name/1978/textfile.txt +1 -0
  463. data/spec/dummy/public/uploads/app_file/name/1980/textfile.txt +1 -0
  464. data/spec/dummy/public/uploads/app_file/name/1981/textfile.txt +1 -0
  465. data/spec/dummy/public/uploads/app_file/name/1982/textfile.txt +1 -0
  466. data/spec/dummy/public/uploads/app_file/name/199/textfile.txt +1 -0
  467. data/spec/dummy/public/uploads/app_file/name/1991/textfile.txt +1 -0
  468. data/spec/dummy/public/uploads/app_file/name/1993/textfile.txt +1 -0
  469. data/spec/dummy/public/uploads/app_file/name/1997/textfile.txt +1 -0
  470. data/spec/dummy/public/uploads/app_file/name/20/textfile.txt +1 -0
  471. data/spec/dummy/public/uploads/app_file/name/200/textfile.txt +1 -0
  472. data/spec/dummy/public/uploads/app_file/name/2000/textfile.txt +1 -0
  473. data/spec/dummy/public/uploads/app_file/name/2002/textfile.txt +1 -0
  474. data/spec/dummy/public/uploads/app_file/name/2003/textfile.txt +1 -0
  475. data/spec/dummy/public/uploads/app_file/name/2005/textfile.txt +1 -0
  476. data/spec/dummy/public/uploads/app_file/name/2011/textfile.txt +1 -0
  477. data/spec/dummy/public/uploads/app_file/name/2013/textfile.txt +1 -0
  478. data/spec/dummy/public/uploads/app_file/name/2015/textfile.txt +1 -0
  479. data/spec/dummy/public/uploads/app_file/name/2017/textfile.txt +1 -0
  480. data/spec/dummy/public/uploads/app_file/name/2019/textfile.txt +1 -0
  481. data/spec/dummy/public/uploads/app_file/name/202/textfile.txt +1 -0
  482. data/spec/dummy/public/uploads/app_file/name/2020/textfile.txt +1 -0
  483. data/spec/dummy/public/uploads/app_file/name/2021/textfile.txt +1 -0
  484. data/spec/dummy/public/uploads/app_file/name/203/textfile.txt +1 -0
  485. data/spec/dummy/public/uploads/app_file/name/2030/textfile.txt +1 -0
  486. data/spec/dummy/public/uploads/app_file/name/2032/textfile.txt +1 -0
  487. data/spec/dummy/public/uploads/app_file/name/2036/textfile.txt +1 -0
  488. data/spec/dummy/public/uploads/app_file/name/2039/textfile.txt +1 -0
  489. data/spec/dummy/public/uploads/app_file/name/2041/textfile.txt +1 -0
  490. data/spec/dummy/public/uploads/app_file/name/2042/textfile.txt +1 -0
  491. data/spec/dummy/public/uploads/app_file/name/2044/textfile.txt +1 -0
  492. data/spec/dummy/public/uploads/app_file/name/2050/textfile.txt +1 -0
  493. data/spec/dummy/public/uploads/app_file/name/2052/textfile.txt +1 -0
  494. data/spec/dummy/public/uploads/app_file/name/2054/textfile.txt +1 -0
  495. data/spec/dummy/public/uploads/app_file/name/2056/textfile.txt +1 -0
  496. data/spec/dummy/public/uploads/app_file/name/2058/textfile.txt +1 -0
  497. data/spec/dummy/public/uploads/app_file/name/2059/textfile.txt +1 -0
  498. data/spec/dummy/public/uploads/app_file/name/2060/textfile.txt +1 -0
  499. data/spec/dummy/public/uploads/app_file/name/2061/textfile.txt +1 -0
  500. data/spec/dummy/public/uploads/app_file/name/2070/textfile.txt +1 -0
  501. data/spec/dummy/public/uploads/app_file/name/2072/textfile.txt +1 -0
  502. data/spec/dummy/public/uploads/app_file/name/2076/textfile.txt +1 -0
  503. data/spec/dummy/public/uploads/app_file/name/2079/textfile.txt +1 -0
  504. data/spec/dummy/public/uploads/app_file/name/2081/textfile.txt +1 -0
  505. data/spec/dummy/public/uploads/app_file/name/2082/textfile.txt +1 -0
  506. data/spec/dummy/public/uploads/app_file/name/2084/textfile.txt +1 -0
  507. data/spec/dummy/public/uploads/app_file/name/2090/textfile.txt +1 -0
  508. data/spec/dummy/public/uploads/app_file/name/2092/textfile.txt +1 -0
  509. data/spec/dummy/public/uploads/app_file/name/2094/textfile.txt +1 -0
  510. data/spec/dummy/public/uploads/app_file/name/2096/textfile.txt +1 -0
  511. data/spec/dummy/public/uploads/app_file/name/2098/textfile.txt +1 -0
  512. data/spec/dummy/public/uploads/app_file/name/2099/textfile.txt +1 -0
  513. data/spec/dummy/public/uploads/app_file/name/2100/textfile.txt +1 -0
  514. data/spec/dummy/public/uploads/app_file/name/2101/textfile.txt +1 -0
  515. data/spec/dummy/public/uploads/app_file/name/2110/textfile.txt +1 -0
  516. data/spec/dummy/public/uploads/app_file/name/2112/textfile.txt +1 -0
  517. data/spec/dummy/public/uploads/app_file/name/2116/textfile.txt +1 -0
  518. data/spec/dummy/public/uploads/app_file/name/2119/textfile.txt +1 -0
  519. data/spec/dummy/public/uploads/app_file/name/2121/textfile.txt +1 -0
  520. data/spec/dummy/public/uploads/app_file/name/2122/textfile.txt +1 -0
  521. data/spec/dummy/public/uploads/app_file/name/2124/textfile.txt +1 -0
  522. data/spec/dummy/public/uploads/app_file/name/213/textfile.txt +1 -0
  523. data/spec/dummy/public/uploads/app_file/name/2130/textfile.txt +1 -0
  524. data/spec/dummy/public/uploads/app_file/name/2132/textfile.txt +1 -0
  525. data/spec/dummy/public/uploads/app_file/name/2134/textfile.txt +1 -0
  526. data/spec/dummy/public/uploads/app_file/name/2136/textfile.txt +1 -0
  527. data/spec/dummy/public/uploads/app_file/name/2138/textfile.txt +1 -0
  528. data/spec/dummy/public/uploads/app_file/name/2139/textfile.txt +1 -0
  529. data/spec/dummy/public/uploads/app_file/name/2140/textfile.txt +1 -0
  530. data/spec/dummy/public/uploads/app_file/name/2141/textfile.txt +1 -0
  531. data/spec/dummy/public/uploads/app_file/name/2142/textfile.txt +1 -0
  532. data/spec/dummy/public/uploads/app_file/name/215/textfile.txt +1 -0
  533. data/spec/dummy/public/uploads/app_file/name/2151/textfile.txt +1 -0
  534. data/spec/dummy/public/uploads/app_file/name/2153/textfile.txt +1 -0
  535. data/spec/dummy/public/uploads/app_file/name/2157/textfile.txt +1 -0
  536. data/spec/dummy/public/uploads/app_file/name/216/textfile.txt +1 -0
  537. data/spec/dummy/public/uploads/app_file/name/2160/textfile.txt +1 -0
  538. data/spec/dummy/public/uploads/app_file/name/2162/textfile.txt +1 -0
  539. data/spec/dummy/public/uploads/app_file/name/2163/textfile.txt +1 -0
  540. data/spec/dummy/public/uploads/app_file/name/2165/textfile.txt +1 -0
  541. data/spec/dummy/public/uploads/app_file/name/2171/textfile.txt +1 -0
  542. data/spec/dummy/public/uploads/app_file/name/2173/textfile.txt +1 -0
  543. data/spec/dummy/public/uploads/app_file/name/2175/textfile.txt +1 -0
  544. data/spec/dummy/public/uploads/app_file/name/2177/textfile.txt +1 -0
  545. data/spec/dummy/public/uploads/app_file/name/2179/textfile.txt +1 -0
  546. data/spec/dummy/public/uploads/app_file/name/2180/textfile.txt +1 -0
  547. data/spec/dummy/public/uploads/app_file/name/2181/textfile.txt +1 -0
  548. data/spec/dummy/public/uploads/app_file/name/2182/textfile.txt +1 -0
  549. data/spec/dummy/public/uploads/app_file/name/2183/textfile.txt +1 -0
  550. data/spec/dummy/public/uploads/app_file/name/2192/textfile.txt +1 -0
  551. data/spec/dummy/public/uploads/app_file/name/2194/textfile.txt +1 -0
  552. data/spec/dummy/public/uploads/app_file/name/2198/textfile.txt +1 -0
  553. data/spec/dummy/public/uploads/app_file/name/22/textfile.txt +1 -0
  554. data/spec/dummy/public/uploads/app_file/name/2201/textfile.txt +1 -0
  555. data/spec/dummy/public/uploads/app_file/name/2203/textfile.txt +1 -0
  556. data/spec/dummy/public/uploads/app_file/name/2204/textfile.txt +1 -0
  557. data/spec/dummy/public/uploads/app_file/name/2206/textfile.txt +1 -0
  558. data/spec/dummy/public/uploads/app_file/name/2212/textfile.txt +1 -0
  559. data/spec/dummy/public/uploads/app_file/name/2214/textfile.txt +1 -0
  560. data/spec/dummy/public/uploads/app_file/name/2216/textfile.txt +1 -0
  561. data/spec/dummy/public/uploads/app_file/name/2218/textfile.txt +1 -0
  562. data/spec/dummy/public/uploads/app_file/name/2220/textfile.txt +1 -0
  563. data/spec/dummy/public/uploads/app_file/name/2221/textfile.txt +1 -0
  564. data/spec/dummy/public/uploads/app_file/name/2222/textfile.txt +1 -0
  565. data/spec/dummy/public/uploads/app_file/name/2223/textfile.txt +1 -0
  566. data/spec/dummy/public/uploads/app_file/name/2224/textfile.txt +1 -0
  567. data/spec/dummy/public/uploads/app_file/name/2225/textfile.txt +1 -0
  568. data/spec/dummy/public/uploads/app_file/name/2234/textfile.txt +1 -0
  569. data/spec/dummy/public/uploads/app_file/name/2236/textfile.txt +1 -0
  570. data/spec/dummy/public/uploads/app_file/name/2240/textfile.txt +1 -0
  571. data/spec/dummy/public/uploads/app_file/name/2243/textfile.txt +1 -0
  572. data/spec/dummy/public/uploads/app_file/name/2245/textfile.txt +1 -0
  573. data/spec/dummy/public/uploads/app_file/name/2246/textfile.txt +1 -0
  574. data/spec/dummy/public/uploads/app_file/name/2248/textfile.txt +1 -0
  575. data/spec/dummy/public/uploads/app_file/name/2254/textfile.txt +1 -0
  576. data/spec/dummy/public/uploads/app_file/name/2256/textfile.txt +1 -0
  577. data/spec/dummy/public/uploads/app_file/name/2258/textfile.txt +1 -0
  578. data/spec/dummy/public/uploads/app_file/name/226/textfile.txt +1 -0
  579. data/spec/dummy/public/uploads/app_file/name/2260/textfile.txt +1 -0
  580. data/spec/dummy/public/uploads/app_file/name/2262/textfile.txt +1 -0
  581. data/spec/dummy/public/uploads/app_file/name/2263/textfile.txt +1 -0
  582. data/spec/dummy/public/uploads/app_file/name/2264/textfile.txt +1 -0
  583. data/spec/dummy/public/uploads/app_file/name/2265/textfile.txt +1 -0
  584. data/spec/dummy/public/uploads/app_file/name/2266/textfile.txt +1 -0
  585. data/spec/dummy/public/uploads/app_file/name/2267/textfile.txt +1 -0
  586. data/spec/dummy/public/uploads/app_file/name/2268/textfile.txt +1 -0
  587. data/spec/dummy/public/uploads/app_file/name/2277/textfile.txt +1 -0
  588. data/spec/dummy/public/uploads/app_file/name/2279/textfile.txt +1 -0
  589. data/spec/dummy/public/uploads/app_file/name/228/textfile.txt +1 -0
  590. data/spec/dummy/public/uploads/app_file/name/2283/textfile.txt +1 -0
  591. data/spec/dummy/public/uploads/app_file/name/2286/textfile.txt +1 -0
  592. data/spec/dummy/public/uploads/app_file/name/2288/textfile.txt +1 -0
  593. data/spec/dummy/public/uploads/app_file/name/2289/textfile.txt +1 -0
  594. data/spec/dummy/public/uploads/app_file/name/229/textfile.txt +1 -0
  595. data/spec/dummy/public/uploads/app_file/name/2291/textfile.txt +1 -0
  596. data/spec/dummy/public/uploads/app_file/name/2297/textfile.txt +1 -0
  597. data/spec/dummy/public/uploads/app_file/name/2299/textfile.txt +1 -0
  598. data/spec/dummy/public/uploads/app_file/name/23/textfile.txt +1 -0
  599. data/spec/dummy/public/uploads/app_file/name/2301/textfile.txt +1 -0
  600. data/spec/dummy/public/uploads/app_file/name/2303/textfile.txt +1 -0
  601. data/spec/dummy/public/uploads/app_file/name/2305/textfile.txt +1 -0
  602. data/spec/dummy/public/uploads/app_file/name/2306/textfile.txt +1 -0
  603. data/spec/dummy/public/uploads/app_file/name/2307/textfile.txt +1 -0
  604. data/spec/dummy/public/uploads/app_file/name/2308/textfile.txt +1 -0
  605. data/spec/dummy/public/uploads/app_file/name/2309/textfile.txt +1 -0
  606. data/spec/dummy/public/uploads/app_file/name/2310/textfile.txt +1 -0
  607. data/spec/dummy/public/uploads/app_file/name/2311/textfile.txt +1 -0
  608. data/spec/dummy/public/uploads/app_file/name/2320/textfile.txt +1 -0
  609. data/spec/dummy/public/uploads/app_file/name/2322/textfile.txt +1 -0
  610. data/spec/dummy/public/uploads/app_file/name/2326/textfile.txt +1 -0
  611. data/spec/dummy/public/uploads/app_file/name/2329/textfile.txt +1 -0
  612. data/spec/dummy/public/uploads/app_file/name/2331/textfile.txt +1 -0
  613. data/spec/dummy/public/uploads/app_file/name/2332/textfile.txt +1 -0
  614. data/spec/dummy/public/uploads/app_file/name/2334/textfile.txt +1 -0
  615. data/spec/dummy/public/uploads/app_file/name/2340/textfile.txt +1 -0
  616. data/spec/dummy/public/uploads/app_file/name/2342/textfile.txt +1 -0
  617. data/spec/dummy/public/uploads/app_file/name/2344/textfile.txt +1 -0
  618. data/spec/dummy/public/uploads/app_file/name/2346/textfile.txt +1 -0
  619. data/spec/dummy/public/uploads/app_file/name/2348/textfile.txt +1 -0
  620. data/spec/dummy/public/uploads/app_file/name/2349/textfile.txt +1 -0
  621. data/spec/dummy/public/uploads/app_file/name/2350/textfile.txt +1 -0
  622. data/spec/dummy/public/uploads/app_file/name/2351/textfile.txt +1 -0
  623. data/spec/dummy/public/uploads/app_file/name/2352/textfile.txt +1 -0
  624. data/spec/dummy/public/uploads/app_file/name/2353/textfile.txt +1 -0
  625. data/spec/dummy/public/uploads/app_file/name/2354/textfile.txt +1 -0
  626. data/spec/dummy/public/uploads/app_file/name/2363/textfile.txt +1 -0
  627. data/spec/dummy/public/uploads/app_file/name/2365/textfile.txt +1 -0
  628. data/spec/dummy/public/uploads/app_file/name/2369/textfile.txt +1 -0
  629. data/spec/dummy/public/uploads/app_file/name/2372/textfile.txt +1 -0
  630. data/spec/dummy/public/uploads/app_file/name/2374/textfile.txt +1 -0
  631. data/spec/dummy/public/uploads/app_file/name/2375/textfile.txt +1 -0
  632. data/spec/dummy/public/uploads/app_file/name/2377/textfile.txt +1 -0
  633. data/spec/dummy/public/uploads/app_file/name/2383/textfile.txt +1 -0
  634. data/spec/dummy/public/uploads/app_file/name/2385/textfile.txt +1 -0
  635. data/spec/dummy/public/uploads/app_file/name/2387/textfile.txt +1 -0
  636. data/spec/dummy/public/uploads/app_file/name/2389/textfile.txt +1 -0
  637. data/spec/dummy/public/uploads/app_file/name/239/textfile.txt +1 -0
  638. data/spec/dummy/public/uploads/app_file/name/2391/textfile.txt +1 -0
  639. data/spec/dummy/public/uploads/app_file/name/2392/textfile.txt +1 -0
  640. data/spec/dummy/public/uploads/app_file/name/2393/textfile.txt +1 -0
  641. data/spec/dummy/public/uploads/app_file/name/2394/textfile.txt +1 -0
  642. data/spec/dummy/public/uploads/app_file/name/2395/textfile.txt +1 -0
  643. data/spec/dummy/public/uploads/app_file/name/2396/textfile.txt +1 -0
  644. data/spec/dummy/public/uploads/app_file/name/2397/textfile.txt +1 -0
  645. data/spec/dummy/public/uploads/app_file/name/2406/textfile.txt +1 -0
  646. data/spec/dummy/public/uploads/app_file/name/2408/textfile.txt +1 -0
  647. data/spec/dummy/public/uploads/app_file/name/241/textfile.txt +1 -0
  648. data/spec/dummy/public/uploads/app_file/name/2412/textfile.txt +1 -0
  649. data/spec/dummy/public/uploads/app_file/name/2415/textfile.txt +1 -0
  650. data/spec/dummy/public/uploads/app_file/name/2417/textfile.txt +1 -0
  651. data/spec/dummy/public/uploads/app_file/name/2418/textfile.txt +1 -0
  652. data/spec/dummy/public/uploads/app_file/name/242/textfile.txt +1 -0
  653. data/spec/dummy/public/uploads/app_file/name/2420/textfile.txt +1 -0
  654. data/spec/dummy/public/uploads/app_file/name/2426/textfile.txt +1 -0
  655. data/spec/dummy/public/uploads/app_file/name/2428/textfile.txt +1 -0
  656. data/spec/dummy/public/uploads/app_file/name/2430/textfile.txt +1 -0
  657. data/spec/dummy/public/uploads/app_file/name/2432/textfile.txt +1 -0
  658. data/spec/dummy/public/uploads/app_file/name/2434/textfile.txt +1 -0
  659. data/spec/dummy/public/uploads/app_file/name/2435/textfile.txt +1 -0
  660. data/spec/dummy/public/uploads/app_file/name/2436/textfile.txt +1 -0
  661. data/spec/dummy/public/uploads/app_file/name/2437/textfile.txt +1 -0
  662. data/spec/dummy/public/uploads/app_file/name/2438/textfile.txt +1 -0
  663. data/spec/dummy/public/uploads/app_file/name/2439/textfile.txt +1 -0
  664. data/spec/dummy/public/uploads/app_file/name/2440/textfile.txt +1 -0
  665. data/spec/dummy/public/uploads/app_file/name/2441/textfile.txt +1 -0
  666. data/spec/dummy/public/uploads/app_file/name/2442/textfile.txt +1 -0
  667. data/spec/dummy/public/uploads/app_file/name/2451/textfile.txt +1 -0
  668. data/spec/dummy/public/uploads/app_file/name/2453/textfile.txt +1 -0
  669. data/spec/dummy/public/uploads/app_file/name/2457/textfile.txt +1 -0
  670. data/spec/dummy/public/uploads/app_file/name/2460/textfile.txt +1 -0
  671. data/spec/dummy/public/uploads/app_file/name/2462/textfile.txt +1 -0
  672. data/spec/dummy/public/uploads/app_file/name/2463/textfile.txt +1 -0
  673. data/spec/dummy/public/uploads/app_file/name/2465/textfile.txt +1 -0
  674. data/spec/dummy/public/uploads/app_file/name/2471/textfile.txt +1 -0
  675. data/spec/dummy/public/uploads/app_file/name/2473/textfile.txt +1 -0
  676. data/spec/dummy/public/uploads/app_file/name/2475/textfile.txt +1 -0
  677. data/spec/dummy/public/uploads/app_file/name/2477/textfile.txt +1 -0
  678. data/spec/dummy/public/uploads/app_file/name/2479/textfile.txt +1 -0
  679. data/spec/dummy/public/uploads/app_file/name/2480/textfile.txt +1 -0
  680. data/spec/dummy/public/uploads/app_file/name/2481/textfile.txt +1 -0
  681. data/spec/dummy/public/uploads/app_file/name/2482/textfile.txt +1 -0
  682. data/spec/dummy/public/uploads/app_file/name/2483/textfile.txt +1 -0
  683. data/spec/dummy/public/uploads/app_file/name/2484/textfile.txt +1 -0
  684. data/spec/dummy/public/uploads/app_file/name/2485/textfile.txt +1 -0
  685. data/spec/dummy/public/uploads/app_file/name/2486/textfile.txt +1 -0
  686. data/spec/dummy/public/uploads/app_file/name/2487/textfile.txt +1 -0
  687. data/spec/dummy/public/uploads/app_file/name/2488/textfile.txt +1 -0
  688. data/spec/dummy/public/uploads/app_file/name/2497/textfile.txt +1 -0
  689. data/spec/dummy/public/uploads/app_file/name/2499/textfile.txt +1 -0
  690. data/spec/dummy/public/uploads/app_file/name/2503/textfile.txt +1 -0
  691. data/spec/dummy/public/uploads/app_file/name/2506/textfile.txt +1 -0
  692. data/spec/dummy/public/uploads/app_file/name/2508/textfile.txt +1 -0
  693. data/spec/dummy/public/uploads/app_file/name/2509/textfile.txt +1 -0
  694. data/spec/dummy/public/uploads/app_file/name/2511/textfile.txt +1 -0
  695. data/spec/dummy/public/uploads/app_file/name/2517/textfile.txt +1 -0
  696. data/spec/dummy/public/uploads/app_file/name/2519/textfile.txt +1 -0
  697. data/spec/dummy/public/uploads/app_file/name/252/textfile.txt +1 -0
  698. data/spec/dummy/public/uploads/app_file/name/2521/textfile.txt +1 -0
  699. data/spec/dummy/public/uploads/app_file/name/2523/textfile.txt +1 -0
  700. data/spec/dummy/public/uploads/app_file/name/2525/textfile.txt +1 -0
  701. data/spec/dummy/public/uploads/app_file/name/2526/textfile.txt +1 -0
  702. data/spec/dummy/public/uploads/app_file/name/2527/textfile.txt +1 -0
  703. data/spec/dummy/public/uploads/app_file/name/2528/textfile.txt +1 -0
  704. data/spec/dummy/public/uploads/app_file/name/2529/textfile.txt +1 -0
  705. data/spec/dummy/public/uploads/app_file/name/2530/textfile.txt +1 -0
  706. data/spec/dummy/public/uploads/app_file/name/2531/textfile.txt +1 -0
  707. data/spec/dummy/public/uploads/app_file/name/2532/textfile.txt +1 -0
  708. data/spec/dummy/public/uploads/app_file/name/2533/textfile.txt +1 -0
  709. data/spec/dummy/public/uploads/app_file/name/2534/textfile.txt +1 -0
  710. data/spec/dummy/public/uploads/app_file/name/254/textfile.txt +1 -0
  711. data/spec/dummy/public/uploads/app_file/name/2543/textfile.txt +1 -0
  712. data/spec/dummy/public/uploads/app_file/name/2545/textfile.txt +1 -0
  713. data/spec/dummy/public/uploads/app_file/name/2549/textfile.txt +1 -0
  714. data/spec/dummy/public/uploads/app_file/name/255/textfile.txt +1 -0
  715. data/spec/dummy/public/uploads/app_file/name/2552/textfile.txt +1 -0
  716. data/spec/dummy/public/uploads/app_file/name/2554/textfile.txt +1 -0
  717. data/spec/dummy/public/uploads/app_file/name/2555/textfile.txt +1 -0
  718. data/spec/dummy/public/uploads/app_file/name/2557/textfile.txt +1 -0
  719. data/spec/dummy/public/uploads/app_file/name/2563/textfile.txt +1 -0
  720. data/spec/dummy/public/uploads/app_file/name/2565/textfile.txt +1 -0
  721. data/spec/dummy/public/uploads/app_file/name/2567/textfile.txt +1 -0
  722. data/spec/dummy/public/uploads/app_file/name/2569/textfile.txt +1 -0
  723. data/spec/dummy/public/uploads/app_file/name/2571/textfile.txt +1 -0
  724. data/spec/dummy/public/uploads/app_file/name/2572/textfile.txt +1 -0
  725. data/spec/dummy/public/uploads/app_file/name/2573/textfile.txt +1 -0
  726. data/spec/dummy/public/uploads/app_file/name/2574/textfile.txt +1 -0
  727. data/spec/dummy/public/uploads/app_file/name/2575/textfile.txt +1 -0
  728. data/spec/dummy/public/uploads/app_file/name/2576/textfile.txt +1 -0
  729. data/spec/dummy/public/uploads/app_file/name/2577/textfile.txt +1 -0
  730. data/spec/dummy/public/uploads/app_file/name/2578/textfile.txt +1 -0
  731. data/spec/dummy/public/uploads/app_file/name/2579/textfile.txt +1 -0
  732. data/spec/dummy/public/uploads/app_file/name/2580/textfile.txt +1 -0
  733. data/spec/dummy/public/uploads/app_file/name/2589/textfile.txt +1 -0
  734. data/spec/dummy/public/uploads/app_file/name/2591/textfile.txt +1 -0
  735. data/spec/dummy/public/uploads/app_file/name/2595/textfile.txt +1 -0
  736. data/spec/dummy/public/uploads/app_file/name/2598/textfile.txt +1 -0
  737. data/spec/dummy/public/uploads/app_file/name/2600/textfile.txt +1 -0
  738. data/spec/dummy/public/uploads/app_file/name/2601/textfile.txt +1 -0
  739. data/spec/dummy/public/uploads/app_file/name/2603/textfile.txt +1 -0
  740. data/spec/dummy/public/uploads/app_file/name/2609/textfile.txt +1 -0
  741. data/spec/dummy/public/uploads/app_file/name/2611/textfile.txt +1 -0
  742. data/spec/dummy/public/uploads/app_file/name/2613/textfile.txt +1 -0
  743. data/spec/dummy/public/uploads/app_file/name/2615/textfile.txt +1 -0
  744. data/spec/dummy/public/uploads/app_file/name/2617/textfile.txt +1 -0
  745. data/spec/dummy/public/uploads/app_file/name/2618/textfile.txt +1 -0
  746. data/spec/dummy/public/uploads/app_file/name/2619/textfile.txt +1 -0
  747. data/spec/dummy/public/uploads/app_file/name/2620/textfile.txt +1 -0
  748. data/spec/dummy/public/uploads/app_file/name/2621/textfile.txt +1 -0
  749. data/spec/dummy/public/uploads/app_file/name/2622/textfile.txt +1 -0
  750. data/spec/dummy/public/uploads/app_file/name/2623/textfile.txt +1 -0
  751. data/spec/dummy/public/uploads/app_file/name/2624/textfile.txt +1 -0
  752. data/spec/dummy/public/uploads/app_file/name/2625/textfile.txt +1 -0
  753. data/spec/dummy/public/uploads/app_file/name/2626/textfile.txt +1 -0
  754. data/spec/dummy/public/uploads/app_file/name/2635/textfile.txt +1 -0
  755. data/spec/dummy/public/uploads/app_file/name/2637/textfile.txt +1 -0
  756. data/spec/dummy/public/uploads/app_file/name/2641/textfile.txt +1 -0
  757. data/spec/dummy/public/uploads/app_file/name/2644/textfile.txt +1 -0
  758. data/spec/dummy/public/uploads/app_file/name/2646/textfile.txt +1 -0
  759. data/spec/dummy/public/uploads/app_file/name/2647/textfile.txt +1 -0
  760. data/spec/dummy/public/uploads/app_file/name/2649/textfile.txt +1 -0
  761. data/spec/dummy/public/uploads/app_file/name/265/textfile.txt +1 -0
  762. data/spec/dummy/public/uploads/app_file/name/2655/textfile.txt +1 -0
  763. data/spec/dummy/public/uploads/app_file/name/2657/textfile.txt +1 -0
  764. data/spec/dummy/public/uploads/app_file/name/2659/textfile.txt +1 -0
  765. data/spec/dummy/public/uploads/app_file/name/2661/textfile.txt +1 -0
  766. data/spec/dummy/public/uploads/app_file/name/2663/textfile.txt +1 -0
  767. data/spec/dummy/public/uploads/app_file/name/2664/textfile.txt +1 -0
  768. data/spec/dummy/public/uploads/app_file/name/2665/textfile.txt +1 -0
  769. data/spec/dummy/public/uploads/app_file/name/2666/textfile.txt +1 -0
  770. data/spec/dummy/public/uploads/app_file/name/2667/textfile.txt +1 -0
  771. data/spec/dummy/public/uploads/app_file/name/2668/textfile.txt +1 -0
  772. data/spec/dummy/public/uploads/app_file/name/2669/textfile.txt +1 -0
  773. data/spec/dummy/public/uploads/app_file/name/267/textfile.txt +1 -0
  774. data/spec/dummy/public/uploads/app_file/name/2670/textfile.txt +1 -0
  775. data/spec/dummy/public/uploads/app_file/name/2671/textfile.txt +1 -0
  776. data/spec/dummy/public/uploads/app_file/name/2672/textfile.txt +1 -0
  777. data/spec/dummy/public/uploads/app_file/name/268/textfile.txt +1 -0
  778. data/spec/dummy/public/uploads/app_file/name/2681/textfile.txt +1 -0
  779. data/spec/dummy/public/uploads/app_file/name/2683/textfile.txt +1 -0
  780. data/spec/dummy/public/uploads/app_file/name/2687/textfile.txt +1 -0
  781. data/spec/dummy/public/uploads/app_file/name/2690/textfile.txt +1 -0
  782. data/spec/dummy/public/uploads/app_file/name/2692/textfile.txt +1 -0
  783. data/spec/dummy/public/uploads/app_file/name/2693/textfile.txt +1 -0
  784. data/spec/dummy/public/uploads/app_file/name/2695/textfile.txt +1 -0
  785. data/spec/dummy/public/uploads/app_file/name/2701/textfile.txt +1 -0
  786. data/spec/dummy/public/uploads/app_file/name/2703/textfile.txt +1 -0
  787. data/spec/dummy/public/uploads/app_file/name/2705/textfile.txt +1 -0
  788. data/spec/dummy/public/uploads/app_file/name/2707/textfile.txt +1 -0
  789. data/spec/dummy/public/uploads/app_file/name/2709/textfile.txt +1 -0
  790. data/spec/dummy/public/uploads/app_file/name/2710/textfile.txt +1 -0
  791. data/spec/dummy/public/uploads/app_file/name/2711/textfile.txt +1 -0
  792. data/spec/dummy/public/uploads/app_file/name/2712/textfile.txt +1 -0
  793. data/spec/dummy/public/uploads/app_file/name/2713/textfile.txt +1 -0
  794. data/spec/dummy/public/uploads/app_file/name/2714/textfile.txt +1 -0
  795. data/spec/dummy/public/uploads/app_file/name/2715/textfile.txt +1 -0
  796. data/spec/dummy/public/uploads/app_file/name/2716/textfile.txt +1 -0
  797. data/spec/dummy/public/uploads/app_file/name/2717/textfile.txt +1 -0
  798. data/spec/dummy/public/uploads/app_file/name/2718/textfile.txt +1 -0
  799. data/spec/dummy/public/uploads/app_file/name/2727/textfile.txt +1 -0
  800. data/spec/dummy/public/uploads/app_file/name/2729/textfile.txt +1 -0
  801. data/spec/dummy/public/uploads/app_file/name/2733/textfile.txt +1 -0
  802. data/spec/dummy/public/uploads/app_file/name/2736/textfile.txt +1 -0
  803. data/spec/dummy/public/uploads/app_file/name/2738/textfile.txt +1 -0
  804. data/spec/dummy/public/uploads/app_file/name/2739/textfile.txt +1 -0
  805. data/spec/dummy/public/uploads/app_file/name/2741/textfile.txt +1 -0
  806. data/spec/dummy/public/uploads/app_file/name/2747/textfile.txt +1 -0
  807. data/spec/dummy/public/uploads/app_file/name/2749/textfile.txt +1 -0
  808. data/spec/dummy/public/uploads/app_file/name/2751/textfile.txt +1 -0
  809. data/spec/dummy/public/uploads/app_file/name/2753/textfile.txt +1 -0
  810. data/spec/dummy/public/uploads/app_file/name/2755/textfile.txt +1 -0
  811. data/spec/dummy/public/uploads/app_file/name/2756/textfile.txt +1 -0
  812. data/spec/dummy/public/uploads/app_file/name/2757/textfile.txt +1 -0
  813. data/spec/dummy/public/uploads/app_file/name/2758/textfile.txt +1 -0
  814. data/spec/dummy/public/uploads/app_file/name/2759/textfile.txt +1 -0
  815. data/spec/dummy/public/uploads/app_file/name/2760/textfile.txt +1 -0
  816. data/spec/dummy/public/uploads/app_file/name/2761/textfile.txt +1 -0
  817. data/spec/dummy/public/uploads/app_file/name/2762/textfile.txt +1 -0
  818. data/spec/dummy/public/uploads/app_file/name/2763/textfile.txt +1 -0
  819. data/spec/dummy/public/uploads/app_file/name/2764/textfile.txt +1 -0
  820. data/spec/dummy/public/uploads/app_file/name/2773/textfile.txt +1 -0
  821. data/spec/dummy/public/uploads/app_file/name/2775/textfile.txt +1 -0
  822. data/spec/dummy/public/uploads/app_file/name/2779/textfile.txt +1 -0
  823. data/spec/dummy/public/uploads/app_file/name/278/textfile.txt +1 -0
  824. data/spec/dummy/public/uploads/app_file/name/2782/textfile.txt +1 -0
  825. data/spec/dummy/public/uploads/app_file/name/2784/textfile.txt +1 -0
  826. data/spec/dummy/public/uploads/app_file/name/2785/textfile.txt +1 -0
  827. data/spec/dummy/public/uploads/app_file/name/2787/textfile.txt +1 -0
  828. data/spec/dummy/public/uploads/app_file/name/2793/textfile.txt +1 -0
  829. data/spec/dummy/public/uploads/app_file/name/2795/textfile.txt +1 -0
  830. data/spec/dummy/public/uploads/app_file/name/2797/textfile.txt +1 -0
  831. data/spec/dummy/public/uploads/app_file/name/2799/textfile.txt +1 -0
  832. data/spec/dummy/public/uploads/app_file/name/280/textfile.txt +1 -0
  833. data/spec/dummy/public/uploads/app_file/name/2801/textfile.txt +1 -0
  834. data/spec/dummy/public/uploads/app_file/name/2802/textfile.txt +1 -0
  835. data/spec/dummy/public/uploads/app_file/name/2803/textfile.txt +1 -0
  836. data/spec/dummy/public/uploads/app_file/name/2804/textfile.txt +1 -0
  837. data/spec/dummy/public/uploads/app_file/name/2805/textfile.txt +1 -0
  838. data/spec/dummy/public/uploads/app_file/name/2806/textfile.txt +1 -0
  839. data/spec/dummy/public/uploads/app_file/name/2807/textfile.txt +1 -0
  840. data/spec/dummy/public/uploads/app_file/name/2808/textfile.txt +1 -0
  841. data/spec/dummy/public/uploads/app_file/name/2809/textfile.txt +1 -0
  842. data/spec/dummy/public/uploads/app_file/name/281/textfile.txt +1 -0
  843. data/spec/dummy/public/uploads/app_file/name/2810/textfile.txt +1 -0
  844. data/spec/dummy/public/uploads/app_file/name/2819/textfile.txt +1 -0
  845. data/spec/dummy/public/uploads/app_file/name/2821/textfile.txt +1 -0
  846. data/spec/dummy/public/uploads/app_file/name/2825/textfile.txt +1 -0
  847. data/spec/dummy/public/uploads/app_file/name/2828/textfile.txt +1 -0
  848. data/spec/dummy/public/uploads/app_file/name/2830/textfile.txt +1 -0
  849. data/spec/dummy/public/uploads/app_file/name/2831/textfile.txt +1 -0
  850. data/spec/dummy/public/uploads/app_file/name/2833/textfile.txt +1 -0
  851. data/spec/dummy/public/uploads/app_file/name/2839/textfile.txt +1 -0
  852. data/spec/dummy/public/uploads/app_file/name/2841/textfile.txt +1 -0
  853. data/spec/dummy/public/uploads/app_file/name/2843/textfile.txt +1 -0
  854. data/spec/dummy/public/uploads/app_file/name/2845/textfile.txt +1 -0
  855. data/spec/dummy/public/uploads/app_file/name/2847/textfile.txt +1 -0
  856. data/spec/dummy/public/uploads/app_file/name/2848/textfile.txt +1 -0
  857. data/spec/dummy/public/uploads/app_file/name/2849/textfile.txt +1 -0
  858. data/spec/dummy/public/uploads/app_file/name/2850/textfile.txt +1 -0
  859. data/spec/dummy/public/uploads/app_file/name/2851/textfile.txt +1 -0
  860. data/spec/dummy/public/uploads/app_file/name/2852/textfile.txt +1 -0
  861. data/spec/dummy/public/uploads/app_file/name/2853/textfile.txt +1 -0
  862. data/spec/dummy/public/uploads/app_file/name/2854/textfile.txt +1 -0
  863. data/spec/dummy/public/uploads/app_file/name/2855/textfile.txt +1 -0
  864. data/spec/dummy/public/uploads/app_file/name/2856/textfile.txt +1 -0
  865. data/spec/dummy/public/uploads/app_file/name/2857/textfile.txt +1 -0
  866. data/spec/dummy/public/uploads/app_file/name/2866/textfile.txt +1 -0
  867. data/spec/dummy/public/uploads/app_file/name/2868/textfile.txt +1 -0
  868. data/spec/dummy/public/uploads/app_file/name/2872/textfile.txt +1 -0
  869. data/spec/dummy/public/uploads/app_file/name/2875/textfile.txt +1 -0
  870. data/spec/dummy/public/uploads/app_file/name/2877/textfile.txt +1 -0
  871. data/spec/dummy/public/uploads/app_file/name/2878/textfile.txt +1 -0
  872. data/spec/dummy/public/uploads/app_file/name/2880/textfile.txt +1 -0
  873. data/spec/dummy/public/uploads/app_file/name/2886/textfile.txt +1 -0
  874. data/spec/dummy/public/uploads/app_file/name/2888/textfile.txt +1 -0
  875. data/spec/dummy/public/uploads/app_file/name/2890/textfile.txt +1 -0
  876. data/spec/dummy/public/uploads/app_file/name/2892/textfile.txt +1 -0
  877. data/spec/dummy/public/uploads/app_file/name/2894/textfile.txt +1 -0
  878. data/spec/dummy/public/uploads/app_file/name/2895/textfile.txt +1 -0
  879. data/spec/dummy/public/uploads/app_file/name/2896/textfile.txt +1 -0
  880. data/spec/dummy/public/uploads/app_file/name/2897/textfile.txt +1 -0
  881. data/spec/dummy/public/uploads/app_file/name/2898/textfile.txt +1 -0
  882. data/spec/dummy/public/uploads/app_file/name/2899/textfile.txt +1 -0
  883. data/spec/dummy/public/uploads/app_file/name/2900/textfile.txt +1 -0
  884. data/spec/dummy/public/uploads/app_file/name/2901/textfile.txt +1 -0
  885. data/spec/dummy/public/uploads/app_file/name/2902/textfile.txt +1 -0
  886. data/spec/dummy/public/uploads/app_file/name/2903/textfile.txt +1 -0
  887. data/spec/dummy/public/uploads/app_file/name/2904/textfile.txt +1 -0
  888. data/spec/dummy/public/uploads/app_file/name/291/textfile.txt +1 -0
  889. data/spec/dummy/public/uploads/app_file/name/2912/textfile.txt +1 -0
  890. data/spec/dummy/public/uploads/app_file/name/2914/textfile.txt +1 -0
  891. data/spec/dummy/public/uploads/app_file/name/2916/textfile.txt +1 -0
  892. data/spec/dummy/public/uploads/app_file/name/2918/textfile.txt +1 -0
  893. data/spec/dummy/public/uploads/app_file/name/2920/textfile.txt +1 -0
  894. data/spec/dummy/public/uploads/app_file/name/2922/textfile.txt +1 -0
  895. data/spec/dummy/public/uploads/app_file/name/2924/textfile.txt +1 -0
  896. data/spec/dummy/public/uploads/app_file/name/2926/textfile.txt +1 -0
  897. data/spec/dummy/public/uploads/app_file/name/2928/textfile.txt +1 -0
  898. data/spec/dummy/public/uploads/app_file/name/293/textfile.txt +1 -0
  899. data/spec/dummy/public/uploads/app_file/name/2930/textfile.txt +1 -0
  900. data/spec/dummy/public/uploads/app_file/name/2932/textfile.txt +1 -0
  901. data/spec/dummy/public/uploads/app_file/name/2934/textfile.txt +1 -0
  902. data/spec/dummy/public/uploads/app_file/name/2935/textfile.txt +1 -0
  903. data/spec/dummy/public/uploads/app_file/name/2936/textfile.txt +1 -0
  904. data/spec/dummy/public/uploads/app_file/name/2937/textfile.txt +1 -0
  905. data/spec/dummy/public/uploads/app_file/name/2938/textfile.txt +1 -0
  906. data/spec/dummy/public/uploads/app_file/name/2939/textfile.txt +1 -0
  907. data/spec/dummy/public/uploads/app_file/name/294/textfile.txt +1 -0
  908. data/spec/dummy/public/uploads/app_file/name/2940/textfile.txt +1 -0
  909. data/spec/dummy/public/uploads/app_file/name/2941/textfile.txt +1 -0
  910. data/spec/dummy/public/uploads/app_file/name/2942/textfile.txt +1 -0
  911. data/spec/dummy/public/uploads/app_file/name/2943/textfile.txt +1 -0
  912. data/spec/dummy/public/uploads/app_file/name/2944/textfile.txt +1 -0
  913. data/spec/dummy/public/uploads/app_file/name/2953/textfile.txt +1 -0
  914. data/spec/dummy/public/uploads/app_file/name/2955/textfile.txt +1 -0
  915. data/spec/dummy/public/uploads/app_file/name/2959/textfile.txt +1 -0
  916. data/spec/dummy/public/uploads/app_file/name/2962/textfile.txt +1 -0
  917. data/spec/dummy/public/uploads/app_file/name/2964/textfile.txt +1 -0
  918. data/spec/dummy/public/uploads/app_file/name/2965/textfile.txt +1 -0
  919. data/spec/dummy/public/uploads/app_file/name/2967/textfile.txt +1 -0
  920. data/spec/dummy/public/uploads/app_file/name/2973/textfile.txt +1 -0
  921. data/spec/dummy/public/uploads/app_file/name/2975/textfile.txt +1 -0
  922. data/spec/dummy/public/uploads/app_file/name/2977/textfile.txt +1 -0
  923. data/spec/dummy/public/uploads/app_file/name/2979/textfile.txt +1 -0
  924. data/spec/dummy/public/uploads/app_file/name/2981/textfile.txt +1 -0
  925. data/spec/dummy/public/uploads/app_file/name/2983/textfile.txt +1 -0
  926. data/spec/dummy/public/uploads/app_file/name/2984/textfile.txt +1 -0
  927. data/spec/dummy/public/uploads/app_file/name/2985/textfile.txt +1 -0
  928. data/spec/dummy/public/uploads/app_file/name/2986/textfile.txt +1 -0
  929. data/spec/dummy/public/uploads/app_file/name/2987/textfile.txt +1 -0
  930. data/spec/dummy/public/uploads/app_file/name/2988/textfile.txt +1 -0
  931. data/spec/dummy/public/uploads/app_file/name/2989/textfile.txt +1 -0
  932. data/spec/dummy/public/uploads/app_file/name/2990/textfile.txt +1 -0
  933. data/spec/dummy/public/uploads/app_file/name/2991/textfile.txt +1 -0
  934. data/spec/dummy/public/uploads/app_file/name/2998/textfile.txt +1 -0
  935. data/spec/dummy/public/uploads/app_file/name/2999/textfile.txt +1 -0
  936. data/spec/dummy/public/uploads/app_file/name/3008/textfile.txt +1 -0
  937. data/spec/dummy/public/uploads/app_file/name/3010/textfile.txt +1 -0
  938. data/spec/dummy/public/uploads/app_file/name/3014/textfile.txt +1 -0
  939. data/spec/dummy/public/uploads/app_file/name/3017/textfile.txt +1 -0
  940. data/spec/dummy/public/uploads/app_file/name/3019/textfile.txt +1 -0
  941. data/spec/dummy/public/uploads/app_file/name/3020/textfile.txt +1 -0
  942. data/spec/dummy/public/uploads/app_file/name/3022/textfile.txt +1 -0
  943. data/spec/dummy/public/uploads/app_file/name/3028/textfile.txt +1 -0
  944. data/spec/dummy/public/uploads/app_file/name/3030/textfile.txt +1 -0
  945. data/spec/dummy/public/uploads/app_file/name/3032/textfile.txt +1 -0
  946. data/spec/dummy/public/uploads/app_file/name/3034/textfile.txt +1 -0
  947. data/spec/dummy/public/uploads/app_file/name/3036/textfile.txt +1 -0
  948. data/spec/dummy/public/uploads/app_file/name/3038/textfile.txt +1 -0
  949. data/spec/dummy/public/uploads/app_file/name/3039/textfile.txt +1 -0
  950. data/spec/dummy/public/uploads/app_file/name/3040/textfile.txt +1 -0
  951. data/spec/dummy/public/uploads/app_file/name/3041/textfile.txt +1 -0
  952. data/spec/dummy/public/uploads/app_file/name/3042/textfile.txt +1 -0
  953. data/spec/dummy/public/uploads/app_file/name/3043/textfile.txt +1 -0
  954. data/spec/dummy/public/uploads/app_file/name/3044/textfile.txt +1 -0
  955. data/spec/dummy/public/uploads/app_file/name/3045/textfile.txt +1 -0
  956. data/spec/dummy/public/uploads/app_file/name/3046/textfile.txt +1 -0
  957. data/spec/dummy/public/uploads/app_file/name/3047/textfile.txt +1 -0
  958. data/spec/dummy/public/uploads/app_file/name/3048/textfile.txt +1 -0
  959. data/spec/dummy/public/uploads/app_file/name/305/textfile.txt +1 -0
  960. data/spec/dummy/public/uploads/app_file/name/3057/textfile.txt +1 -0
  961. data/spec/dummy/public/uploads/app_file/name/3059/textfile.txt +1 -0
  962. data/spec/dummy/public/uploads/app_file/name/306/textfile.txt +1 -0
  963. data/spec/dummy/public/uploads/app_file/name/3063/textfile.txt +1 -0
  964. data/spec/dummy/public/uploads/app_file/name/3066/textfile.txt +1 -0
  965. data/spec/dummy/public/uploads/app_file/name/3068/textfile.txt +1 -0
  966. data/spec/dummy/public/uploads/app_file/name/3069/textfile.txt +1 -0
  967. data/spec/dummy/public/uploads/app_file/name/307/textfile.txt +1 -0
  968. data/spec/dummy/public/uploads/app_file/name/3071/textfile.txt +1 -0
  969. data/spec/dummy/public/uploads/app_file/name/3077/textfile.txt +1 -0
  970. data/spec/dummy/public/uploads/app_file/name/3079/textfile.txt +1 -0
  971. data/spec/dummy/public/uploads/app_file/name/3081/textfile.txt +1 -0
  972. data/spec/dummy/public/uploads/app_file/name/3083/textfile.txt +1 -0
  973. data/spec/dummy/public/uploads/app_file/name/3085/textfile.txt +1 -0
  974. data/spec/dummy/public/uploads/app_file/name/3087/textfile.txt +1 -0
  975. data/spec/dummy/public/uploads/app_file/name/3088/textfile.txt +1 -0
  976. data/spec/dummy/public/uploads/app_file/name/3089/textfile.txt +1 -0
  977. data/spec/dummy/public/uploads/app_file/name/3090/textfile.txt +1 -0
  978. data/spec/dummy/public/uploads/app_file/name/3091/textfile.txt +1 -0
  979. data/spec/dummy/public/uploads/app_file/name/3092/textfile.txt +1 -0
  980. data/spec/dummy/public/uploads/app_file/name/3093/textfile.txt +1 -0
  981. data/spec/dummy/public/uploads/app_file/name/3094/textfile.txt +1 -0
  982. data/spec/dummy/public/uploads/app_file/name/3095/textfile.txt +1 -0
  983. data/spec/dummy/public/uploads/app_file/name/3096/textfile.txt +1 -0
  984. data/spec/dummy/public/uploads/app_file/name/3097/textfile.txt +1 -0
  985. data/spec/dummy/public/uploads/app_file/name/31/textfile.txt +1 -0
  986. data/spec/dummy/public/uploads/app_file/name/3106/textfile.txt +1 -0
  987. data/spec/dummy/public/uploads/app_file/name/3108/textfile.txt +1 -0
  988. data/spec/dummy/public/uploads/app_file/name/3112/textfile.txt +1 -0
  989. data/spec/dummy/public/uploads/app_file/name/3115/textfile.txt +1 -0
  990. data/spec/dummy/public/uploads/app_file/name/3117/textfile.txt +1 -0
  991. data/spec/dummy/public/uploads/app_file/name/3118/textfile.txt +1 -0
  992. data/spec/dummy/public/uploads/app_file/name/3120/textfile.txt +1 -0
  993. data/spec/dummy/public/uploads/app_file/name/3126/textfile.txt +1 -0
  994. data/spec/dummy/public/uploads/app_file/name/3128/textfile.txt +1 -0
  995. data/spec/dummy/public/uploads/app_file/name/3130/textfile.txt +1 -0
  996. data/spec/dummy/public/uploads/app_file/name/3132/textfile.txt +1 -0
  997. data/spec/dummy/public/uploads/app_file/name/3134/textfile.txt +1 -0
  998. data/spec/dummy/public/uploads/app_file/name/3136/textfile.txt +1 -0
  999. data/spec/dummy/public/uploads/app_file/name/3137/textfile.txt +1 -0
  1000. data/spec/dummy/public/uploads/app_file/name/3138/textfile.txt +1 -0
  1001. data/spec/dummy/public/uploads/app_file/name/3139/textfile.txt +1 -0
  1002. data/spec/dummy/public/uploads/app_file/name/3140/textfile.txt +1 -0
  1003. data/spec/dummy/public/uploads/app_file/name/3141/textfile.txt +1 -0
  1004. data/spec/dummy/public/uploads/app_file/name/3142/textfile.txt +1 -0
  1005. data/spec/dummy/public/uploads/app_file/name/3143/textfile.txt +1 -0
  1006. data/spec/dummy/public/uploads/app_file/name/3144/textfile.txt +1 -0
  1007. data/spec/dummy/public/uploads/app_file/name/3145/textfile.txt +1 -0
  1008. data/spec/dummy/public/uploads/app_file/name/3146/textfile.txt +1 -0
  1009. data/spec/dummy/public/uploads/app_file/name/3155/textfile.txt +1 -0
  1010. data/spec/dummy/public/uploads/app_file/name/3157/textfile.txt +1 -0
  1011. data/spec/dummy/public/uploads/app_file/name/3161/textfile.txt +1 -0
  1012. data/spec/dummy/public/uploads/app_file/name/3164/textfile.txt +1 -0
  1013. data/spec/dummy/public/uploads/app_file/name/3166/textfile.txt +1 -0
  1014. data/spec/dummy/public/uploads/app_file/name/3167/textfile.txt +1 -0
  1015. data/spec/dummy/public/uploads/app_file/name/3169/textfile.txt +1 -0
  1016. data/spec/dummy/public/uploads/app_file/name/3175/textfile.txt +1 -0
  1017. data/spec/dummy/public/uploads/app_file/name/3177/textfile.txt +1 -0
  1018. data/spec/dummy/public/uploads/app_file/name/3179/textfile.txt +1 -0
  1019. data/spec/dummy/public/uploads/app_file/name/318/textfile.txt +1 -0
  1020. data/spec/dummy/public/uploads/app_file/name/3181/textfile.txt +1 -0
  1021. data/spec/dummy/public/uploads/app_file/name/3183/textfile.txt +1 -0
  1022. data/spec/dummy/public/uploads/app_file/name/3185/textfile.txt +1 -0
  1023. data/spec/dummy/public/uploads/app_file/name/3186/textfile.txt +1 -0
  1024. data/spec/dummy/public/uploads/app_file/name/3187/textfile.txt +1 -0
  1025. data/spec/dummy/public/uploads/app_file/name/3188/textfile.txt +1 -0
  1026. data/spec/dummy/public/uploads/app_file/name/3189/textfile.txt +1 -0
  1027. data/spec/dummy/public/uploads/app_file/name/319/textfile.txt +1 -0
  1028. data/spec/dummy/public/uploads/app_file/name/3190/textfile.txt +1 -0
  1029. data/spec/dummy/public/uploads/app_file/name/3191/textfile.txt +1 -0
  1030. data/spec/dummy/public/uploads/app_file/name/3192/textfile.txt +1 -0
  1031. data/spec/dummy/public/uploads/app_file/name/3193/textfile.txt +1 -0
  1032. data/spec/dummy/public/uploads/app_file/name/3194/textfile.txt +1 -0
  1033. data/spec/dummy/public/uploads/app_file/name/3195/textfile.txt +1 -0
  1034. data/spec/dummy/public/uploads/app_file/name/320/textfile.txt +1 -0
  1035. data/spec/dummy/public/uploads/app_file/name/3204/textfile.txt +1 -0
  1036. data/spec/dummy/public/uploads/app_file/name/3206/textfile.txt +1 -0
  1037. data/spec/dummy/public/uploads/app_file/name/3210/textfile.txt +1 -0
  1038. data/spec/dummy/public/uploads/app_file/name/3213/textfile.txt +1 -0
  1039. data/spec/dummy/public/uploads/app_file/name/3215/textfile.txt +1 -0
  1040. data/spec/dummy/public/uploads/app_file/name/3216/textfile.txt +1 -0
  1041. data/spec/dummy/public/uploads/app_file/name/3218/textfile.txt +1 -0
  1042. data/spec/dummy/public/uploads/app_file/name/3224/textfile.txt +1 -0
  1043. data/spec/dummy/public/uploads/app_file/name/3226/textfile.txt +1 -0
  1044. data/spec/dummy/public/uploads/app_file/name/3228/textfile.txt +1 -0
  1045. data/spec/dummy/public/uploads/app_file/name/3230/textfile.txt +1 -0
  1046. data/spec/dummy/public/uploads/app_file/name/3232/textfile.txt +1 -0
  1047. data/spec/dummy/public/uploads/app_file/name/3234/textfile.txt +1 -0
  1048. data/spec/dummy/public/uploads/app_file/name/3235/textfile.txt +1 -0
  1049. data/spec/dummy/public/uploads/app_file/name/3236/textfile.txt +1 -0
  1050. data/spec/dummy/public/uploads/app_file/name/3237/textfile.txt +1 -0
  1051. data/spec/dummy/public/uploads/app_file/name/3238/textfile.txt +1 -0
  1052. data/spec/dummy/public/uploads/app_file/name/3239/textfile.txt +1 -0
  1053. data/spec/dummy/public/uploads/app_file/name/3240/textfile.txt +1 -0
  1054. data/spec/dummy/public/uploads/app_file/name/3241/textfile.txt +1 -0
  1055. data/spec/dummy/public/uploads/app_file/name/3242/textfile.txt +1 -0
  1056. data/spec/dummy/public/uploads/app_file/name/3243/textfile.txt +1 -0
  1057. data/spec/dummy/public/uploads/app_file/name/3244/textfile.txt +1 -0
  1058. data/spec/dummy/public/uploads/app_file/name/3253/textfile.txt +1 -0
  1059. data/spec/dummy/public/uploads/app_file/name/3255/textfile.txt +1 -0
  1060. data/spec/dummy/public/uploads/app_file/name/3259/textfile.txt +1 -0
  1061. data/spec/dummy/public/uploads/app_file/name/3262/textfile.txt +1 -0
  1062. data/spec/dummy/public/uploads/app_file/name/3264/textfile.txt +1 -0
  1063. data/spec/dummy/public/uploads/app_file/name/3265/textfile.txt +1 -0
  1064. data/spec/dummy/public/uploads/app_file/name/3267/textfile.txt +1 -0
  1065. data/spec/dummy/public/uploads/app_file/name/3273/textfile.txt +1 -0
  1066. data/spec/dummy/public/uploads/app_file/name/3275/textfile.txt +1 -0
  1067. data/spec/dummy/public/uploads/app_file/name/3277/textfile.txt +1 -0
  1068. data/spec/dummy/public/uploads/app_file/name/3279/textfile.txt +1 -0
  1069. data/spec/dummy/public/uploads/app_file/name/3281/textfile.txt +1 -0
  1070. data/spec/dummy/public/uploads/app_file/name/3283/textfile.txt +1 -0
  1071. data/spec/dummy/public/uploads/app_file/name/3284/textfile.txt +1 -0
  1072. data/spec/dummy/public/uploads/app_file/name/3285/textfile.txt +1 -0
  1073. data/spec/dummy/public/uploads/app_file/name/3286/textfile.txt +1 -0
  1074. data/spec/dummy/public/uploads/app_file/name/3287/textfile.txt +1 -0
  1075. data/spec/dummy/public/uploads/app_file/name/3288/textfile.txt +1 -0
  1076. data/spec/dummy/public/uploads/app_file/name/3289/textfile.txt +1 -0
  1077. data/spec/dummy/public/uploads/app_file/name/3290/textfile.txt +1 -0
  1078. data/spec/dummy/public/uploads/app_file/name/3291/textfile.txt +1 -0
  1079. data/spec/dummy/public/uploads/app_file/name/33/textfile.txt +1 -0
  1080. data/spec/dummy/public/uploads/app_file/name/331/textfile.txt +1 -0
  1081. data/spec/dummy/public/uploads/app_file/name/333/textfile.txt +1 -0
  1082. data/spec/dummy/public/uploads/app_file/name/334/textfile.txt +1 -0
  1083. data/spec/dummy/public/uploads/app_file/name/34/textfile.txt +1 -0
  1084. data/spec/dummy/public/uploads/app_file/name/345/textfile.txt +1 -0
  1085. data/spec/dummy/public/uploads/app_file/name/347/textfile.txt +1 -0
  1086. data/spec/dummy/public/uploads/app_file/name/348/textfile.txt +1 -0
  1087. data/spec/dummy/public/uploads/app_file/name/359/textfile.txt +1 -0
  1088. data/spec/dummy/public/uploads/app_file/name/361/textfile.txt +1 -0
  1089. data/spec/dummy/public/uploads/app_file/name/362/textfile.txt +1 -0
  1090. data/spec/dummy/public/uploads/app_file/name/373/textfile.txt +1 -0
  1091. data/spec/dummy/public/uploads/app_file/name/375/textfile.txt +1 -0
  1092. data/spec/dummy/public/uploads/app_file/name/376/textfile.txt +1 -0
  1093. data/spec/dummy/public/uploads/app_file/name/387/textfile.txt +1 -0
  1094. data/spec/dummy/public/uploads/app_file/name/389/textfile.txt +1 -0
  1095. data/spec/dummy/public/uploads/app_file/name/390/textfile.txt +1 -0
  1096. data/spec/dummy/public/uploads/app_file/name/401/textfile.txt +1 -0
  1097. data/spec/dummy/public/uploads/app_file/name/403/textfile.txt +1 -0
  1098. data/spec/dummy/public/uploads/app_file/name/404/textfile.txt +1 -0
  1099. data/spec/dummy/public/uploads/app_file/name/415/textfile.txt +1 -0
  1100. data/spec/dummy/public/uploads/app_file/name/417/textfile.txt +1 -0
  1101. data/spec/dummy/public/uploads/app_file/name/418/textfile.txt +1 -0
  1102. data/spec/dummy/public/uploads/app_file/name/42/textfile.txt +1 -0
  1103. data/spec/dummy/public/uploads/app_file/name/426/textfile.txt +1 -0
  1104. data/spec/dummy/public/uploads/app_file/name/431/textfile.txt +1 -0
  1105. data/spec/dummy/public/uploads/app_file/name/433/textfile.txt +1 -0
  1106. data/spec/dummy/public/uploads/app_file/name/434/textfile.txt +1 -0
  1107. data/spec/dummy/public/uploads/app_file/name/44/textfile.txt +1 -0
  1108. data/spec/dummy/public/uploads/app_file/name/442/textfile.txt +1 -0
  1109. data/spec/dummy/public/uploads/app_file/name/447/textfile.txt +1 -0
  1110. data/spec/dummy/public/uploads/app_file/name/449/textfile.txt +1 -0
  1111. data/spec/dummy/public/uploads/app_file/name/45/textfile.txt +1 -0
  1112. data/spec/dummy/public/uploads/app_file/name/450/textfile.txt +1 -0
  1113. data/spec/dummy/public/uploads/app_file/name/458/textfile.txt +1 -0
  1114. data/spec/dummy/public/uploads/app_file/name/463/textfile.txt +1 -0
  1115. data/spec/dummy/public/uploads/app_file/name/465/textfile.txt +1 -0
  1116. data/spec/dummy/public/uploads/app_file/name/466/textfile.txt +1 -0
  1117. data/spec/dummy/public/uploads/app_file/name/474/textfile.txt +1 -0
  1118. data/spec/dummy/public/uploads/app_file/name/479/textfile.txt +1 -0
  1119. data/spec/dummy/public/uploads/app_file/name/481/textfile.txt +1 -0
  1120. data/spec/dummy/public/uploads/app_file/name/482/textfile.txt +1 -0
  1121. data/spec/dummy/public/uploads/app_file/name/490/textfile.txt +1 -0
  1122. data/spec/dummy/public/uploads/app_file/name/495/textfile.txt +1 -0
  1123. data/spec/dummy/public/uploads/app_file/name/497/textfile.txt +1 -0
  1124. data/spec/dummy/public/uploads/app_file/name/498/textfile.txt +1 -0
  1125. data/spec/dummy/public/uploads/app_file/name/506/textfile.txt +1 -0
  1126. data/spec/dummy/public/uploads/app_file/name/511/textfile.txt +1 -0
  1127. data/spec/dummy/public/uploads/app_file/name/513/textfile.txt +1 -0
  1128. data/spec/dummy/public/uploads/app_file/name/514/textfile.txt +1 -0
  1129. data/spec/dummy/public/uploads/app_file/name/523/textfile.txt +1 -0
  1130. data/spec/dummy/public/uploads/app_file/name/528/textfile.txt +1 -0
  1131. data/spec/dummy/public/uploads/app_file/name/53/textfile.txt +1 -0
  1132. data/spec/dummy/public/uploads/app_file/name/530/textfile.txt +1 -0
  1133. data/spec/dummy/public/uploads/app_file/name/531/textfile.txt +1 -0
  1134. data/spec/dummy/public/uploads/app_file/name/540/textfile.txt +1 -0
  1135. data/spec/dummy/public/uploads/app_file/name/545/textfile.txt +1 -0
  1136. data/spec/dummy/public/uploads/app_file/name/547/textfile.txt +1 -0
  1137. data/spec/dummy/public/uploads/app_file/name/548/textfile.txt +1 -0
  1138. data/spec/dummy/public/uploads/app_file/name/55/textfile.txt +1 -0
  1139. data/spec/dummy/public/uploads/app_file/name/557/textfile.txt +1 -0
  1140. data/spec/dummy/public/uploads/app_file/name/56/textfile.txt +1 -0
  1141. data/spec/dummy/public/uploads/app_file/name/562/textfile.txt +1 -0
  1142. data/spec/dummy/public/uploads/app_file/name/564/textfile.txt +1 -0
  1143. data/spec/dummy/public/uploads/app_file/name/565/textfile.txt +1 -0
  1144. data/spec/dummy/public/uploads/app_file/name/574/textfile.txt +1 -0
  1145. data/spec/dummy/public/uploads/app_file/name/579/textfile.txt +1 -0
  1146. data/spec/dummy/public/uploads/app_file/name/581/textfile.txt +1 -0
  1147. data/spec/dummy/public/uploads/app_file/name/582/textfile.txt +1 -0
  1148. data/spec/dummy/public/uploads/app_file/name/591/textfile.txt +1 -0
  1149. data/spec/dummy/public/uploads/app_file/name/596/textfile.txt +1 -0
  1150. data/spec/dummy/public/uploads/app_file/name/598/textfile.txt +1 -0
  1151. data/spec/dummy/public/uploads/app_file/name/599/textfile.txt +1 -0
  1152. data/spec/dummy/public/uploads/app_file/name/608/textfile.txt +1 -0
  1153. data/spec/dummy/public/uploads/app_file/name/613/textfile.txt +1 -0
  1154. data/spec/dummy/public/uploads/app_file/name/615/textfile.txt +1 -0
  1155. data/spec/dummy/public/uploads/app_file/name/616/textfile.txt +1 -0
  1156. data/spec/dummy/public/uploads/app_file/name/625/textfile.txt +1 -0
  1157. data/spec/dummy/public/uploads/app_file/name/630/textfile.txt +1 -0
  1158. data/spec/dummy/public/uploads/app_file/name/632/textfile.txt +1 -0
  1159. data/spec/dummy/public/uploads/app_file/name/633/textfile.txt +1 -0
  1160. data/spec/dummy/public/uploads/app_file/name/642/textfile.txt +1 -0
  1161. data/spec/dummy/public/uploads/app_file/name/648/textfile.txt +1 -0
  1162. data/spec/dummy/public/uploads/app_file/name/65/textfile.txt +1 -0
  1163. data/spec/dummy/public/uploads/app_file/name/651/textfile.txt +1 -0
  1164. data/spec/dummy/public/uploads/app_file/name/652/textfile.txt +1 -0
  1165. data/spec/dummy/public/uploads/app_file/name/653/textfile.txt +1 -0
  1166. data/spec/dummy/public/uploads/app_file/name/662/textfile.txt +1 -0
  1167. data/spec/dummy/public/uploads/app_file/name/668/textfile.txt +1 -0
  1168. data/spec/dummy/public/uploads/app_file/name/67/textfile.txt +1 -0
  1169. data/spec/dummy/public/uploads/app_file/name/671/textfile.txt +1 -0
  1170. data/spec/dummy/public/uploads/app_file/name/672/textfile.txt +1 -0
  1171. data/spec/dummy/public/uploads/app_file/name/673/textfile.txt +1 -0
  1172. data/spec/dummy/public/uploads/app_file/name/68/textfile.txt +1 -0
  1173. data/spec/dummy/public/uploads/app_file/name/682/textfile.txt +1 -0
  1174. data/spec/dummy/public/uploads/app_file/name/688/textfile.txt +1 -0
  1175. data/spec/dummy/public/uploads/app_file/name/691/textfile.txt +1 -0
  1176. data/spec/dummy/public/uploads/app_file/name/693/textfile.txt +1 -0
  1177. data/spec/dummy/public/uploads/app_file/name/694/textfile.txt +1 -0
  1178. data/spec/dummy/public/uploads/app_file/name/695/textfile.txt +1 -0
  1179. data/spec/dummy/public/uploads/app_file/name/704/textfile.txt +1 -0
  1180. data/spec/dummy/public/uploads/app_file/name/710/textfile.txt +1 -0
  1181. data/spec/dummy/public/uploads/app_file/name/713/textfile.txt +1 -0
  1182. data/spec/dummy/public/uploads/app_file/name/715/textfile.txt +1 -0
  1183. data/spec/dummy/public/uploads/app_file/name/717/textfile.txt +1 -0
  1184. data/spec/dummy/public/uploads/app_file/name/718/textfile.txt +1 -0
  1185. data/spec/dummy/public/uploads/app_file/name/719/textfile.txt +1 -0
  1186. data/spec/dummy/public/uploads/app_file/name/728/textfile.txt +1 -0
  1187. data/spec/dummy/public/uploads/app_file/name/734/textfile.txt +1 -0
  1188. data/spec/dummy/public/uploads/app_file/name/737/textfile.txt +1 -0
  1189. data/spec/dummy/public/uploads/app_file/name/739/textfile.txt +1 -0
  1190. data/spec/dummy/public/uploads/app_file/name/740/textfile.txt +1 -0
  1191. data/spec/dummy/public/uploads/app_file/name/742/textfile.txt +1 -0
  1192. data/spec/dummy/public/uploads/app_file/name/743/textfile.txt +1 -0
  1193. data/spec/dummy/public/uploads/app_file/name/744/textfile.txt +1 -0
  1194. data/spec/dummy/public/uploads/app_file/name/753/textfile.txt +1 -0
  1195. data/spec/dummy/public/uploads/app_file/name/759/textfile.txt +1 -0
  1196. data/spec/dummy/public/uploads/app_file/name/762/textfile.txt +1 -0
  1197. data/spec/dummy/public/uploads/app_file/name/764/textfile.txt +1 -0
  1198. data/spec/dummy/public/uploads/app_file/name/765/textfile.txt +1 -0
  1199. data/spec/dummy/public/uploads/app_file/name/767/textfile.txt +1 -0
  1200. data/spec/dummy/public/uploads/app_file/name/768/textfile.txt +1 -0
  1201. data/spec/dummy/public/uploads/app_file/name/769/textfile.txt +1 -0
  1202. data/spec/dummy/public/uploads/app_file/name/77/textfile.txt +1 -0
  1203. data/spec/dummy/public/uploads/app_file/name/778/textfile.txt +1 -0
  1204. data/spec/dummy/public/uploads/app_file/name/784/textfile.txt +1 -0
  1205. data/spec/dummy/public/uploads/app_file/name/787/textfile.txt +1 -0
  1206. data/spec/dummy/public/uploads/app_file/name/789/textfile.txt +1 -0
  1207. data/spec/dummy/public/uploads/app_file/name/79/textfile.txt +1 -0
  1208. data/spec/dummy/public/uploads/app_file/name/790/textfile.txt +1 -0
  1209. data/spec/dummy/public/uploads/app_file/name/792/textfile.txt +1 -0
  1210. data/spec/dummy/public/uploads/app_file/name/793/textfile.txt +1 -0
  1211. data/spec/dummy/public/uploads/app_file/name/794/textfile.txt +1 -0
  1212. data/spec/dummy/public/uploads/app_file/name/80/textfile.txt +1 -0
  1213. data/spec/dummy/public/uploads/app_file/name/803/textfile.txt +1 -0
  1214. data/spec/dummy/public/uploads/app_file/name/806/textfile.txt +1 -0
  1215. data/spec/dummy/public/uploads/app_file/name/810/textfile.txt +1 -0
  1216. data/spec/dummy/public/uploads/app_file/name/813/textfile.txt +1 -0
  1217. data/spec/dummy/public/uploads/app_file/name/815/textfile.txt +1 -0
  1218. data/spec/dummy/public/uploads/app_file/name/816/textfile.txt +1 -0
  1219. data/spec/dummy/public/uploads/app_file/name/818/textfile.txt +1 -0
  1220. data/spec/dummy/public/uploads/app_file/name/819/textfile.txt +1 -0
  1221. data/spec/dummy/public/uploads/app_file/name/820/textfile.txt +1 -0
  1222. data/spec/dummy/public/uploads/app_file/name/829/textfile.txt +1 -0
  1223. data/spec/dummy/public/uploads/app_file/name/832/textfile.txt +1 -0
  1224. data/spec/dummy/public/uploads/app_file/name/836/textfile.txt +1 -0
  1225. data/spec/dummy/public/uploads/app_file/name/839/textfile.txt +1 -0
  1226. data/spec/dummy/public/uploads/app_file/name/841/textfile.txt +1 -0
  1227. data/spec/dummy/public/uploads/app_file/name/842/textfile.txt +1 -0
  1228. data/spec/dummy/public/uploads/app_file/name/844/textfile.txt +1 -0
  1229. data/spec/dummy/public/uploads/app_file/name/845/textfile.txt +1 -0
  1230. data/spec/dummy/public/uploads/app_file/name/846/textfile.txt +1 -0
  1231. data/spec/dummy/public/uploads/app_file/name/855/textfile.txt +1 -0
  1232. data/spec/dummy/public/uploads/app_file/name/857/textfile.txt +1 -0
  1233. data/spec/dummy/public/uploads/app_file/name/861/textfile.txt +1 -0
  1234. data/spec/dummy/public/uploads/app_file/name/864/textfile.txt +1 -0
  1235. data/spec/dummy/public/uploads/app_file/name/866/textfile.txt +1 -0
  1236. data/spec/dummy/public/uploads/app_file/name/867/textfile.txt +1 -0
  1237. data/spec/dummy/public/uploads/app_file/name/869/textfile.txt +1 -0
  1238. data/spec/dummy/public/uploads/app_file/name/871/textfile.txt +1 -0
  1239. data/spec/dummy/public/uploads/app_file/name/872/textfile.txt +1 -0
  1240. data/spec/dummy/public/uploads/app_file/name/873/textfile.txt +1 -0
  1241. data/spec/dummy/public/uploads/app_file/name/882/textfile.txt +1 -0
  1242. data/spec/dummy/public/uploads/app_file/name/884/textfile.txt +1 -0
  1243. data/spec/dummy/public/uploads/app_file/name/888/textfile.txt +1 -0
  1244. data/spec/dummy/public/uploads/app_file/name/89/textfile.txt +1 -0
  1245. data/spec/dummy/public/uploads/app_file/name/891/textfile.txt +1 -0
  1246. data/spec/dummy/public/uploads/app_file/name/893/textfile.txt +1 -0
  1247. data/spec/dummy/public/uploads/app_file/name/894/textfile.txt +1 -0
  1248. data/spec/dummy/public/uploads/app_file/name/896/textfile.txt +1 -0
  1249. data/spec/dummy/public/uploads/app_file/name/898/textfile.txt +1 -0
  1250. data/spec/dummy/public/uploads/app_file/name/9/textfile.txt +1 -0
  1251. data/spec/dummy/public/uploads/app_file/name/900/textfile.txt +1 -0
  1252. data/spec/dummy/public/uploads/app_file/name/901/textfile.txt +1 -0
  1253. data/spec/dummy/public/uploads/app_file/name/91/textfile.txt +1 -0
  1254. data/spec/dummy/public/uploads/app_file/name/910/textfile.txt +1 -0
  1255. data/spec/dummy/public/uploads/app_file/name/912/textfile.txt +1 -0
  1256. data/spec/dummy/public/uploads/app_file/name/916/textfile.txt +1 -0
  1257. data/spec/dummy/public/uploads/app_file/name/919/textfile.txt +1 -0
  1258. data/spec/dummy/public/uploads/app_file/name/92/textfile.txt +1 -0
  1259. data/spec/dummy/public/uploads/app_file/name/921/textfile.txt +1 -0
  1260. data/spec/dummy/public/uploads/app_file/name/922/textfile.txt +1 -0
  1261. data/spec/dummy/public/uploads/app_file/name/924/textfile.txt +1 -0
  1262. data/spec/dummy/public/uploads/app_file/name/928/textfile.txt +1 -0
  1263. data/spec/dummy/public/uploads/app_file/name/929/textfile.txt +1 -0
  1264. data/spec/dummy/public/uploads/app_file/name/930/textfile.txt +1 -0
  1265. data/spec/dummy/public/uploads/app_file/name/939/textfile.txt +1 -0
  1266. data/spec/dummy/public/uploads/app_file/name/941/textfile.txt +1 -0
  1267. data/spec/dummy/public/uploads/app_file/name/945/textfile.txt +1 -0
  1268. data/spec/dummy/public/uploads/app_file/name/948/textfile.txt +1 -0
  1269. data/spec/dummy/public/uploads/app_file/name/950/textfile.txt +1 -0
  1270. data/spec/dummy/public/uploads/app_file/name/951/textfile.txt +1 -0
  1271. data/spec/dummy/public/uploads/app_file/name/953/textfile.txt +1 -0
  1272. data/spec/dummy/public/uploads/app_file/name/958/textfile.txt +1 -0
  1273. data/spec/dummy/public/uploads/app_file/name/959/textfile.txt +1 -0
  1274. data/spec/dummy/public/uploads/app_file/name/968/textfile.txt +1 -0
  1275. data/spec/dummy/public/uploads/app_file/name/970/textfile.txt +1 -0
  1276. data/spec/dummy/public/uploads/app_file/name/974/textfile.txt +1 -0
  1277. data/spec/dummy/public/uploads/app_file/name/977/textfile.txt +1 -0
  1278. data/spec/dummy/public/uploads/app_file/name/979/textfile.txt +1 -0
  1279. data/spec/dummy/public/uploads/app_file/name/980/textfile.txt +1 -0
  1280. data/spec/dummy/public/uploads/app_file/name/982/textfile.txt +1 -0
  1281. data/spec/dummy/public/uploads/app_file/name/988/textfile.txt +1 -0
  1282. data/spec/dummy/public/uploads/app_file/name/989/textfile.txt +1 -0
  1283. data/spec/dummy/public/uploads/app_file/name/990/textfile.txt +1 -0
  1284. data/spec/dummy/public/uploads/app_file/name/999/textfile.txt +1 -0
  1285. data/spec/dummy/public/uploads/repository/file/10/textfile.txt +1 -0
  1286. data/spec/dummy/public/uploads/repository/file/100/textfile.txt +1 -0
  1287. data/spec/dummy/public/uploads/repository/file/101/textfile.txt +1 -0
  1288. data/spec/dummy/public/uploads/repository/file/102/textfile.txt +1 -0
  1289. data/spec/dummy/public/uploads/repository/file/103/textfile.txt +1 -0
  1290. data/spec/dummy/public/uploads/repository/file/104/textfile.txt +1 -0
  1291. data/spec/dummy/public/uploads/repository/file/105/textfile.txt +1 -0
  1292. data/spec/dummy/public/uploads/repository/file/106/textfile.txt +1 -0
  1293. data/spec/dummy/public/uploads/repository/file/107/textfile.txt +1 -0
  1294. data/spec/dummy/public/uploads/repository/file/108/textfile.txt +1 -0
  1295. data/spec/dummy/public/uploads/repository/file/109/textfile.txt +1 -0
  1296. data/spec/dummy/public/uploads/repository/file/11/textfile.txt +1 -0
  1297. data/spec/dummy/public/uploads/repository/file/112/textfile.txt +1 -0
  1298. data/spec/dummy/public/uploads/repository/file/113/textfile.txt +1 -0
  1299. data/spec/dummy/public/uploads/repository/file/114/textfile.txt +1 -0
  1300. data/spec/dummy/public/uploads/repository/file/115/textfile.txt +1 -0
  1301. data/spec/dummy/public/uploads/repository/file/116/textfile.txt +1 -0
  1302. data/spec/dummy/public/uploads/repository/file/117/textfile.txt +1 -0
  1303. data/spec/dummy/public/uploads/repository/file/118/textfile.txt +1 -0
  1304. data/spec/dummy/public/uploads/repository/file/119/textfile.txt +1 -0
  1305. data/spec/dummy/public/uploads/repository/file/12/textfile.txt +1 -0
  1306. data/spec/dummy/public/uploads/repository/file/120/textfile.txt +1 -0
  1307. data/spec/dummy/public/uploads/repository/file/121/textfile.txt +1 -0
  1308. data/spec/dummy/public/uploads/repository/file/122/textfile.txt +1 -0
  1309. data/spec/dummy/public/uploads/repository/file/123/textfile.txt +1 -0
  1310. data/spec/dummy/public/uploads/repository/file/124/textfile.txt +1 -0
  1311. data/spec/dummy/public/uploads/repository/file/125/textfile.txt +1 -0
  1312. data/spec/dummy/public/uploads/repository/file/126/textfile.txt +1 -0
  1313. data/spec/dummy/public/uploads/repository/file/127/textfile.txt +1 -0
  1314. data/spec/dummy/public/uploads/repository/file/128/textfile.txt +1 -0
  1315. data/spec/dummy/public/uploads/repository/file/129/textfile.txt +1 -0
  1316. data/spec/dummy/public/uploads/repository/file/13/textfile.txt +1 -0
  1317. data/spec/dummy/public/uploads/repository/file/130/textfile.txt +1 -0
  1318. data/spec/dummy/public/uploads/repository/file/131/textfile.txt +1 -0
  1319. data/spec/dummy/public/uploads/repository/file/134/textfile.txt +1 -0
  1320. data/spec/dummy/public/uploads/repository/file/136/textfile.txt +1 -0
  1321. data/spec/dummy/public/uploads/repository/file/137/textfile.txt +1 -0
  1322. data/spec/dummy/public/uploads/repository/file/138/textfile.txt +1 -0
  1323. data/spec/dummy/public/uploads/repository/file/139/textfile.txt +1 -0
  1324. data/spec/dummy/public/uploads/repository/file/14/textfile.txt +1 -0
  1325. data/spec/dummy/public/uploads/repository/file/140/textfile.txt +1 -0
  1326. data/spec/dummy/public/uploads/repository/file/141/textfile.txt +1 -0
  1327. data/spec/dummy/public/uploads/repository/file/142/textfile.txt +1 -0
  1328. data/spec/dummy/public/uploads/repository/file/143/textfile.txt +1 -0
  1329. data/spec/dummy/public/uploads/repository/file/144/textfile.txt +1 -0
  1330. data/spec/dummy/public/uploads/repository/file/145/textfile.txt +1 -0
  1331. data/spec/dummy/public/uploads/repository/file/146/textfile.txt +1 -0
  1332. data/spec/dummy/public/uploads/repository/file/147/textfile.txt +1 -0
  1333. data/spec/dummy/public/uploads/repository/file/148/textfile.txt +1 -0
  1334. data/spec/dummy/public/uploads/repository/file/149/textfile.txt +1 -0
  1335. data/spec/dummy/public/uploads/repository/file/15/textfile.txt +1 -0
  1336. data/spec/dummy/public/uploads/repository/file/150/textfile.txt +1 -0
  1337. data/spec/dummy/public/uploads/repository/file/151/textfile.txt +1 -0
  1338. data/spec/dummy/public/uploads/repository/file/152/textfile.txt +1 -0
  1339. data/spec/dummy/public/uploads/repository/file/153/textfile.txt +1 -0
  1340. data/spec/dummy/public/uploads/repository/file/154/textfile.txt +1 -0
  1341. data/spec/dummy/public/uploads/repository/file/157/textfile.txt +1 -0
  1342. data/spec/dummy/public/uploads/repository/file/16/textfile.txt +1 -0
  1343. data/spec/dummy/public/uploads/repository/file/17/textfile.txt +1 -0
  1344. data/spec/dummy/public/uploads/repository/file/18/textfile.txt +1 -0
  1345. data/spec/dummy/public/uploads/repository/file/19/textfile.txt +1 -0
  1346. data/spec/dummy/public/uploads/repository/file/20/textfile.txt +1 -0
  1347. data/spec/dummy/public/uploads/repository/file/21/textfile.txt +1 -0
  1348. data/spec/dummy/public/uploads/repository/file/24/textfile.txt +1 -0
  1349. data/spec/dummy/public/uploads/repository/file/25/textfile.txt +1 -0
  1350. data/spec/dummy/public/uploads/repository/file/26/textfile.txt +1 -0
  1351. data/spec/dummy/public/uploads/repository/file/27/textfile.txt +1 -0
  1352. data/spec/dummy/public/uploads/repository/file/28/textfile.txt +1 -0
  1353. data/spec/dummy/public/uploads/repository/file/29/textfile.txt +1 -0
  1354. data/spec/dummy/public/uploads/repository/file/3/textfile.txt +1 -0
  1355. data/spec/dummy/public/uploads/repository/file/30/textfile.txt +1 -0
  1356. data/spec/dummy/public/uploads/repository/file/31/textfile.txt +1 -0
  1357. data/spec/dummy/public/uploads/repository/file/32/textfile.txt +1 -0
  1358. data/spec/dummy/public/uploads/repository/file/33/textfile.txt +1 -0
  1359. data/spec/dummy/public/uploads/repository/file/34/textfile.txt +1 -0
  1360. data/spec/dummy/public/uploads/repository/file/35/textfile.txt +1 -0
  1361. data/spec/dummy/public/uploads/repository/file/36/textfile.txt +1 -0
  1362. data/spec/dummy/public/uploads/repository/file/37/textfile.txt +1 -0
  1363. data/spec/dummy/public/uploads/repository/file/38/textfile.txt +1 -0
  1364. data/spec/dummy/public/uploads/repository/file/39/textfile.txt +1 -0
  1365. data/spec/dummy/public/uploads/repository/file/4/textfile.txt +1 -0
  1366. data/spec/dummy/public/uploads/repository/file/40/textfile.txt +1 -0
  1367. data/spec/dummy/public/uploads/repository/file/41/textfile.txt +1 -0
  1368. data/spec/dummy/public/uploads/repository/file/42/textfile.txt +1 -0
  1369. data/spec/dummy/public/uploads/repository/file/43/textfile.txt +1 -0
  1370. data/spec/dummy/public/uploads/repository/file/46/textfile.txt +1 -0
  1371. data/spec/dummy/public/uploads/repository/file/47/textfile.txt +1 -0
  1372. data/spec/dummy/public/uploads/repository/file/48/textfile.txt +1 -0
  1373. data/spec/dummy/public/uploads/repository/file/49/textfile.txt +1 -0
  1374. data/spec/dummy/public/uploads/repository/file/5/textfile.txt +1 -0
  1375. data/spec/dummy/public/uploads/repository/file/50/textfile.txt +1 -0
  1376. data/spec/dummy/public/uploads/repository/file/51/textfile.txt +1 -0
  1377. data/spec/dummy/public/uploads/repository/file/52/textfile.txt +1 -0
  1378. data/spec/dummy/public/uploads/repository/file/53/textfile.txt +1 -0
  1379. data/spec/dummy/public/uploads/repository/file/54/textfile.txt +1 -0
  1380. data/spec/dummy/public/uploads/repository/file/55/textfile.txt +1 -0
  1381. data/spec/dummy/public/uploads/repository/file/56/textfile.txt +1 -0
  1382. data/spec/dummy/public/uploads/repository/file/57/textfile.txt +1 -0
  1383. data/spec/dummy/public/uploads/repository/file/58/textfile.txt +1 -0
  1384. data/spec/dummy/public/uploads/repository/file/59/textfile.txt +1 -0
  1385. data/spec/dummy/public/uploads/repository/file/6/textfile.txt +1 -0
  1386. data/spec/dummy/public/uploads/repository/file/60/textfile.txt +1 -0
  1387. data/spec/dummy/public/uploads/repository/file/61/textfile.txt +1 -0
  1388. data/spec/dummy/public/uploads/repository/file/62/textfile.txt +1 -0
  1389. data/spec/dummy/public/uploads/repository/file/63/textfile.txt +1 -0
  1390. data/spec/dummy/public/uploads/repository/file/64/textfile.txt +1 -0
  1391. data/spec/dummy/public/uploads/repository/file/65/textfile.txt +1 -0
  1392. data/spec/dummy/public/uploads/repository/file/68/textfile.txt +1 -0
  1393. data/spec/dummy/public/uploads/repository/file/69/textfile.txt +1 -0
  1394. data/spec/dummy/public/uploads/repository/file/7/textfile.txt +1 -0
  1395. data/spec/dummy/public/uploads/repository/file/70/textfile.txt +1 -0
  1396. data/spec/dummy/public/uploads/repository/file/71/textfile.txt +1 -0
  1397. data/spec/dummy/public/uploads/repository/file/72/textfile.txt +1 -0
  1398. data/spec/dummy/public/uploads/repository/file/73/textfile.txt +1 -0
  1399. data/spec/dummy/public/uploads/repository/file/74/textfile.txt +1 -0
  1400. data/spec/dummy/public/uploads/repository/file/75/textfile.txt +1 -0
  1401. data/spec/dummy/public/uploads/repository/file/76/textfile.txt +1 -0
  1402. data/spec/dummy/public/uploads/repository/file/77/textfile.txt +1 -0
  1403. data/spec/dummy/public/uploads/repository/file/78/textfile.txt +1 -0
  1404. data/spec/dummy/public/uploads/repository/file/79/textfile.txt +1 -0
  1405. data/spec/dummy/public/uploads/repository/file/8/textfile.txt +1 -0
  1406. data/spec/dummy/public/uploads/repository/file/80/textfile.txt +1 -0
  1407. data/spec/dummy/public/uploads/repository/file/81/textfile.txt +1 -0
  1408. data/spec/dummy/public/uploads/repository/file/82/textfile.txt +1 -0
  1409. data/spec/dummy/public/uploads/repository/file/83/textfile.txt +1 -0
  1410. data/spec/dummy/public/uploads/repository/file/84/textfile.txt +1 -0
  1411. data/spec/dummy/public/uploads/repository/file/85/textfile.txt +1 -0
  1412. data/spec/dummy/public/uploads/repository/file/86/textfile.txt +1 -0
  1413. data/spec/dummy/public/uploads/repository/file/87/textfile.txt +1 -0
  1414. data/spec/dummy/public/uploads/repository/file/9/textfile.txt +1 -0
  1415. data/spec/dummy/public/uploads/repository/file/90/textfile.txt +1 -0
  1416. data/spec/dummy/public/uploads/repository/file/91/textfile.txt +1 -0
  1417. data/spec/dummy/public/uploads/repository/file/92/textfile.txt +1 -0
  1418. data/spec/dummy/public/uploads/repository/file/93/textfile.txt +1 -0
  1419. data/spec/dummy/public/uploads/repository/file/94/textfile.txt +1 -0
  1420. data/spec/dummy/public/uploads/repository/file/95/textfile.txt +1 -0
  1421. data/spec/dummy/public/uploads/repository/file/96/textfile.txt +1 -0
  1422. data/spec/dummy/public/uploads/repository/file/97/textfile.txt +1 -0
  1423. data/spec/dummy/public/uploads/repository/file/98/textfile.txt +1 -0
  1424. data/spec/dummy/public/uploads/repository/file/99/textfile.txt +1 -0
  1425. data/spec/dummy/public/uploads/repository/repository/1/textfile.txt +1 -0
  1426. data/spec/dummy/public/uploads/repository/repository/10/textfile.txt +1 -0
  1427. data/spec/dummy/public/uploads/repository/repository/100/textfile.txt +1 -0
  1428. data/spec/dummy/public/uploads/repository/repository/101/textfile.txt +1 -0
  1429. data/spec/dummy/public/uploads/repository/repository/102/textfile.txt +1 -0
  1430. data/spec/dummy/public/uploads/repository/repository/103/textfile.txt +1 -0
  1431. data/spec/dummy/public/uploads/repository/repository/104/textfile.txt +1 -0
  1432. data/spec/dummy/public/uploads/repository/repository/105/textfile.txt +1 -0
  1433. data/spec/dummy/public/uploads/repository/repository/106/textfile.txt +1 -0
  1434. data/spec/dummy/public/uploads/repository/repository/107/textfile.txt +1 -0
  1435. data/spec/dummy/public/uploads/repository/repository/108/textfile.txt +1 -0
  1436. data/spec/dummy/public/uploads/repository/repository/109/textfile.txt +1 -0
  1437. data/spec/dummy/public/uploads/repository/repository/11/textfile.txt +1 -0
  1438. data/spec/dummy/public/uploads/repository/repository/110/textfile.txt +1 -0
  1439. data/spec/dummy/public/uploads/repository/repository/111/textfile.txt +1 -0
  1440. data/spec/dummy/public/uploads/repository/repository/112/textfile.txt +1 -0
  1441. data/spec/dummy/public/uploads/repository/repository/113/textfile.txt +1 -0
  1442. data/spec/dummy/public/uploads/repository/repository/114/textfile.txt +1 -0
  1443. data/spec/dummy/public/uploads/repository/repository/115/textfile.txt +1 -0
  1444. data/spec/dummy/public/uploads/repository/repository/116/textfile.txt +1 -0
  1445. data/spec/dummy/public/uploads/repository/repository/117/textfile.txt +1 -0
  1446. data/spec/dummy/public/uploads/repository/repository/118/textfile.txt +1 -0
  1447. data/spec/dummy/public/uploads/repository/repository/119/textfile.txt +1 -0
  1448. data/spec/dummy/public/uploads/repository/repository/12/textfile.txt +1 -0
  1449. data/spec/dummy/public/uploads/repository/repository/120/textfile.txt +1 -0
  1450. data/spec/dummy/public/uploads/repository/repository/121/textfile.txt +1 -0
  1451. data/spec/dummy/public/uploads/repository/repository/124/textfile.txt +1 -0
  1452. data/spec/dummy/public/uploads/repository/repository/125/textfile.txt +1 -0
  1453. data/spec/dummy/public/uploads/repository/repository/126/textfile.txt +1 -0
  1454. data/spec/dummy/public/uploads/repository/repository/127/textfile.txt +1 -0
  1455. data/spec/dummy/public/uploads/repository/repository/128/textfile.txt +1 -0
  1456. data/spec/dummy/public/uploads/repository/repository/129/textfile.txt +1 -0
  1457. data/spec/dummy/public/uploads/repository/repository/13/textfile.txt +1 -0
  1458. data/spec/dummy/public/uploads/repository/repository/130/textfile.txt +1 -0
  1459. data/spec/dummy/public/uploads/repository/repository/131/textfile.txt +1 -0
  1460. data/spec/dummy/public/uploads/repository/repository/132/textfile.txt +1 -0
  1461. data/spec/dummy/public/uploads/repository/repository/133/textfile.txt +1 -0
  1462. data/spec/dummy/public/uploads/repository/repository/134/textfile.txt +1 -0
  1463. data/spec/dummy/public/uploads/repository/repository/135/textfile.txt +1 -0
  1464. data/spec/dummy/public/uploads/repository/repository/136/textfile.txt +1 -0
  1465. data/spec/dummy/public/uploads/repository/repository/139/textfile.txt +1 -0
  1466. data/spec/dummy/public/uploads/repository/repository/14/textfile.txt +1 -0
  1467. data/spec/dummy/public/uploads/repository/repository/140/textfile.txt +1 -0
  1468. data/spec/dummy/public/uploads/repository/repository/141/textfile.txt +1 -0
  1469. data/spec/dummy/public/uploads/repository/repository/142/textfile.txt +1 -0
  1470. data/spec/dummy/public/uploads/repository/repository/143/textfile.txt +1 -0
  1471. data/spec/dummy/public/uploads/repository/repository/144/textfile.txt +1 -0
  1472. data/spec/dummy/public/uploads/repository/repository/145/textfile.txt +1 -0
  1473. data/spec/dummy/public/uploads/repository/repository/146/textfile.txt +1 -0
  1474. data/spec/dummy/public/uploads/repository/repository/147/textfile.txt +1 -0
  1475. data/spec/dummy/public/uploads/repository/repository/148/textfile.txt +1 -0
  1476. data/spec/dummy/public/uploads/repository/repository/149/textfile.txt +1 -0
  1477. data/spec/dummy/public/uploads/repository/repository/15/textfile.txt +1 -0
  1478. data/spec/dummy/public/uploads/repository/repository/150/textfile.txt +1 -0
  1479. data/spec/dummy/public/uploads/repository/repository/151/textfile.txt +1 -0
  1480. data/spec/dummy/public/uploads/repository/repository/154/textfile.txt +1 -0
  1481. data/spec/dummy/public/uploads/repository/repository/155/textfile.txt +1 -0
  1482. data/spec/dummy/public/uploads/repository/repository/156/textfile.txt +1 -0
  1483. data/spec/dummy/public/uploads/repository/repository/157/textfile.txt +1 -0
  1484. data/spec/dummy/public/uploads/repository/repository/158/textfile.txt +1 -0
  1485. data/spec/dummy/public/uploads/repository/repository/159/textfile.txt +1 -0
  1486. data/spec/dummy/public/uploads/repository/repository/16/textfile.txt +1 -0
  1487. data/spec/dummy/public/uploads/repository/repository/160/textfile.txt +1 -0
  1488. data/spec/dummy/public/uploads/repository/repository/161/textfile.txt +1 -0
  1489. data/spec/dummy/public/uploads/repository/repository/162/textfile.txt +1 -0
  1490. data/spec/dummy/public/uploads/repository/repository/163/textfile.txt +1 -0
  1491. data/spec/dummy/public/uploads/repository/repository/164/textfile.txt +1 -0
  1492. data/spec/dummy/public/uploads/repository/repository/165/textfile.txt +1 -0
  1493. data/spec/dummy/public/uploads/repository/repository/166/textfile.txt +1 -0
  1494. data/spec/dummy/public/uploads/repository/repository/169/textfile.txt +1 -0
  1495. data/spec/dummy/public/uploads/repository/repository/17/textfile.txt +1 -0
  1496. data/spec/dummy/public/uploads/repository/repository/170/textfile.txt +1 -0
  1497. data/spec/dummy/public/uploads/repository/repository/171/textfile.txt +1 -0
  1498. data/spec/dummy/public/uploads/repository/repository/172/textfile.txt +1 -0
  1499. data/spec/dummy/public/uploads/repository/repository/173/textfile.txt +1 -0
  1500. data/spec/dummy/public/uploads/repository/repository/174/textfile.txt +1 -0
  1501. data/spec/dummy/public/uploads/repository/repository/175/textfile.txt +1 -0
  1502. data/spec/dummy/public/uploads/repository/repository/176/textfile.txt +1 -0
  1503. data/spec/dummy/public/uploads/repository/repository/177/textfile.txt +1 -0
  1504. data/spec/dummy/public/uploads/repository/repository/178/textfile.txt +1 -0
  1505. data/spec/dummy/public/uploads/repository/repository/179/textfile.txt +1 -0
  1506. data/spec/dummy/public/uploads/repository/repository/18/textfile.txt +1 -0
  1507. data/spec/dummy/public/uploads/repository/repository/180/textfile.txt +1 -0
  1508. data/spec/dummy/public/uploads/repository/repository/181/textfile.txt +1 -0
  1509. data/spec/dummy/public/uploads/repository/repository/184/textfile.txt +1 -0
  1510. data/spec/dummy/public/uploads/repository/repository/185/textfile.txt +1 -0
  1511. data/spec/dummy/public/uploads/repository/repository/186/textfile.txt +1 -0
  1512. data/spec/dummy/public/uploads/repository/repository/187/textfile.txt +1 -0
  1513. data/spec/dummy/public/uploads/repository/repository/188/textfile.txt +1 -0
  1514. data/spec/dummy/public/uploads/repository/repository/189/textfile.txt +1 -0
  1515. data/spec/dummy/public/uploads/repository/repository/19/textfile.txt +1 -0
  1516. data/spec/dummy/public/uploads/repository/repository/190/textfile.txt +1 -0
  1517. data/spec/dummy/public/uploads/repository/repository/191/textfile.txt +1 -0
  1518. data/spec/dummy/public/uploads/repository/repository/192/textfile.txt +1 -0
  1519. data/spec/dummy/public/uploads/repository/repository/193/textfile.txt +1 -0
  1520. data/spec/dummy/public/uploads/repository/repository/194/textfile.txt +1 -0
  1521. data/spec/dummy/public/uploads/repository/repository/195/textfile.txt +1 -0
  1522. data/spec/dummy/public/uploads/repository/repository/196/textfile.txt +1 -0
  1523. data/spec/dummy/public/uploads/repository/repository/199/textfile.txt +1 -0
  1524. data/spec/dummy/public/uploads/repository/repository/2/textfile.txt +1 -0
  1525. data/spec/dummy/public/uploads/repository/repository/20/textfile.txt +1 -0
  1526. data/spec/dummy/public/uploads/repository/repository/200/textfile.txt +1 -0
  1527. data/spec/dummy/public/uploads/repository/repository/201/textfile.txt +1 -0
  1528. data/spec/dummy/public/uploads/repository/repository/202/textfile.txt +1 -0
  1529. data/spec/dummy/public/uploads/repository/repository/203/textfile.txt +1 -0
  1530. data/spec/dummy/public/uploads/repository/repository/204/textfile.txt +1 -0
  1531. data/spec/dummy/public/uploads/repository/repository/205/textfile.txt +1 -0
  1532. data/spec/dummy/public/uploads/repository/repository/206/textfile.txt +1 -0
  1533. data/spec/dummy/public/uploads/repository/repository/207/textfile.txt +1 -0
  1534. data/spec/dummy/public/uploads/repository/repository/208/textfile.txt +1 -0
  1535. data/spec/dummy/public/uploads/repository/repository/209/textfile.txt +1 -0
  1536. data/spec/dummy/public/uploads/repository/repository/21/textfile.txt +1 -0
  1537. data/spec/dummy/public/uploads/repository/repository/210/textfile.txt +1 -0
  1538. data/spec/dummy/public/uploads/repository/repository/211/textfile.txt +1 -0
  1539. data/spec/dummy/public/uploads/repository/repository/212/textfile.txt +1 -0
  1540. data/spec/dummy/public/uploads/repository/repository/213/textfile.txt +1 -0
  1541. data/spec/dummy/public/uploads/repository/repository/216/textfile.txt +1 -0
  1542. data/spec/dummy/public/uploads/repository/repository/217/textfile.txt +1 -0
  1543. data/spec/dummy/public/uploads/repository/repository/218/textfile.txt +1 -0
  1544. data/spec/dummy/public/uploads/repository/repository/219/textfile.txt +1 -0
  1545. data/spec/dummy/public/uploads/repository/repository/22/textfile.txt +1 -0
  1546. data/spec/dummy/public/uploads/repository/repository/220/textfile.txt +1 -0
  1547. data/spec/dummy/public/uploads/repository/repository/221/textfile.txt +1 -0
  1548. data/spec/dummy/public/uploads/repository/repository/222/textfile.txt +1 -0
  1549. data/spec/dummy/public/uploads/repository/repository/223/textfile.txt +1 -0
  1550. data/spec/dummy/public/uploads/repository/repository/224/textfile.txt +1 -0
  1551. data/spec/dummy/public/uploads/repository/repository/225/textfile.txt +1 -0
  1552. data/spec/dummy/public/uploads/repository/repository/226/textfile.txt +1 -0
  1553. data/spec/dummy/public/uploads/repository/repository/227/textfile.txt +1 -0
  1554. data/spec/dummy/public/uploads/repository/repository/228/textfile.txt +1 -0
  1555. data/spec/dummy/public/uploads/repository/repository/229/textfile.txt +1 -0
  1556. data/spec/dummy/public/uploads/repository/repository/23/textfile.txt +1 -0
  1557. data/spec/dummy/public/uploads/repository/repository/230/textfile.txt +1 -0
  1558. data/spec/dummy/public/uploads/repository/repository/233/textfile.txt +1 -0
  1559. data/spec/dummy/public/uploads/repository/repository/234/textfile.txt +1 -0
  1560. data/spec/dummy/public/uploads/repository/repository/235/textfile.txt +1 -0
  1561. data/spec/dummy/public/uploads/repository/repository/236/textfile.txt +1 -0
  1562. data/spec/dummy/public/uploads/repository/repository/237/textfile.txt +1 -0
  1563. data/spec/dummy/public/uploads/repository/repository/238/textfile.txt +1 -0
  1564. data/spec/dummy/public/uploads/repository/repository/239/textfile.txt +1 -0
  1565. data/spec/dummy/public/uploads/repository/repository/24/textfile.txt +1 -0
  1566. data/spec/dummy/public/uploads/repository/repository/240/textfile.txt +1 -0
  1567. data/spec/dummy/public/uploads/repository/repository/241/textfile.txt +1 -0
  1568. data/spec/dummy/public/uploads/repository/repository/242/textfile.txt +1 -0
  1569. data/spec/dummy/public/uploads/repository/repository/243/textfile.txt +1 -0
  1570. data/spec/dummy/public/uploads/repository/repository/244/textfile.txt +1 -0
  1571. data/spec/dummy/public/uploads/repository/repository/245/textfile.txt +1 -0
  1572. data/spec/dummy/public/uploads/repository/repository/246/textfile.txt +1 -0
  1573. data/spec/dummy/public/uploads/repository/repository/247/textfile.txt +1 -0
  1574. data/spec/dummy/public/uploads/repository/repository/248/textfile.txt +1 -0
  1575. data/spec/dummy/public/uploads/repository/repository/249/textfile.txt +1 -0
  1576. data/spec/dummy/public/uploads/repository/repository/25/textfile.txt +1 -0
  1577. data/spec/dummy/public/uploads/repository/repository/252/textfile.txt +1 -0
  1578. data/spec/dummy/public/uploads/repository/repository/253/textfile.txt +1 -0
  1579. data/spec/dummy/public/uploads/repository/repository/254/textfile.txt +1 -0
  1580. data/spec/dummy/public/uploads/repository/repository/255/textfile.txt +1 -0
  1581. data/spec/dummy/public/uploads/repository/repository/256/textfile.txt +1 -0
  1582. data/spec/dummy/public/uploads/repository/repository/257/textfile.txt +1 -0
  1583. data/spec/dummy/public/uploads/repository/repository/258/textfile.txt +1 -0
  1584. data/spec/dummy/public/uploads/repository/repository/259/textfile.txt +1 -0
  1585. data/spec/dummy/public/uploads/repository/repository/26/textfile.txt +1 -0
  1586. data/spec/dummy/public/uploads/repository/repository/260/textfile.txt +1 -0
  1587. data/spec/dummy/public/uploads/repository/repository/261/textfile.txt +1 -0
  1588. data/spec/dummy/public/uploads/repository/repository/262/textfile.txt +1 -0
  1589. data/spec/dummy/public/uploads/repository/repository/263/textfile.txt +1 -0
  1590. data/spec/dummy/public/uploads/repository/repository/264/textfile.txt +1 -0
  1591. data/spec/dummy/public/uploads/repository/repository/265/textfile.txt +1 -0
  1592. data/spec/dummy/public/uploads/repository/repository/266/textfile.txt +1 -0
  1593. data/spec/dummy/public/uploads/repository/repository/269/textfile.txt +1 -0
  1594. data/spec/dummy/public/uploads/repository/repository/27/textfile.txt +1 -0
  1595. data/spec/dummy/public/uploads/repository/repository/270/textfile.txt +1 -0
  1596. data/spec/dummy/public/uploads/repository/repository/271/textfile.txt +1 -0
  1597. data/spec/dummy/public/uploads/repository/repository/272/textfile.txt +1 -0
  1598. data/spec/dummy/public/uploads/repository/repository/273/textfile.txt +1 -0
  1599. data/spec/dummy/public/uploads/repository/repository/274/textfile.txt +1 -0
  1600. data/spec/dummy/public/uploads/repository/repository/275/textfile.txt +1 -0
  1601. data/spec/dummy/public/uploads/repository/repository/276/textfile.txt +1 -0
  1602. data/spec/dummy/public/uploads/repository/repository/277/textfile.txt +1 -0
  1603. data/spec/dummy/public/uploads/repository/repository/278/textfile.txt +1 -0
  1604. data/spec/dummy/public/uploads/repository/repository/279/textfile.txt +1 -0
  1605. data/spec/dummy/public/uploads/repository/repository/28/textfile.txt +1 -0
  1606. data/spec/dummy/public/uploads/repository/repository/280/textfile.txt +1 -0
  1607. data/spec/dummy/public/uploads/repository/repository/281/textfile.txt +1 -0
  1608. data/spec/dummy/public/uploads/repository/repository/282/textfile.txt +1 -0
  1609. data/spec/dummy/public/uploads/repository/repository/283/textfile.txt +1 -0
  1610. data/spec/dummy/public/uploads/repository/repository/284/textfile.txt +1 -0
  1611. data/spec/dummy/public/uploads/repository/repository/285/textfile.txt +1 -0
  1612. data/spec/dummy/public/uploads/repository/repository/288/textfile.txt +1 -0
  1613. data/spec/dummy/public/uploads/repository/repository/289/textfile.txt +1 -0
  1614. data/spec/dummy/public/uploads/repository/repository/29/textfile.txt +1 -0
  1615. data/spec/dummy/public/uploads/repository/repository/290/textfile.txt +1 -0
  1616. data/spec/dummy/public/uploads/repository/repository/291/textfile.txt +1 -0
  1617. data/spec/dummy/public/uploads/repository/repository/292/textfile.txt +1 -0
  1618. data/spec/dummy/public/uploads/repository/repository/293/textfile.txt +1 -0
  1619. data/spec/dummy/public/uploads/repository/repository/294/textfile.txt +1 -0
  1620. data/spec/dummy/public/uploads/repository/repository/295/textfile.txt +1 -0
  1621. data/spec/dummy/public/uploads/repository/repository/296/textfile.txt +1 -0
  1622. data/spec/dummy/public/uploads/repository/repository/297/textfile.txt +1 -0
  1623. data/spec/dummy/public/uploads/repository/repository/298/textfile.txt +1 -0
  1624. data/spec/dummy/public/uploads/repository/repository/299/textfile.txt +1 -0
  1625. data/spec/dummy/public/uploads/repository/repository/3/textfile.txt +1 -0
  1626. data/spec/dummy/public/uploads/repository/repository/30/textfile.txt +1 -0
  1627. data/spec/dummy/public/uploads/repository/repository/300/textfile.txt +1 -0
  1628. data/spec/dummy/public/uploads/repository/repository/301/textfile.txt +1 -0
  1629. data/spec/dummy/public/uploads/repository/repository/302/textfile.txt +1 -0
  1630. data/spec/dummy/public/uploads/repository/repository/303/textfile.txt +1 -0
  1631. data/spec/dummy/public/uploads/repository/repository/304/textfile.txt +1 -0
  1632. data/spec/dummy/public/uploads/repository/repository/307/textfile.txt +1 -0
  1633. data/spec/dummy/public/uploads/repository/repository/308/textfile.txt +1 -0
  1634. data/spec/dummy/public/uploads/repository/repository/309/textfile.txt +1 -0
  1635. data/spec/dummy/public/uploads/repository/repository/31/textfile.txt +1 -0
  1636. data/spec/dummy/public/uploads/repository/repository/310/textfile.txt +1 -0
  1637. data/spec/dummy/public/uploads/repository/repository/311/textfile.txt +1 -0
  1638. data/spec/dummy/public/uploads/repository/repository/312/textfile.txt +1 -0
  1639. data/spec/dummy/public/uploads/repository/repository/313/textfile.txt +1 -0
  1640. data/spec/dummy/public/uploads/repository/repository/314/textfile.txt +1 -0
  1641. data/spec/dummy/public/uploads/repository/repository/315/textfile.txt +1 -0
  1642. data/spec/dummy/public/uploads/repository/repository/316/textfile.txt +1 -0
  1643. data/spec/dummy/public/uploads/repository/repository/317/textfile.txt +1 -0
  1644. data/spec/dummy/public/uploads/repository/repository/318/textfile.txt +1 -0
  1645. data/spec/dummy/public/uploads/repository/repository/319/textfile.txt +1 -0
  1646. data/spec/dummy/public/uploads/repository/repository/32/textfile.txt +1 -0
  1647. data/spec/dummy/public/uploads/repository/repository/320/textfile.txt +1 -0
  1648. data/spec/dummy/public/uploads/repository/repository/321/textfile.txt +1 -0
  1649. data/spec/dummy/public/uploads/repository/repository/322/textfile.txt +1 -0
  1650. data/spec/dummy/public/uploads/repository/repository/323/textfile.txt +1 -0
  1651. data/spec/dummy/public/uploads/repository/repository/326/textfile.txt +1 -0
  1652. data/spec/dummy/public/uploads/repository/repository/327/textfile.txt +1 -0
  1653. data/spec/dummy/public/uploads/repository/repository/328/textfile.txt +1 -0
  1654. data/spec/dummy/public/uploads/repository/repository/329/textfile.txt +1 -0
  1655. data/spec/dummy/public/uploads/repository/repository/33/textfile.txt +1 -0
  1656. data/spec/dummy/public/uploads/repository/repository/330/textfile.txt +1 -0
  1657. data/spec/dummy/public/uploads/repository/repository/331/textfile.txt +1 -0
  1658. data/spec/dummy/public/uploads/repository/repository/332/textfile.txt +1 -0
  1659. data/spec/dummy/public/uploads/repository/repository/333/textfile.txt +1 -0
  1660. data/spec/dummy/public/uploads/repository/repository/334/textfile.txt +1 -0
  1661. data/spec/dummy/public/uploads/repository/repository/335/textfile.txt +1 -0
  1662. data/spec/dummy/public/uploads/repository/repository/336/textfile.txt +1 -0
  1663. data/spec/dummy/public/uploads/repository/repository/337/textfile.txt +1 -0
  1664. data/spec/dummy/public/uploads/repository/repository/338/textfile.txt +1 -0
  1665. data/spec/dummy/public/uploads/repository/repository/339/textfile.txt +1 -0
  1666. data/spec/dummy/public/uploads/repository/repository/34/textfile.txt +1 -0
  1667. data/spec/dummy/public/uploads/repository/repository/340/textfile.txt +1 -0
  1668. data/spec/dummy/public/uploads/repository/repository/341/textfile.txt +1 -0
  1669. data/spec/dummy/public/uploads/repository/repository/342/textfile.txt +1 -0
  1670. data/spec/dummy/public/uploads/repository/repository/345/textfile.txt +1 -0
  1671. data/spec/dummy/public/uploads/repository/repository/346/textfile.txt +1 -0
  1672. data/spec/dummy/public/uploads/repository/repository/347/textfile.txt +1 -0
  1673. data/spec/dummy/public/uploads/repository/repository/348/textfile.txt +1 -0
  1674. data/spec/dummy/public/uploads/repository/repository/349/textfile.txt +1 -0
  1675. data/spec/dummy/public/uploads/repository/repository/35/textfile.txt +1 -0
  1676. data/spec/dummy/public/uploads/repository/repository/350/textfile.txt +1 -0
  1677. data/spec/dummy/public/uploads/repository/repository/351/textfile.txt +1 -0
  1678. data/spec/dummy/public/uploads/repository/repository/352/textfile.txt +1 -0
  1679. data/spec/dummy/public/uploads/repository/repository/353/textfile.txt +1 -0
  1680. data/spec/dummy/public/uploads/repository/repository/354/textfile.txt +1 -0
  1681. data/spec/dummy/public/uploads/repository/repository/355/textfile.txt +1 -0
  1682. data/spec/dummy/public/uploads/repository/repository/356/textfile.txt +1 -0
  1683. data/spec/dummy/public/uploads/repository/repository/357/textfile.txt +1 -0
  1684. data/spec/dummy/public/uploads/repository/repository/358/textfile.txt +1 -0
  1685. data/spec/dummy/public/uploads/repository/repository/359/textfile.txt +1 -0
  1686. data/spec/dummy/public/uploads/repository/repository/36/textfile.txt +1 -0
  1687. data/spec/dummy/public/uploads/repository/repository/360/textfile.txt +1 -0
  1688. data/spec/dummy/public/uploads/repository/repository/361/textfile.txt +1 -0
  1689. data/spec/dummy/public/uploads/repository/repository/364/textfile.txt +1 -0
  1690. data/spec/dummy/public/uploads/repository/repository/365/textfile.txt +1 -0
  1691. data/spec/dummy/public/uploads/repository/repository/366/textfile.txt +1 -0
  1692. data/spec/dummy/public/uploads/repository/repository/367/textfile.txt +1 -0
  1693. data/spec/dummy/public/uploads/repository/repository/368/textfile.txt +1 -0
  1694. data/spec/dummy/public/uploads/repository/repository/369/textfile.txt +1 -0
  1695. data/spec/dummy/public/uploads/repository/repository/37/textfile.txt +1 -0
  1696. data/spec/dummy/public/uploads/repository/repository/370/textfile.txt +1 -0
  1697. data/spec/dummy/public/uploads/repository/repository/371/textfile.txt +1 -0
  1698. data/spec/dummy/public/uploads/repository/repository/372/textfile.txt +1 -0
  1699. data/spec/dummy/public/uploads/repository/repository/373/textfile.txt +1 -0
  1700. data/spec/dummy/public/uploads/repository/repository/374/textfile.txt +1 -0
  1701. data/spec/dummy/public/uploads/repository/repository/375/textfile.txt +1 -0
  1702. data/spec/dummy/public/uploads/repository/repository/376/textfile.txt +1 -0
  1703. data/spec/dummy/public/uploads/repository/repository/377/textfile.txt +1 -0
  1704. data/spec/dummy/public/uploads/repository/repository/378/textfile.txt +1 -0
  1705. data/spec/dummy/public/uploads/repository/repository/379/textfile.txt +1 -0
  1706. data/spec/dummy/public/uploads/repository/repository/38/textfile.txt +1 -0
  1707. data/spec/dummy/public/uploads/repository/repository/380/textfile.txt +1 -0
  1708. data/spec/dummy/public/uploads/repository/repository/383/textfile.txt +1 -0
  1709. data/spec/dummy/public/uploads/repository/repository/384/textfile.txt +1 -0
  1710. data/spec/dummy/public/uploads/repository/repository/385/textfile.txt +1 -0
  1711. data/spec/dummy/public/uploads/repository/repository/386/textfile.txt +1 -0
  1712. data/spec/dummy/public/uploads/repository/repository/387/textfile.txt +1 -0
  1713. data/spec/dummy/public/uploads/repository/repository/388/textfile.txt +1 -0
  1714. data/spec/dummy/public/uploads/repository/repository/389/textfile.txt +1 -0
  1715. data/spec/dummy/public/uploads/repository/repository/39/textfile.txt +1 -0
  1716. data/spec/dummy/public/uploads/repository/repository/390/textfile.txt +1 -0
  1717. data/spec/dummy/public/uploads/repository/repository/391/textfile.txt +1 -0
  1718. data/spec/dummy/public/uploads/repository/repository/392/textfile.txt +1 -0
  1719. data/spec/dummy/public/uploads/repository/repository/393/textfile.txt +1 -0
  1720. data/spec/dummy/public/uploads/repository/repository/394/textfile.txt +1 -0
  1721. data/spec/dummy/public/uploads/repository/repository/395/textfile.txt +1 -0
  1722. data/spec/dummy/public/uploads/repository/repository/396/textfile.txt +1 -0
  1723. data/spec/dummy/public/uploads/repository/repository/397/textfile.txt +1 -0
  1724. data/spec/dummy/public/uploads/repository/repository/398/textfile.txt +1 -0
  1725. data/spec/dummy/public/uploads/repository/repository/399/textfile.txt +1 -0
  1726. data/spec/dummy/public/uploads/repository/repository/4/textfile.txt +1 -0
  1727. data/spec/dummy/public/uploads/repository/repository/40/textfile.txt +1 -0
  1728. data/spec/dummy/public/uploads/repository/repository/402/textfile.txt +1 -0
  1729. data/spec/dummy/public/uploads/repository/repository/403/textfile.txt +1 -0
  1730. data/spec/dummy/public/uploads/repository/repository/404/textfile.txt +1 -0
  1731. data/spec/dummy/public/uploads/repository/repository/405/textfile.txt +1 -0
  1732. data/spec/dummy/public/uploads/repository/repository/406/textfile.txt +1 -0
  1733. data/spec/dummy/public/uploads/repository/repository/407/textfile.txt +1 -0
  1734. data/spec/dummy/public/uploads/repository/repository/408/textfile.txt +1 -0
  1735. data/spec/dummy/public/uploads/repository/repository/409/textfile.txt +1 -0
  1736. data/spec/dummy/public/uploads/repository/repository/41/textfile.txt +1 -0
  1737. data/spec/dummy/public/uploads/repository/repository/410/textfile.txt +1 -0
  1738. data/spec/dummy/public/uploads/repository/repository/411/textfile.txt +1 -0
  1739. data/spec/dummy/public/uploads/repository/repository/412/textfile.txt +1 -0
  1740. data/spec/dummy/public/uploads/repository/repository/413/textfile.txt +1 -0
  1741. data/spec/dummy/public/uploads/repository/repository/414/textfile.txt +1 -0
  1742. data/spec/dummy/public/uploads/repository/repository/415/textfile.txt +1 -0
  1743. data/spec/dummy/public/uploads/repository/repository/416/textfile.txt +1 -0
  1744. data/spec/dummy/public/uploads/repository/repository/417/textfile.txt +1 -0
  1745. data/spec/dummy/public/uploads/repository/repository/418/textfile.txt +1 -0
  1746. data/spec/dummy/public/uploads/repository/repository/42/textfile.txt +1 -0
  1747. data/spec/dummy/public/uploads/repository/repository/421/textfile.txt +1 -0
  1748. data/spec/dummy/public/uploads/repository/repository/422/textfile.txt +1 -0
  1749. data/spec/dummy/public/uploads/repository/repository/423/textfile.txt +1 -0
  1750. data/spec/dummy/public/uploads/repository/repository/424/textfile.txt +1 -0
  1751. data/spec/dummy/public/uploads/repository/repository/425/textfile.txt +1 -0
  1752. data/spec/dummy/public/uploads/repository/repository/426/textfile.txt +1 -0
  1753. data/spec/dummy/public/uploads/repository/repository/427/textfile.txt +1 -0
  1754. data/spec/dummy/public/uploads/repository/repository/428/textfile.txt +1 -0
  1755. data/spec/dummy/public/uploads/repository/repository/429/textfile.txt +1 -0
  1756. data/spec/dummy/public/uploads/repository/repository/43/textfile.txt +1 -0
  1757. data/spec/dummy/public/uploads/repository/repository/430/textfile.txt +1 -0
  1758. data/spec/dummy/public/uploads/repository/repository/431/textfile.txt +1 -0
  1759. data/spec/dummy/public/uploads/repository/repository/432/textfile.txt +1 -0
  1760. data/spec/dummy/public/uploads/repository/repository/433/textfile.txt +1 -0
  1761. data/spec/dummy/public/uploads/repository/repository/434/textfile.txt +1 -0
  1762. data/spec/dummy/public/uploads/repository/repository/435/textfile.txt +1 -0
  1763. data/spec/dummy/public/uploads/repository/repository/436/textfile.txt +1 -0
  1764. data/spec/dummy/public/uploads/repository/repository/437/textfile.txt +1 -0
  1765. data/spec/dummy/public/uploads/repository/repository/44/textfile.txt +1 -0
  1766. data/spec/dummy/public/uploads/repository/repository/440/textfile.txt +1 -0
  1767. data/spec/dummy/public/uploads/repository/repository/441/textfile.txt +1 -0
  1768. data/spec/dummy/public/uploads/repository/repository/442/textfile.txt +1 -0
  1769. data/spec/dummy/public/uploads/repository/repository/443/textfile.txt +1 -0
  1770. data/spec/dummy/public/uploads/repository/repository/444/textfile.txt +1 -0
  1771. data/spec/dummy/public/uploads/repository/repository/445/textfile.txt +1 -0
  1772. data/spec/dummy/public/uploads/repository/repository/446/textfile.txt +1 -0
  1773. data/spec/dummy/public/uploads/repository/repository/447/textfile.txt +1 -0
  1774. data/spec/dummy/public/uploads/repository/repository/448/textfile.txt +1 -0
  1775. data/spec/dummy/public/uploads/repository/repository/449/textfile.txt +1 -0
  1776. data/spec/dummy/public/uploads/repository/repository/45/textfile.txt +1 -0
  1777. data/spec/dummy/public/uploads/repository/repository/450/textfile.txt +1 -0
  1778. data/spec/dummy/public/uploads/repository/repository/451/textfile.txt +1 -0
  1779. data/spec/dummy/public/uploads/repository/repository/452/textfile.txt +1 -0
  1780. data/spec/dummy/public/uploads/repository/repository/453/textfile.txt +1 -0
  1781. data/spec/dummy/public/uploads/repository/repository/454/textfile.txt +1 -0
  1782. data/spec/dummy/public/uploads/repository/repository/455/textfile.txt +1 -0
  1783. data/spec/dummy/public/uploads/repository/repository/456/textfile.txt +1 -0
  1784. data/spec/dummy/public/uploads/repository/repository/459/textfile.txt +1 -0
  1785. data/spec/dummy/public/uploads/repository/repository/46/textfile.txt +1 -0
  1786. data/spec/dummy/public/uploads/repository/repository/460/textfile.txt +1 -0
  1787. data/spec/dummy/public/uploads/repository/repository/461/textfile.txt +1 -0
  1788. data/spec/dummy/public/uploads/repository/repository/462/textfile.txt +1 -0
  1789. data/spec/dummy/public/uploads/repository/repository/463/textfile.txt +1 -0
  1790. data/spec/dummy/public/uploads/repository/repository/464/textfile.txt +1 -0
  1791. data/spec/dummy/public/uploads/repository/repository/465/textfile.txt +1 -0
  1792. data/spec/dummy/public/uploads/repository/repository/466/textfile.txt +1 -0
  1793. data/spec/dummy/public/uploads/repository/repository/467/textfile.txt +1 -0
  1794. data/spec/dummy/public/uploads/repository/repository/468/textfile.txt +1 -0
  1795. data/spec/dummy/public/uploads/repository/repository/469/textfile.txt +1 -0
  1796. data/spec/dummy/public/uploads/repository/repository/47/textfile.txt +1 -0
  1797. data/spec/dummy/public/uploads/repository/repository/470/textfile.txt +1 -0
  1798. data/spec/dummy/public/uploads/repository/repository/471/textfile.txt +1 -0
  1799. data/spec/dummy/public/uploads/repository/repository/472/textfile.txt +1 -0
  1800. data/spec/dummy/public/uploads/repository/repository/473/textfile.txt +1 -0
  1801. data/spec/dummy/public/uploads/repository/repository/474/textfile.txt +1 -0
  1802. data/spec/dummy/public/uploads/repository/repository/475/textfile.txt +1 -0
  1803. data/spec/dummy/public/uploads/repository/repository/478/textfile.txt +1 -0
  1804. data/spec/dummy/public/uploads/repository/repository/479/textfile.txt +1 -0
  1805. data/spec/dummy/public/uploads/repository/repository/48/textfile.txt +1 -0
  1806. data/spec/dummy/public/uploads/repository/repository/480/textfile.txt +1 -0
  1807. data/spec/dummy/public/uploads/repository/repository/481/textfile.txt +1 -0
  1808. data/spec/dummy/public/uploads/repository/repository/482/textfile.txt +1 -0
  1809. data/spec/dummy/public/uploads/repository/repository/483/textfile.txt +1 -0
  1810. data/spec/dummy/public/uploads/repository/repository/484/textfile.txt +1 -0
  1811. data/spec/dummy/public/uploads/repository/repository/485/textfile.txt +1 -0
  1812. data/spec/dummy/public/uploads/repository/repository/486/textfile.txt +1 -0
  1813. data/spec/dummy/public/uploads/repository/repository/487/textfile.txt +1 -0
  1814. data/spec/dummy/public/uploads/repository/repository/488/textfile.txt +1 -0
  1815. data/spec/dummy/public/uploads/repository/repository/489/textfile.txt +1 -0
  1816. data/spec/dummy/public/uploads/repository/repository/49/textfile.txt +1 -0
  1817. data/spec/dummy/public/uploads/repository/repository/490/textfile.txt +1 -0
  1818. data/spec/dummy/public/uploads/repository/repository/491/textfile.txt +1 -0
  1819. data/spec/dummy/public/uploads/repository/repository/492/textfile.txt +1 -0
  1820. data/spec/dummy/public/uploads/repository/repository/493/textfile.txt +1 -0
  1821. data/spec/dummy/public/uploads/repository/repository/494/textfile.txt +1 -0
  1822. data/spec/dummy/public/uploads/repository/repository/495/textfile.txt +1 -0
  1823. data/spec/dummy/public/uploads/repository/repository/496/textfile.txt +1 -0
  1824. data/spec/dummy/public/uploads/repository/repository/5/textfile.txt +1 -0
  1825. data/spec/dummy/public/uploads/repository/repository/50/textfile.txt +1 -0
  1826. data/spec/dummy/public/uploads/repository/repository/51/textfile.txt +1 -0
  1827. data/spec/dummy/public/uploads/repository/repository/52/textfile.txt +1 -0
  1828. data/spec/dummy/public/uploads/repository/repository/53/textfile.txt +1 -0
  1829. data/spec/dummy/public/uploads/repository/repository/54/textfile.txt +1 -0
  1830. data/spec/dummy/public/uploads/repository/repository/55/textfile.txt +1 -0
  1831. data/spec/dummy/public/uploads/repository/repository/56/textfile.txt +1 -0
  1832. data/spec/dummy/public/uploads/repository/repository/57/textfile.txt +1 -0
  1833. data/spec/dummy/public/uploads/repository/repository/58/textfile.txt +1 -0
  1834. data/spec/dummy/public/uploads/repository/repository/59/textfile.txt +1 -0
  1835. data/spec/dummy/public/uploads/repository/repository/6/textfile.txt +1 -0
  1836. data/spec/dummy/public/uploads/repository/repository/60/textfile.txt +1 -0
  1837. data/spec/dummy/public/uploads/repository/repository/61/textfile.txt +1 -0
  1838. data/spec/dummy/public/uploads/repository/repository/62/textfile.txt +1 -0
  1839. data/spec/dummy/public/uploads/repository/repository/63/textfile.txt +1 -0
  1840. data/spec/dummy/public/uploads/repository/repository/65/textfile.txt +1 -0
  1841. data/spec/dummy/public/uploads/repository/repository/66/textfile.txt +1 -0
  1842. data/spec/dummy/public/uploads/repository/repository/67/textfile.txt +1 -0
  1843. data/spec/dummy/public/uploads/repository/repository/68/textfile.txt +1 -0
  1844. data/spec/dummy/public/uploads/repository/repository/69/textfile.txt +1 -0
  1845. data/spec/dummy/public/uploads/repository/repository/7/textfile.txt +1 -0
  1846. data/spec/dummy/public/uploads/repository/repository/70/textfile.txt +1 -0
  1847. data/spec/dummy/public/uploads/repository/repository/71/textfile.txt +1 -0
  1848. data/spec/dummy/public/uploads/repository/repository/72/textfile.txt +1 -0
  1849. data/spec/dummy/public/uploads/repository/repository/73/textfile.txt +1 -0
  1850. data/spec/dummy/public/uploads/repository/repository/74/textfile.txt +1 -0
  1851. data/spec/dummy/public/uploads/repository/repository/75/textfile.txt +1 -0
  1852. data/spec/dummy/public/uploads/repository/repository/76/textfile.txt +1 -0
  1853. data/spec/dummy/public/uploads/repository/repository/78/textfile.txt +1 -0
  1854. data/spec/dummy/public/uploads/repository/repository/79/textfile.txt +1 -0
  1855. data/spec/dummy/public/uploads/repository/repository/8/textfile.txt +1 -0
  1856. data/spec/dummy/public/uploads/repository/repository/80/textfile.txt +1 -0
  1857. data/spec/dummy/public/uploads/repository/repository/81/textfile.txt +1 -0
  1858. data/spec/dummy/public/uploads/repository/repository/82/textfile.txt +1 -0
  1859. data/spec/dummy/public/uploads/repository/repository/83/textfile.txt +1 -0
  1860. data/spec/dummy/public/uploads/repository/repository/84/textfile.txt +1 -0
  1861. data/spec/dummy/public/uploads/repository/repository/85/textfile.txt +1 -0
  1862. data/spec/dummy/public/uploads/repository/repository/86/textfile.txt +1 -0
  1863. data/spec/dummy/public/uploads/repository/repository/87/textfile.txt +1 -0
  1864. data/spec/dummy/public/uploads/repository/repository/88/textfile.txt +1 -0
  1865. data/spec/dummy/public/uploads/repository/repository/89/textfile.txt +1 -0
  1866. data/spec/dummy/public/uploads/repository/repository/9/textfile.txt +1 -0
  1867. data/spec/dummy/public/uploads/repository/repository/90/textfile.txt +1 -0
  1868. data/spec/dummy/public/uploads/repository/repository/91/textfile.txt +1 -0
  1869. data/spec/dummy/public/uploads/repository/repository/92/textfile.txt +1 -0
  1870. data/spec/dummy/public/uploads/repository/repository/93/textfile.txt +1 -0
  1871. data/spec/dummy/public/uploads/repository/repository/94/textfile.txt +1 -0
  1872. data/spec/dummy/public/uploads/repository/repository/95/textfile.txt +1 -0
  1873. data/spec/dummy/public/uploads/repository/repository/96/textfile.txt +1 -0
  1874. data/spec/dummy/public/uploads/repository/repository/97/textfile.txt +1 -0
  1875. data/spec/dummy/public/uploads/repository/repository/98/textfile.txt +1 -0
  1876. data/spec/dummy/public/uploads/repository/repository/99/textfile.txt +1 -0
  1877. data/spec/dummy/public/uploads/tmp/1383405843-5500-9022/textfile.txt +1 -0
  1878. data/spec/dummy/public/uploads/tmp/1383405844-5500-3495/textfile.txt +1 -0
  1879. data/spec/dummy/public/uploads/tmp/1383405845-5500-0033/textfile.txt +1 -0
  1880. data/spec/dummy/public/uploads/tmp/1383405845-5500-4098/textfile.txt +1 -0
  1881. data/spec/dummy/public/uploads/tmp/1383405846-5500-1323/textfile.txt +1 -0
  1882. data/spec/dummy/public/uploads/tmp/1383405847-5500-6051/textfile.txt +1 -0
  1883. data/spec/dummy/public/uploads/tmp/1383405847-5500-8351/textfile.txt +1 -0
  1884. data/spec/dummy/public/uploads/tmp/1383405848-5500-5660/textfile.txt +1 -0
  1885. data/spec/dummy/public/uploads/tmp/1383405849-5500-0812/textfile.txt +1 -0
  1886. data/spec/dummy/public/uploads/tmp/1383405850-5500-7161/textfile.txt +1 -0
  1887. data/spec/dummy/public/uploads/tmp/1383405851-5500-6195/textfile.txt +1 -0
  1888. data/spec/dummy/public/uploads/tmp/1383405851-5500-9475/textfile.txt +1 -0
  1889. data/spec/dummy/public/uploads/tmp/1383405853-5500-3679/textfile.txt +1 -0
  1890. data/spec/dummy/public/uploads/tmp/1383405926-3876-6996/textfile.txt +1 -0
  1891. data/spec/dummy/public/uploads/tmp/1383405927-3876-9366/textfile.txt +1 -0
  1892. data/spec/dummy/public/uploads/tmp/1383405928-3876-8707/textfile.txt +1 -0
  1893. data/spec/dummy/public/uploads/tmp/1383405929-3876-4106/textfile.txt +1 -0
  1894. data/spec/dummy/public/uploads/tmp/1383405930-3876-8752/textfile.txt +1 -0
  1895. data/spec/dummy/public/uploads/tmp/1383405930-3876-9040/textfile.txt +1 -0
  1896. data/spec/dummy/public/uploads/tmp/1383405931-3876-4064/textfile.txt +1 -0
  1897. data/spec/dummy/public/uploads/tmp/1383405932-3876-6563/textfile.txt +1 -0
  1898. data/spec/dummy/public/uploads/tmp/1383405933-3876-6982/textfile.txt +1 -0
  1899. data/spec/dummy/public/uploads/tmp/1383405933-3876-8548/textfile.txt +1 -0
  1900. data/spec/dummy/public/uploads/tmp/1383405934-3876-3724/textfile.txt +1 -0
  1901. data/spec/dummy/public/uploads/tmp/1383405935-3876-5446/textfile.txt +1 -0
  1902. data/spec/dummy/public/uploads/tmp/1383405937-3876-5568/textfile.txt +1 -0
  1903. data/spec/dummy/public/uploads/tmp/1383407145-2076-0949/textfile.txt +1 -0
  1904. data/spec/dummy/public/uploads/tmp/1383407145-2076-5016/textfile.txt +1 -0
  1905. data/spec/dummy/public/uploads/tmp/1383407146-2076-4635/textfile.txt +1 -0
  1906. data/spec/dummy/public/uploads/tmp/1383407147-2076-0178/textfile.txt +1 -0
  1907. data/spec/dummy/public/uploads/tmp/1383407147-2076-6877/textfile.txt +1 -0
  1908. data/spec/dummy/public/uploads/tmp/1383407148-2076-1296/textfile.txt +1 -0
  1909. data/spec/dummy/public/uploads/tmp/1383407149-2076-6465/textfile.txt +1 -0
  1910. data/spec/dummy/public/uploads/tmp/1383407149-2076-9532/textfile.txt +1 -0
  1911. data/spec/dummy/public/uploads/tmp/1383407150-2076-6892/textfile.txt +1 -0
  1912. data/spec/dummy/public/uploads/tmp/1383407151-2076-0992/textfile.txt +1 -0
  1913. data/spec/dummy/public/uploads/tmp/1383407152-2076-1395/textfile.txt +1 -0
  1914. data/spec/dummy/public/uploads/tmp/1383407153-2076-3580/textfile.txt +1 -0
  1915. data/spec/dummy/public/uploads/tmp/1383407154-2076-1674/textfile.txt +1 -0
  1916. data/spec/dummy/public/uploads/tmp/1383407230-2884-5185/textfile.txt +1 -0
  1917. data/spec/dummy/public/uploads/tmp/1383407231-2884-6812/textfile.txt +1 -0
  1918. data/spec/dummy/public/uploads/tmp/1383407232-2884-8774/textfile.txt +1 -0
  1919. data/spec/dummy/public/uploads/tmp/1383407233-2884-0405/textfile.txt +1 -0
  1920. data/spec/dummy/public/uploads/tmp/1383407234-2884-3411/textfile.txt +1 -0
  1921. data/spec/dummy/public/uploads/tmp/1383407234-2884-7923/textfile.txt +1 -0
  1922. data/spec/dummy/public/uploads/tmp/1383407235-2884-2538/textfile.txt +1 -0
  1923. data/spec/dummy/public/uploads/tmp/1383407236-2884-3295/textfile.txt +1 -0
  1924. data/spec/dummy/public/uploads/tmp/1383407237-2884-2834/textfile.txt +1 -0
  1925. data/spec/dummy/public/uploads/tmp/1383407238-2884-4437/textfile.txt +1 -0
  1926. data/spec/dummy/public/uploads/tmp/1383407239-2884-1607/textfile.txt +1 -0
  1927. data/spec/dummy/public/uploads/tmp/1383407239-2884-4513/textfile.txt +1 -0
  1928. data/spec/dummy/public/uploads/tmp/1383407242-2884-7948/textfile.txt +1 -0
  1929. data/spec/dummy/public/uploads/tmp/1383859817-3716-5822/textfile.txt +1 -0
  1930. data/spec/dummy/public/uploads/tmp/1383908102-5876-9930/textfile.txt +1 -0
  1931. data/spec/dummy/public/uploads/tmp/1383914474-5828-7842/textfile.txt +1 -0
  1932. data/spec/dummy/public/uploads/tmp/1383914639-4544-8731/textfile.txt +1 -0
  1933. data/spec/dummy/public/uploads/tmp/1383914737-3136-7801/textfile.txt +1 -0
  1934. data/spec/dummy/public/uploads/tmp/1383949612-6456-9085/textfile.txt +1 -0
  1935. data/spec/dummy/test/fixtures/groups.yml +9 -0
  1936. data/spec/dummy/test/fixtures/users.yml +11 -0
  1937. data/spec/dummy/test/models/groups_test.rb +7 -0
  1938. data/spec/dummy/test/models/users_test.rb +7 -0
  1939. data/spec/factories.rb +45 -0
  1940. data/spec/factories/app_file.rb +12 -0
  1941. data/spec/factories/folder.rb +7 -0
  1942. data/spec/factories/group.rb +7 -0
  1943. data/spec/factories/user.rb +13 -0
  1944. data/spec/fixture/textfile.txt +1 -0
  1945. data/spec/has_repository_spec.rb +234 -0
  1946. data/spec/models/associations_spec.rb +89 -0
  1947. data/spec/models/repository_spec.rb +84 -0
  1948. data/spec/models/share_spec.rb +68 -0
  1949. data/spec/repository_manager_spec.rb +8 -0
  1950. data/spec/spec_helper.rb +26 -0
  1951. metadata +4050 -0
@@ -0,0 +1,20 @@
1
+ Copyright 2013 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,29 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'RepositoryManager'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ Bundler::GemHelper.install_tasks
18
+ #
19
+ #require 'rake/testtask'
20
+ #
21
+ #Rake::TestTask.new(:test) do |t|
22
+ # t.libs << 'lib'
23
+ # t.libs << 'test'
24
+ # t.pattern = 'test/**/*_test.rb'
25
+ # t.verbose = false
26
+ #end
27
+
28
+
29
+ #task default: :test
@@ -0,0 +1,16 @@
1
+ class AppFile < Repository
2
+
3
+ mount_uploader :name, RepositoryUploader
4
+
5
+ before_save :update_asset_attributes
6
+
7
+ private
8
+
9
+ def update_asset_attributes
10
+ if name.present? && name_changed?
11
+ self.content_type = name.file.content_type
12
+ self.file_size = name.file.size
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,7 @@
1
+ class Folder < Repository
2
+
3
+ #Add a repository in the folder.
4
+ def addRepository(repository)
5
+ repository.update_attribute :parent, self
6
+ end
7
+ end
@@ -0,0 +1,33 @@
1
+ class Repository < ActiveRecord::Base
2
+ has_ancestry
3
+
4
+ # Associate with the User Classe
5
+ belongs_to :owner, :polymorphic => true
6
+ has_many :shares, dependent: :destroy
7
+ #has_many :items, through: :shares
8
+
9
+ scope :files, -> { where type: 'AppFile' }
10
+ scope :folders, -> { where type: 'Folder' }
11
+
12
+ def copy(target_folder)
13
+ #new_file = self.dup
14
+ #new_file.folder = target_folder
15
+ #new_file.save!
16
+ #
17
+ #path = "#{Rails.root}/uploads/#{Rails.env}/#{new_file.id}/original"
18
+ #FileUtils.mkdir_p path
19
+ #FileUtils.cp_r self.attachment.path, "#{path}/#{new_file.id}"
20
+ #
21
+ #new_file
22
+ end
23
+
24
+ # Move the repository into the target_folder
25
+ # TODO à tester
26
+ def move(target_folder)
27
+ if target_folder.type == 'Folder'
28
+ self.update_attribute :parent, target_folder
29
+ end
30
+ end
31
+
32
+
33
+ end
@@ -0,0 +1,55 @@
1
+ class Share < ActiveRecord::Base
2
+ has_many :shares_items, dependent: :destroy
3
+ belongs_to :owner, :polymorphic => true
4
+ belongs_to :repository
5
+
6
+ #scope :recipient, lambda { |recipient|
7
+ # joins(:receipts).where('receipts.receiver_id' => recipient.id,'receipts.receiver_type' => recipient.class.base_class.to_s)
8
+ #}
9
+ scope :items, lambda { |item|
10
+ joins(:shares_items).where('shares_items.item_id' => item.id,'shares_items.item_type' => item.class.base_class.to_s)
11
+ }
12
+
13
+ # Return the authorisations of the share for the item
14
+ def get_authorisations(item)
15
+ # If the item is the owner, he can do what he want !
16
+ if self.owner == item
17
+ return true
18
+ elsif i = self.shares_items.where(item_id: item.id, item_type: item.class.base_class.to_s).take
19
+ return {can_add: i.can_add, can_remove: i.can_remove}
20
+ else
21
+ return false
22
+ end
23
+ end
24
+
25
+ # Add items to the share
26
+ def addItems(items, share_permissions=nil)
27
+ if items.kind_of?(Array)
28
+ # Add each item to this share
29
+ items.each do |i|
30
+ shareItem = SharesItem.new(share_permissions)
31
+ shareItem.item = i
32
+ # Add the shares items in the share
33
+ self.shares_items << shareItem
34
+ end
35
+ else
36
+ shareItem = SharesItem.new(share_permissions)
37
+ shareItem.item = items
38
+ # Add the shares items in the share
39
+ self.shares_items << shareItem
40
+ end
41
+ end
42
+
43
+ # Remove items to the share
44
+ def removeItems(items)
45
+ if items.kind_of?(Array)
46
+ # Add each item to this share
47
+ items.each do |item|
48
+ self.shares_items.where(item_id: item.id, item_type: item.class.base_class.to_s).take.destroy
49
+ end
50
+ else
51
+ self.shares_items.where(item_id: items.id, item_type: items.class.base_class.to_s).take.destroy
52
+ end
53
+ end
54
+
55
+ end
@@ -0,0 +1,9 @@
1
+ class SharesItem < ActiveRecord::Base
2
+
3
+ belongs_to :item, polymorphic: true
4
+ belongs_to :share
5
+
6
+ #can_add
7
+ #can_remove
8
+ #t.references :shareable, polymorphic: true
9
+ end
@@ -0,0 +1,51 @@
1
+ # encoding: utf-8
2
+
3
+ class RepositoryUploader < CarrierWave::Uploader::Base
4
+
5
+ # Include RMagick or MiniMagick support:
6
+ # include CarrierWave::RMagick
7
+ # include CarrierWave::MiniMagick
8
+
9
+ # Choose what kind of storage to use for this uploader:
10
+ storage :file
11
+ # storage :fog
12
+
13
+ # Override the directory where uploaded files will be stored.
14
+ # This is a sensible default for uploaders that are meant to be mounted:
15
+ def store_dir
16
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
17
+ end
18
+
19
+ # Provide a default URL as a default if there hasn't been a file uploaded:
20
+ # def default_url
21
+ # # For Rails 3.1+ asset pipeline compatibility:
22
+ # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
23
+ #
24
+ # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
25
+ # end
26
+
27
+ # Process files as they are uploaded:
28
+ # process :scale => [200, 300]
29
+ #
30
+ # def scale(width, height)
31
+ # # do something
32
+ # end
33
+
34
+ # Create different versions of your uploaded files:
35
+ # version :thumb do
36
+ # process :scale => [50, 50]
37
+ # end
38
+
39
+ # Add a white list of extensions which are allowed to be uploaded.
40
+ # For images you might use something like this:
41
+ # def extension_white_list
42
+ # %w(jpg jpeg gif png)
43
+ # end
44
+
45
+ # Override the filename of the uploaded files:
46
+ # Avoid using model.id or version_name here, see uploader/store.rb for details.
47
+ # def filename
48
+ # "something.jpg" if original_filename
49
+ # end
50
+
51
+ end
@@ -0,0 +1,40 @@
1
+ class CreateRepositoryManager < ActiveRecord::Migration
2
+
3
+ def change
4
+ #create_table :permissions do |t|
5
+ # t.boolean :can_create, :default => false
6
+ # t.boolean :can_read, :default => false
7
+ # t.boolean :can_update, :default => false
8
+ # t.boolean :can_delete, :default => false
9
+ # t.boolean :can_share, :default => false
10
+ #end
11
+
12
+ create_table :shares do |t|
13
+ #t.integer :permission_id
14
+ #t.integer :user_id
15
+ t.references :owner, polymorphic: true
16
+ t.integer :repository_id
17
+ t.boolean :can_create, :default => false
18
+ t.boolean :can_read, :default => false
19
+ t.boolean :can_update, :default => false
20
+ t.boolean :can_delete, :default => false
21
+ t.boolean :can_share, :default => false
22
+ end
23
+
24
+ create_table :shares_items do |t|
25
+ t.integer :share_id
26
+ #t.integer :item_type
27
+ #t.integer :item_id
28
+ t.references :item, polymorphic: true
29
+ t.boolean :can_add, :default => false
30
+ t.boolean :can_remove, :default => false
31
+ end
32
+
33
+ create_table :repositories do |t|
34
+ t.references :owner, polymorphic: true
35
+ t.string :ancestry
36
+ t.string :name
37
+ t.string :type
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,8 @@
1
+ class AddFileToRepositories < ActiveRecord::Migration
2
+ def change
3
+ #add_column :repositories, :file, :string
4
+ add_column :repositories, :file_size, :float
5
+ add_column :repositories, :content_type, :string
6
+ #add_column :repositories, :repository_type, :string
7
+ end
8
+ end
@@ -0,0 +1,30 @@
1
+ module RepositoryManager #:nodoc:
2
+ class InstallGenerator < Rails::Generators::Base
3
+ include Rails::Generators::Migration
4
+ source_root File.expand_path("../templates", __FILE__)
5
+ require 'rails/generators/migration'
6
+
7
+ def self.next_migration_number path
8
+ unless @prev_migration_nr
9
+ @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
10
+ else
11
+ @prev_migration_nr += 1
12
+ end
13
+ @prev_migration_nr.to_s
14
+ end
15
+
16
+ # all public methods in here will be run in order
17
+ #def copy_initializer_file
18
+ # copy_file "initializer.rb", "config/initializers/repository_manager_initializer.rb"
19
+ #end
20
+
21
+ def copy_migrations
22
+ migrations = [["20131018214212_create_repository_manager.rb","create_repository_manager.rb"],
23
+ ["20131025085844_add_file_to_repositories.rb","add_file_to_repositories.rb"]
24
+ ]
25
+ migrations.each do |migration|
26
+ migration_template "../../../../db/migrate/" + migration[0], "db/migrate/" + migration[1]
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,4 @@
1
+ Rails.application.configure do
2
+ # Uncomment this to turn on verbose mode
3
+ # config.my_gem.verbose = true
4
+ end
@@ -0,0 +1,11 @@
1
+ require 'repository_manager/has_repository'
2
+
3
+ module RepositoryManager
4
+ module Models
5
+ #autoload :HasRepository, 'repository_manager/models/has_repository'
6
+ end
7
+ end
8
+
9
+ require 'ancestry'
10
+ require 'carrierwave'
11
+ require 'enumerize'
@@ -0,0 +1,304 @@
1
+ module RepositoryManager
2
+ module HasRepository
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ end
7
+
8
+ module ClassMethods
9
+ def has_repository(options = {})
10
+
11
+ has_many :shares, through: :shares_items, dependent: :destroy
12
+ has_many :shares_items, as: :item, dependent: :destroy
13
+ has_many :shares_owners, as: :owner, class_name: 'Share'
14
+
15
+ # The own repositories
16
+ has_many :repositories, as: :owner #, dependent: :destroy
17
+
18
+ # The repositories shares
19
+ #if Rails::VERSION::MAJOR == 4
20
+ # has_many :shares_repositories, -> { where can_read: true }, as: :item, through: :shares_items, class_name: 'Repository'
21
+ #else
22
+ # Rails 3 does it this way
23
+ has_many :shares_repositories, through: :shares, source: :repository, class_name: 'Repository'
24
+ #end
25
+
26
+ #scope :all_repositories, -> { self.repositories.shares_repositories }
27
+
28
+ #All repositories (own and shares)
29
+ #has_many :all_repositories
30
+
31
+ include RepositoryManager::HasRepository::LocalInstanceMethods
32
+ end
33
+ end
34
+
35
+ module LocalInstanceMethods
36
+ # Share the repository with the items, with the repo_permissions
37
+ # repo_permissions contains :
38
+ # <tt>:can_read</tt> - Item can download the repository
39
+ # <tt>:can_create</tt> - Item can create a new repository on it
40
+ # <tt>:can_edit</tt> - Item can edit the repository
41
+ # <tt>:can_delete</tt> - Item can delete the repository
42
+ # <tt>:can_share</tt> - Item can share the repository
43
+ # share_permissions contains :
44
+ # <tt>:can_add</tt> - Specify if the item can add objects to the share
45
+ # <tt>:can_remove</tt> - Specify if the item can remove object to the share
46
+ def share(repository, items, repo_permissions = nil, share_permissions = nil)
47
+ authorisations = get_authorisations(repository)
48
+
49
+ # Here we look if the instance has the authorisation for making a share
50
+ if can_share(nil, authorisations)
51
+
52
+ repo_permissions = make_repo_permissions(repo_permissions, authorisations)
53
+
54
+ share = Share.new(repo_permissions)
55
+ share.owner = self
56
+
57
+ share.addItems(items, share_permissions)
58
+
59
+ repository.shares << share
60
+ repository.save!
61
+ share
62
+ else
63
+ # No permission => No share
64
+ false
65
+ end
66
+ end
67
+
68
+ # Create a folder with the name (name) in the directory (sourceFolder)
69
+ # Returns the object of the folder created if it is ok
70
+ # Returns false if the folder is not created (no authorisation)
71
+ def createFolder(name, sourceFolder = nil)
72
+ # If he want to create a folder in a directory, we have to check if he have the authorisation
73
+ if can_create(sourceFolder)
74
+
75
+ folder = Folder.new(name: name)
76
+ folder.owner = self
77
+ folder.save
78
+
79
+ # If we want to create a folder in a folder, we have to check if we have the authorisation
80
+ if sourceFolder
81
+ sourceFolder.addRepository(folder)
82
+ end
83
+
84
+ return folder
85
+ else
86
+ return false
87
+ end
88
+ end
89
+
90
+ # Delete the repository
91
+ def deleteRepository(repository)
92
+ if can_delete(repository)
93
+ repository.destroy!
94
+ end
95
+ end
96
+
97
+ # Create the file (file) in the directory (sourceFolder)
98
+ # Param file can be a File, or a instance of AppFile
99
+ # Return the object of the file created if it is ok
100
+ # Return false if the file is not created (no authorisation)
101
+ def createFile(file, sourceFolder = nil)
102
+ # If he want to create a file in a directory, we have to check if he have the authorisation
103
+ if can_create(sourceFolder)
104
+ if file.class.name == 'File'
105
+ appFile = AppFile.new
106
+ appFile.name = file
107
+ appFile.owner = self
108
+ appFile.save!
109
+ elsif file.class.name == 'AppFile'
110
+ appFile = file
111
+ appFile.owner = self
112
+ appFile.save!
113
+ else
114
+ return false
115
+ end
116
+
117
+ # Add the file into the sourceFolder
118
+ if sourceFolder
119
+ sourceFolder.addRepository(file)
120
+ end
121
+
122
+ return appFile
123
+ else
124
+ return false
125
+ end
126
+ end
127
+
128
+ # Gets the repo authorisations
129
+ # Return false if the entity has not the authorisation to share this rep
130
+ # Return true if the entity can share this rep with all the authorisations
131
+ # Return an Array if the entity can share but with restriction
132
+ # Return true if the repository is nil (he as all authorisations on his own rep)
133
+ def get_authorisations(repository=nil)
134
+ # If repository is nil, he can do what he want
135
+ return true if repository==nil
136
+
137
+ # If the item is the owner, he can do what he want !
138
+ if repository.owner == self
139
+ # You can do what ever you want :)
140
+ return true
141
+ # Find if a share of this rep exist for the self instance
142
+ elsif s = self.shares.where(repository_id: repository.id).take
143
+ # Ok, give an array with the permission of the actual share
144
+ # (we can't share with more permission then we have)
145
+ 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}
146
+ else
147
+ # We look at the ancestor if there is a share
148
+ ancestor_ids = repository.ancestor_ids
149
+ # Check the nearest share if it exist
150
+ if s = self.shares.where(repository_id: ancestor_ids).last
151
+ 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}
152
+ end
153
+ end
154
+ # Else, false
155
+ return false
156
+ end
157
+
158
+ #Return the authorisations of the share (can_add, can_remove)
159
+ def get_share_authorisations(share)
160
+ share.get_authorisations(self)
161
+ end
162
+
163
+ # Return true if you can share the repo, else false
164
+ # You can give the authorisations or the repository as params
165
+ def can_share(repository, authorisations = nil)
166
+ can_do('share', repository, authorisations)
167
+ end
168
+
169
+ # Return true if you can read the repo, else false
170
+ def can_read(repository, authorisations = nil)
171
+ can_do('read', repository, authorisations)
172
+ end
173
+
174
+ # Return true if you can download the repo, else false
175
+ # Read = Download for the moment
176
+ def can_download(repository, authorisations = nil)
177
+ can_do('read', repository, authorisations)
178
+ end
179
+
180
+ # Return true if you can create in the repo, false else
181
+ def can_create(repository, authorisations = nil)
182
+ can_do('create', repository, authorisations)
183
+ end
184
+
185
+ # Return true if you can edit the repo, false else
186
+ def can_update(repository, authorisations = nil)
187
+ can_do('update', repository, authorisations)
188
+ end
189
+
190
+ # Return true if you can delete the repo, false else
191
+ def can_delete(repository, authorisations = nil)
192
+ can_do('delete', repository, authorisations)
193
+ end
194
+
195
+ # Return true if you can add an item in this share, false else
196
+ def can_add_to_share(share)
197
+ can_do_to_share('add', share)
198
+ end
199
+
200
+ # Return true if you can remove an item in this share, false else
201
+ def can_remove_to_share(share)
202
+ can_do_to_share('remove', share)
203
+ end
204
+
205
+ # You can here add new items in the share
206
+ # Param item could be an object or an array of object
207
+ def addItemsToShare(share, items, share_permissions = nil)
208
+ authorisations = get_share_authorisations(share)
209
+ if can_add_to_share(share)
210
+ share_permissions = make_share_permissions(share_permissions, authorisations)
211
+ share.addItems(items, share_permissions)
212
+ end
213
+ end
214
+
215
+ # You can here add new items in the share
216
+ # Param item could be an object or an array of object
217
+ def removeItemsToShare(share, items)
218
+ if can_remove_to_share(share)
219
+ share.removeItems(items)
220
+ end
221
+ end
222
+
223
+ private
224
+
225
+ # Return if you can do or not this action in the share
226
+ def can_do_to_share(what, share, authorisations = nil)
227
+ if authorisations === nil
228
+ authorisations = share.get_authorisations(self)
229
+ end
230
+ case what
231
+ when 'add'
232
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_add] == true)
233
+ when 'remove'
234
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_remove] == true)
235
+ end
236
+ end
237
+
238
+ # Return if you can do or not this action (what)
239
+ def can_do(what, repository, authorisations = nil)
240
+ #If we pass no authorisations we have to get it
241
+ if authorisations === nil
242
+ authorisations = get_authorisations(repository)
243
+ end
244
+
245
+ case what
246
+ when 'read'
247
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_read] == true)
248
+ when 'delete'
249
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_delete] == true)
250
+ when 'update'
251
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_update] == true)
252
+ when 'share'
253
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_share] == true)
254
+ when 'create'
255
+ authorisations == true || (authorisations.kind_of?(Hash) && authorisations[:can_create] == true)
256
+ else
257
+ false
258
+ end
259
+
260
+ end
261
+
262
+ # Correct the repo_permissions with the authorisations
263
+ def make_repo_permissions(wanted_permissions, authorisations)
264
+ # If it is an array, we have restriction in the permissions
265
+ if authorisations.kind_of?(Hash) && wanted_permissions
266
+ # Built the share with the accepted permissions
267
+ # We remove the permission if we can't share it
268
+ if wanted_permissions[:can_read] == true && authorisations[:can_read] == false
269
+ wanted_permissions[:can_read] = false
270
+ end
271
+ if wanted_permissions[:can_create] == true && authorisations[:can_create] == false
272
+ wanted_permissions[:can_create] = false
273
+ end
274
+ if wanted_permissions[:can_update] == true && authorisations[:can_update] == false
275
+ wanted_permissions[:can_update] = false
276
+ end
277
+ if wanted_permissions[:can_delete] == true && authorisations[:can_delete] == false
278
+ wanted_permissions[:can_delete] = false
279
+ end
280
+ end
281
+ return wanted_permissions
282
+ end
283
+
284
+ # Correct the share_permissions with the authorisations
285
+ def make_share_permissions(wanted_permissions, authorisations)
286
+ # If it is an array, we have restriction in the permissions
287
+ if authorisations.kind_of?(Hash) && wanted_permissions
288
+ # Built the share with the accepted permissions
289
+ # We remove the permission if we can't share it
290
+ if wanted_permissions[:can_add] == true && authorisations[:can_add] == false
291
+ wanted_permissions[:can_add] = false
292
+ end
293
+ if wanted_permissions[:can_remove] == true && authorisations[:can_remove] == false
294
+ wanted_permissions[:can_remove] = false
295
+ end
296
+ end
297
+ return wanted_permissions
298
+ end
299
+
300
+ end
301
+ end
302
+ end
303
+
304
+ ActiveRecord::Base.send :include, RepositoryManager::HasRepository