simple_attachments 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (326) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +132 -0
  3. data/lib/simple_attachments.rb +15 -0
  4. data/lib/simple_attachments/attachment_model.rb +128 -0
  5. data/lib/simple_attachments/attachments_controller.rb +100 -0
  6. data/lib/simple_attachments/container_model.rb +73 -0
  7. data/lib/simple_attachments/migration_helpers.rb +14 -0
  8. data/lib/simple_attachments/view_helpers.rb +92 -0
  9. data/locales/en.yml +5 -0
  10. data/test/Rakefile +10 -0
  11. data/test/app/assets/javascripts/attachments.js +18 -0
  12. data/test/app/assets/stylesheets/attachments.css +17 -0
  13. data/test/app/controllers/application_controller.rb +3 -0
  14. data/test/app/controllers/avatars_controller.rb +3 -0
  15. data/test/app/controllers/documents_controller.rb +3 -0
  16. data/test/app/controllers/users_controller.rb +18 -0
  17. data/test/app/models/avatar.rb +5 -0
  18. data/test/app/models/document.rb +5 -0
  19. data/test/app/models/user.rb +4 -0
  20. data/test/app/views/layouts/application.html.erb +12 -0
  21. data/test/app/views/users/edit.html.erb +6 -0
  22. data/test/config.ru +4 -0
  23. data/test/config/application.rb +10 -0
  24. data/test/config/boot.rb +3 -0
  25. data/test/config/database.yml +5 -0
  26. data/test/config/environment.rb +5 -0
  27. data/test/config/environments/test.rb +12 -0
  28. data/test/config/initializers/secret_token.rb +7 -0
  29. data/test/config/initializers/session_store.rb +8 -0
  30. data/test/config/initializers/wrap_parameters.rb +14 -0
  31. data/test/config/routes.rb +5 -0
  32. data/test/db/migrate/1_create_users.rb +6 -0
  33. data/test/db/migrate/2_create_avatars.rb +8 -0
  34. data/test/db/migrate/3_create_documents.rb +8 -0
  35. data/test/db/schema.rb +34 -0
  36. data/test/db/test.sqlite3 +0 -0
  37. data/test/log/test.log +11774 -0
  38. data/test/script/rails +6 -0
  39. data/test/spec/multiple_spec.rb +36 -0
  40. data/test/spec/samples/sample.jpg +0 -0
  41. data/test/spec/samples/sample.pdf +0 -0
  42. data/test/spec/samples/sample.png +0 -0
  43. data/test/spec/singleton_spec.rb +54 -0
  44. data/test/spec/spec_helper.rb +22 -0
  45. data/test/tmp/cache/2CB/9B1/http%3A%2F%2Flocalhost%3A3000%2Fassets%2Fattachments.js%3F +0 -0
  46. data/test/tmp/cache/337/6A1/http%3A%2F%2Flocalhost%3A3000%2Fassets%2Fattachments.css%3F +0 -0
  47. data/test/tmp/cache/A03/C30/86cd82a38406e2cc75af040321554265d148882e +0 -0
  48. data/test/tmp/cache/BDE/BD0/7d763b3bac537e97ea5f3fb558c2bdbba05b72bc +0 -0
  49. data/test/tmp/cache/assets/C2E/6F0/sprockets%2F99a77a1d4d8767343010e1153d993839 +0 -0
  50. data/test/tmp/cache/assets/C5A/590/sprockets%2F2993f5a3d21b3e477143358534c68f55 +0 -0
  51. data/test/tmp/cache/assets/C5B/6F0/sprockets%2F19824e4169877bb010cd8163319f3f95 +0 -0
  52. data/test/tmp/cache/assets/CEB/450/sprockets%2Fada5663796684365b3e4ab36529bc86b +0 -0
  53. data/test/tmp/cache/assets/CF4/E60/sprockets%2F96b74d34978f2759ec2af602cd969d00 +0 -0
  54. data/test/tmp/cache/assets/D0B/600/sprockets%2F0b1b45e6991800f2911a6bcccf54a679 +0 -0
  55. data/test/tmp/cache/assets/D48/590/sprockets%2F522d019dab47a2617f2c2a99e98a99ed +0 -0
  56. data/test/tmp/cache/assets/D64/BF0/sprockets%2Fbd0d2396f3797000ffd901eba90b4d0e +0 -0
  57. data/test/tmp/cache/assets/D6B/150/sprockets%2F0b6cebd1717e9da4183329be9a2d77c0 +0 -0
  58. data/test/tmp/cache/assets/D70/120/sprockets%2F0f56b864e2eba6c4199d4171bdf391ae +0 -0
  59. data/test/tmp/cache/assets/D91/580/sprockets%2Fb5e4430a5a0af8eee00d262f82b565ed +0 -0
  60. data/test/tmp/cache/assets/D9A/760/sprockets%2F8df77fdd2c3c1f3d04f450c72a635be2 +0 -0
  61. data/test/tmp/cache/assets/DA1/380/sprockets%2F5e06b3974a8f9ca4452d4dfea337dba5 +0 -0
  62. data/test/tmp/cache/assets/DA9/EC0/sprockets%2F73f61f04eb2d87aced83787a0f14cf8e +0 -0
  63. data/test/uploads/1330732189.40513.sample.jpg +0 -0
  64. data/test/uploads/1330732621.7381.sample.jpg +0 -0
  65. data/test/uploads/1330732672.36763.sample.jpg +0 -0
  66. data/test/uploads/1330732847.98348.sample.jpg +0 -0
  67. data/test/uploads/1330732967.05269.sample.jpg +0 -0
  68. data/test/uploads/1330733025.52707.sample.jpg +0 -0
  69. data/test/uploads/1330733381.60733.sample.jpg +0 -0
  70. data/test/uploads/1330733822.51761.sample.jpg +0 -0
  71. data/test/uploads/1330733887.44114.sample.jpg +0 -0
  72. data/test/uploads/1330738615.68437.sample.jpg +0 -0
  73. data/test/uploads/1330738616.82401.sample.jpg +0 -0
  74. data/test/uploads/1330738618.00278.sample.jpg +0 -0
  75. data/test/uploads/1330738771.92631.sample.jpg +0 -0
  76. data/test/uploads/1330738772.94099.sample.jpg +0 -0
  77. data/test/uploads/1330738901.69933.sample.jpg +0 -0
  78. data/test/uploads/1330738904.3815.sample.jpg +0 -0
  79. data/test/uploads/1330739046.59901.sample.jpg +0 -0
  80. data/test/uploads/1330739125.79463.sample.jpg +0 -0
  81. data/test/uploads/1330739131.09163.sample.pdf +0 -0
  82. data/test/uploads/1330739735.52707.sample.jpg +0 -0
  83. data/test/uploads/1330739738.11937.sample.jpg +0 -0
  84. data/test/uploads/1330739742.76692.sample.jpg +0 -0
  85. data/test/uploads/1330739911.78046.sample.jpg +0 -0
  86. data/test/uploads/1330739914.46047.sample.jpg +0 -0
  87. data/test/uploads/1330739918.80359.sample.jpg +0 -0
  88. data/test/uploads/1330739921.39005.sample.jpg +0 -0
  89. data/test/uploads/1330739988.04537.sample.jpg +0 -0
  90. data/test/uploads/1330739990.65212.sample.jpg +0 -0
  91. data/test/uploads/1330739994.98225.sample.jpg +0 -0
  92. data/test/uploads/1330739997.45622.sample.jpg +0 -0
  93. data/test/uploads/1330740765.24516.sample.jpg +0 -0
  94. data/test/uploads/1330740767.71798.sample.jpg +0 -0
  95. data/test/uploads/1330740771.9889.sample.jpg +0 -0
  96. data/test/uploads/1330740774.56759.sample.jpg +0 -0
  97. data/test/uploads/1330741058.17571.sample.jpg +0 -0
  98. data/test/uploads/1330741060.65483.sample.jpg +0 -0
  99. data/test/uploads/1330741067.79574.sample.jpg +0 -0
  100. data/test/uploads/1330741154.42055.sample.jpg +0 -0
  101. data/test/uploads/1330741157.28718.sample.jpg +0 -0
  102. data/test/uploads/1330741164.64669.sample.jpg +0 -0
  103. data/test/uploads/1330741776.05725.sample.jpg +0 -0
  104. data/test/uploads/1330741778.80256.sample.jpg +0 -0
  105. data/test/uploads/1330741785.96345.sample.jpg +0 -0
  106. data/test/uploads/1330742286.07361.sample.jpg +0 -0
  107. data/test/uploads/1330742288.59918.sample.jpg +0 -0
  108. data/test/uploads/1330742295.83963.sample.jpg +0 -0
  109. data/test/uploads/1330742576.6398.sample.jpg +0 -0
  110. data/test/uploads/1330742579.54181.sample.jpg +0 -0
  111. data/test/uploads/1330742586.88996.sample.jpg +0 -0
  112. data/test/uploads/1330743983.91544.shen-logic-part1.pdf +0 -0
  113. data/test/uploads/1330744294.55912.sample.jpg +0 -0
  114. data/test/uploads/1330744296.94811.sample.jpg +0 -0
  115. data/test/uploads/1330744304.25529.sample.jpg +0 -0
  116. data/test/uploads/1330744307.08498.sample.pdf +0 -0
  117. data/test/uploads/1330744309.25872.sample.pdf +0 -0
  118. data/test/uploads/1330744443.49578.sample.jpg +0 -0
  119. data/test/uploads/1330744446.09032.sample.jpg +0 -0
  120. data/test/uploads/1330744453.55965.sample.jpg +0 -0
  121. data/test/uploads/1330744456.32318.sample.pdf +0 -0
  122. data/test/uploads/1330744458.42931.sample.pdf +0 -0
  123. data/test/uploads/1330744533.52631.sample.jpg +0 -0
  124. data/test/uploads/1330744536.13208.sample.jpg +0 -0
  125. data/test/uploads/1330744543.29535.sample.jpg +0 -0
  126. data/test/uploads/1330744546.16477.sample.pdf +0 -0
  127. data/test/uploads/1330744548.27125.sample.pdf +0 -0
  128. data/test/uploads/1330744696.43953.sample.jpg +0 -0
  129. data/test/uploads/1330744698.95043.sample.jpg +0 -0
  130. data/test/uploads/1330744706.28901.sample.jpg +0 -0
  131. data/test/uploads/1330744711.24284.sample.pdf +0 -0
  132. data/test/uploads/1330744713.6281.sample.pdf +0 -0
  133. data/test/uploads/1330744782.91673.sample.jpg +0 -0
  134. data/test/uploads/1330744785.53684.sample.jpg +0 -0
  135. data/test/uploads/1330744792.74599.sample.jpg +0 -0
  136. data/test/uploads/1330744797.90608.sample.pdf +0 -0
  137. data/test/uploads/1330744800.55736.sample.pdf +0 -0
  138. data/test/uploads/1330771358.91882.sample.jpg +0 -0
  139. data/test/uploads/1330771359.23929.sample.jpg +0 -0
  140. data/test/uploads/1330771359.70574.sample.jpg +0 -0
  141. data/test/uploads/1330771360.07645.sample.png +0 -0
  142. data/test/uploads/1330771364.83802.sample.pdf +0 -0
  143. data/test/uploads/1330771367.18498.sample.pdf +0 -0
  144. data/test/uploads/1330771514.28703.sample.jpg +0 -0
  145. data/test/uploads/1330771514.66497.sample.jpg +0 -0
  146. data/test/uploads/1330771515.12563.sample.jpg +0 -0
  147. data/test/uploads/1330771515.72515.sample.png +0 -0
  148. data/test/uploads/1330771519.30014.sample.pdf +0 -0
  149. data/test/uploads/1330771519.55784.sample.pdf +0 -0
  150. data/test/uploads/1330771519.89044.sample.pdf +0 -0
  151. data/test/uploads/1330771522.50763.sample.pdf +0 -0
  152. data/test/uploads/1330771522.75458.sample.pdf +0 -0
  153. data/test/uploads/1330775627.9105.sample.pdf +0 -0
  154. data/test/uploads/1330775628.40671.sample.pdf +0 -0
  155. data/test/uploads/1330775628.68645.sample.pdf +0 -0
  156. data/test/uploads/1330775631.48519.sample.pdf +0 -0
  157. data/test/uploads/1330775631.9586.sample.pdf +0 -0
  158. data/test/uploads/1330775676.5146.sample.pdf +0 -0
  159. data/test/uploads/1330775703.20143.sample.pdf +0 -0
  160. data/test/uploads/1330775704.36145.sample.pdf +0 -0
  161. data/test/uploads/1330775705.27831.sample.pdf +0 -0
  162. data/test/uploads/1330775706.66539.sample.pdf +0 -0
  163. data/test/uploads/1330776988.21579.sample.pdf +0 -0
  164. data/test/uploads/1330776988.69155.sample.pdf +0 -0
  165. data/test/uploads/1330776989.12114.sample.pdf +0 -0
  166. data/test/uploads/1330776992.1201.sample.pdf +0 -0
  167. data/test/uploads/1330776992.57634.sample.pdf +0 -0
  168. data/test/uploads/1330777152.6597.sample.jpg +0 -0
  169. data/test/uploads/1330777153.00459.sample.jpg +0 -0
  170. data/test/uploads/1330777153.45871.sample.jpg +0 -0
  171. data/test/uploads/1330777153.86376.sample.png +0 -0
  172. data/test/uploads/1330777157.91465.sample.pdf +0 -0
  173. data/test/uploads/1330777158.23816.sample.pdf +0 -0
  174. data/test/uploads/1330777158.74465.sample.pdf +0 -0
  175. data/test/uploads/1330777161.59586.sample.pdf +0 -0
  176. data/test/uploads/1330777161.93334.sample.pdf +0 -0
  177. data/test/uploads/1330777833.73591.sample.jpg +0 -0
  178. data/test/uploads/1330777834.05449.sample.jpg +0 -0
  179. data/test/uploads/1330777834.50661.sample.jpg +0 -0
  180. data/test/uploads/1330777834.87967.sample.jpg +0 -0
  181. data/test/uploads/1330777835.22949.sample.jpg +0 -0
  182. data/test/uploads/1330777835.55546.sample.png +0 -0
  183. data/test/uploads/1330777840.54959.sample.jpg +0 -0
  184. data/test/uploads/1330777844.18911.sample.pdf +0 -0
  185. data/test/uploads/1330777844.58364.sample.pdf +0 -0
  186. data/test/uploads/1330777844.96998.sample.pdf +0 -0
  187. data/test/uploads/1330777847.62838.sample.pdf +0 -0
  188. data/test/uploads/1330777848.0192.sample.pdf +0 -0
  189. data/test/uploads/1330778979.41703.sample.jpg +0 -0
  190. data/test/uploads/1330778979.74093.sample.jpg +0 -0
  191. data/test/uploads/1330778980.16769.sample.jpg +0 -0
  192. data/test/uploads/1330778980.54831.sample.jpg +0 -0
  193. data/test/uploads/1330778980.91033.sample.jpg +0 -0
  194. data/test/uploads/1330778981.23582.sample.png +0 -0
  195. data/test/uploads/1330778986.50795.sample.jpg +0 -0
  196. data/test/uploads/1330778989.07307.sample.pdf +0 -0
  197. data/test/uploads/1330778989.59241.sample.pdf +0 -0
  198. data/test/uploads/1330778990.06415.sample.pdf +0 -0
  199. data/test/uploads/1330778990.44233.sample.pdf +0 -0
  200. data/test/uploads/1330779134.25647.sample.jpg +0 -0
  201. data/test/uploads/1330779134.67957.sample.jpg +0 -0
  202. data/test/uploads/1330779135.15349.sample.jpg +0 -0
  203. data/test/uploads/1330779135.6793.sample.jpg +0 -0
  204. data/test/uploads/1330779136.14714.sample.jpg +0 -0
  205. data/test/uploads/1330779136.70598.sample.png +0 -0
  206. data/test/uploads/1330779141.75878.sample.jpg +0 -0
  207. data/test/uploads/1330779145.79811.sample.pdf +0 -0
  208. data/test/uploads/1330779146.40945.sample.pdf +0 -0
  209. data/test/uploads/1330779146.75038.sample.pdf +0 -0
  210. data/test/uploads/1330779149.67101.sample.pdf +0 -0
  211. data/test/uploads/1330779150.033.sample.pdf +0 -0
  212. data/test/uploads/1330779251.92468.sample.jpg +0 -0
  213. data/test/uploads/1330779252.33759.sample.jpg +0 -0
  214. data/test/uploads/1330779252.79211.sample.jpg +0 -0
  215. data/test/uploads/1330779253.16365.sample.jpg +0 -0
  216. data/test/uploads/1330779253.51459.sample.jpg +0 -0
  217. data/test/uploads/1330779253.82932.sample.png +0 -0
  218. data/test/uploads/1330779259.04186.sample.jpg +0 -0
  219. data/test/uploads/1330779262.79998.sample.pdf +0 -0
  220. data/test/uploads/1330779263.19534.sample.pdf +0 -0
  221. data/test/uploads/1330779263.51726.sample.pdf +0 -0
  222. data/test/uploads/1330779266.23965.sample.pdf +0 -0
  223. data/test/uploads/1330779266.65453.sample.pdf +0 -0
  224. data/test/uploads/1330780162.71983.1.gif +0 -0
  225. data/test/uploads/1330780370.60224.sample.jpg +0 -0
  226. data/test/uploads/1330780370.95202.sample.jpg +0 -0
  227. data/test/uploads/1330780371.44543.sample.jpg +0 -0
  228. data/test/uploads/1330780371.88658.sample.jpg +0 -0
  229. data/test/uploads/1330780372.30293.sample.jpg +0 -0
  230. data/test/uploads/1330780372.79723.sample.png +0 -0
  231. data/test/uploads/1330780378.19075.sample.jpg +0 -0
  232. data/test/uploads/1330780382.07736.sample.pdf +0 -0
  233. data/test/uploads/1330780382.61497.sample.pdf +0 -0
  234. data/test/uploads/1330780383.10458.sample.pdf +0 -0
  235. data/test/uploads/1330780385.85251.sample.pdf +0 -0
  236. data/test/uploads/1330780386.24973.sample.pdf +0 -0
  237. data/test/uploads/1330781258.12109.sample.pdf +0 -0
  238. data/test/uploads/1330781258.63862.sample.pdf +0 -0
  239. data/test/uploads/1330781259.10465.sample.pdf +0 -0
  240. data/test/uploads/1330781262.08459.sample.pdf +0 -0
  241. data/test/uploads/1330781262.52448.sample.pdf +0 -0
  242. data/test/uploads/1330781278.37307.sample.jpg +0 -0
  243. data/test/uploads/1330781278.7309.sample.jpg +0 -0
  244. data/test/uploads/1330781279.18693.sample.jpg +0 -0
  245. data/test/uploads/1330781279.55913.sample.jpg +0 -0
  246. data/test/uploads/1330781279.92436.sample.jpg +0 -0
  247. data/test/uploads/1330781280.27391.sample.png +0 -0
  248. data/test/uploads/1330886711.00348.sample.pdf +0 -0
  249. data/test/uploads/1330886711.78495.sample.pdf +0 -0
  250. data/test/uploads/1330886712.4033.sample.pdf +0 -0
  251. data/test/uploads/1330886716.09532.sample.pdf +0 -0
  252. data/test/uploads/1330886716.7663.sample.pdf +0 -0
  253. data/test/uploads/1330886735.38676.sample.jpg +0 -0
  254. data/test/uploads/1330886736.28739.sample.jpg +0 -0
  255. data/test/uploads/1330886736.84868.sample.jpg +0 -0
  256. data/test/uploads/1330886737.64167.sample.jpg +0 -0
  257. data/test/uploads/1330886738.33938.sample.jpg +0 -0
  258. data/test/uploads/1330886738.92271.sample.png +0 -0
  259. data/test/uploads/1330886985.6679.sample.pdf +0 -0
  260. data/test/uploads/1330886986.4568.sample.pdf +0 -0
  261. data/test/uploads/1330886987.00302.sample.pdf +0 -0
  262. data/test/uploads/1330886990.4604.sample.pdf +0 -0
  263. data/test/uploads/1330886991.04681.sample.pdf +0 -0
  264. data/test/uploads/1330887008.68477.sample.jpg +0 -0
  265. data/test/uploads/1330887009.23077.sample.jpg +0 -0
  266. data/test/uploads/1330887009.82498.sample.jpg +0 -0
  267. data/test/uploads/1330887010.48937.sample.jpg +0 -0
  268. data/test/uploads/1330887011.23496.sample.jpg +0 -0
  269. data/test/uploads/1330887011.92032.sample.png +0 -0
  270. data/test/uploads/1330887633.41769.sample.pdf +0 -0
  271. data/test/uploads/1330887633.81961.sample.pdf +0 -0
  272. data/test/uploads/1330887634.25582.sample.pdf +0 -0
  273. data/test/uploads/1330887637.47958.sample.pdf +0 -0
  274. data/test/uploads/1330887638.14348.sample.pdf +0 -0
  275. data/test/uploads/1330887655.10619.sample.jpg +0 -0
  276. data/test/uploads/1330887655.80139.sample.jpg +0 -0
  277. data/test/uploads/1330887656.35041.sample.jpg +0 -0
  278. data/test/uploads/1330887656.86876.sample.jpg +0 -0
  279. data/test/uploads/1330887657.60467.sample.jpg +0 -0
  280. data/test/uploads/1330887658.23424.sample.png +0 -0
  281. data/test/uploads/1330888133.62299.WIN.gif +0 -0
  282. data/test/uploads/1330888504.16714.1.gif +0 -0
  283. data/test/uploads/1330888586.99975.1.gif +0 -0
  284. data/test/uploads/1330888607.58249.shen-logic-part1.pdf +0 -0
  285. data/test/uploads/1330889585.30006.shen-logic-part2.pdf +0 -0
  286. data/test/uploads/1330890565.79547.shen-logic-part1.pdf +0 -0
  287. data/test/uploads/1330890992.45693.sample.jpg +0 -0
  288. data/test/uploads/1330890998.10996.sample.pdf +0 -0
  289. data/test/uploads/1330890998.76199.sample.pdf +0 -0
  290. data/test/uploads/1330890999.14516.sample.pdf +0 -0
  291. data/test/uploads/1330891002.0989.sample.pdf +0 -0
  292. data/test/uploads/1330891002.49258.sample.pdf +0 -0
  293. data/test/uploads/1330891004.89888.sample.jpg +0 -0
  294. data/test/uploads/1330891007.45147.sample.jpg +0 -0
  295. data/test/uploads/1330891052.00842.sample.jpg +0 -0
  296. data/test/uploads/1330891056.46428.sample.pdf +0 -0
  297. data/test/uploads/1330891056.83678.sample.pdf +0 -0
  298. data/test/uploads/1330891057.31732.sample.pdf +0 -0
  299. data/test/uploads/1330891057.86036.sample.pdf +0 -0
  300. data/test/uploads/1330891058.49616.sample.pdf +0 -0
  301. data/test/uploads/1330891058.91288.sample.pdf +0 -0
  302. data/test/uploads/1330891138.7408.sample.pdf +0 -0
  303. data/test/uploads/1330891139.14067.sample.pdf +0 -0
  304. data/test/uploads/1330891139.46755.sample.pdf +0 -0
  305. data/test/uploads/1330891142.26432.sample.pdf +0 -0
  306. data/test/uploads/1330891142.684.sample.pdf +0 -0
  307. data/test/uploads/1330891158.04426.sample.jpg +0 -0
  308. data/test/uploads/1330891158.44159.sample.jpg +0 -0
  309. data/test/uploads/1330891158.85135.sample.jpg +0 -0
  310. data/test/uploads/1330891159.3765.sample.jpg +0 -0
  311. data/test/uploads/1330891159.79503.sample.jpg +0 -0
  312. data/test/uploads/1330891160.15479.sample.png +0 -0
  313. data/test/uploads/1330900466.37214.sample.pdf +0 -0
  314. data/test/uploads/1330900466.77443.sample.pdf +0 -0
  315. data/test/uploads/1330900467.32831.sample.pdf +0 -0
  316. data/test/uploads/1330900470.07702.sample.pdf +0 -0
  317. data/test/uploads/1330900470.48767.sample.pdf +0 -0
  318. data/test/uploads/1330900486.92727.sample.jpg +0 -0
  319. data/test/uploads/1330900487.4311.sample.jpg +0 -0
  320. data/test/uploads/1330900488.03152.sample.jpg +0 -0
  321. data/test/uploads/1330900488.43945.sample.jpg +0 -0
  322. data/test/uploads/1330900489.01433.sample.jpg +0 -0
  323. data/test/uploads/1330900489.43854.sample.png +0 -0
  324. data/vendor/assets/javascripts/simple_attachments.js +138 -0
  325. data/vendor/assets/stylesheets/simple_attachments.css +23 -0
  326. metadata +729 -0
data/test/script/rails ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby1.8
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'documents', :type => :request, :js => true do
4
+
5
+ let(:user) { User.create }
6
+ before(:each) do
7
+ Document.destroy_all
8
+ visit edit_user_path(user)
9
+ end
10
+
11
+ it 'should be auto associated' do
12
+ within '.simple_attachments_multiple_div' do
13
+ attach_sample :pdf
14
+ user.documents.count.should == 1
15
+ end
16
+ end
17
+
18
+ it 'should not show field with invalid file' do
19
+ within '.simple_attachments_multiple_div' do
20
+ attach_sample :jpg
21
+ page.should_not have_selector('.simple_attachments_field_div')
22
+ end
23
+ end
24
+
25
+ it 'should allow asynchronous upload and destroy' do
26
+ within '.simple_attachments_multiple_div' do
27
+ 5.times { attach_sample :pdf, 0 }
28
+ attach_sample :pdf
29
+ 3.times { find('.simple_attachments_destroy_link').click }
30
+ attach_sample :pdf, 0
31
+ attach_sample :pdf
32
+ user.documents.count.should == 5
33
+ end
34
+ end
35
+
36
+ end
Binary file
Binary file
Binary file
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'avatar', :type => :request, :js => true do
4
+
5
+ def test_img(avatar)
6
+ find('img')[:src].should match /\/avatars\/#{avatar.id}$/
7
+ end
8
+
9
+ let(:user) { User.create }
10
+ before(:each) { visit edit_user_path(user) }
11
+
12
+ it 'should not be auto associated' do
13
+ within '.edit_user' do
14
+ attach_sample :jpg
15
+ avatar = Avatar.last
16
+ test_img avatar
17
+ avatar.user.should == nil
18
+ end
19
+ end
20
+
21
+ it 'should not be replaced by an invalid file' do
22
+ within '.edit_user' do
23
+ attach_sample :jpg
24
+ avatar = Avatar.last
25
+ attach_sample :pdf
26
+ test_img avatar
27
+ end
28
+ end
29
+
30
+ it 'should be associated after submit' do
31
+ within '.edit_user' do
32
+ attach_sample :jpg
33
+ avatar = Avatar.last
34
+ click_button 'Update User'
35
+ test_img avatar
36
+ attach_sample :jpg
37
+ new_avatar = Avatar.last
38
+ click_button 'Update User'
39
+ test_img new_avatar
40
+ Avatar.exists?(avatar).should == false
41
+ end
42
+ end
43
+
44
+ it 'should allow asynchronous upload' do
45
+ Avatar.destroy_all
46
+ within '.edit_user' do
47
+ 5.times { attach_sample :jpg, 0 }
48
+ attach_sample :png
49
+ click_button 'Update User'
50
+ user.avatar.mimetype.should == 'image/png'
51
+ end
52
+ end
53
+
54
+ end
@@ -0,0 +1,22 @@
1
+ ENV['RAILS_ENV'] = 'test'
2
+ require File.expand_path('../../config/environment', __FILE__)
3
+ require 'rspec/rails'
4
+ require 'rspec/autorun'
5
+ require 'capybara/rspec'
6
+
7
+ include Rails.application.routes.url_helpers
8
+
9
+ module JsModule
10
+
11
+ DIR = File.expand_path(File.dirname(__FILE__))
12
+
13
+ def attach_sample(sample, sleep_time = 2)
14
+ attach_file 'file', File.join(DIR, 'samples', "sample.#{sample}")
15
+ sleep sleep_time
16
+ end
17
+
18
+ end
19
+
20
+ RSpec.configure do |c|
21
+ c.include JsModule, :js => true
22
+ end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes