paper_trail_manager 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. data/.gitignore +7 -0
  2. data/.travis.yml +6 -0
  3. data/CHANGES.md +37 -0
  4. data/Gemfile +1 -18
  5. data/Gemfile.lock +60 -98
  6. data/README.md +23 -0
  7. data/Rakefile +10 -25
  8. data/VERSION +1 -1
  9. data/paper_trail_manager.gemspec +322 -93
  10. data/rails_test/Rakefile +90 -0
  11. data/{spec/dummy → rails_test/common}/app/controllers/application_controller.rb +0 -0
  12. data/{spec/dummy → rails_test/common}/app/controllers/entities_controller.rb +0 -0
  13. data/{spec/dummy → rails_test/common}/app/controllers/platforms_controller.rb +0 -0
  14. data/{spec/dummy → rails_test/common}/app/helpers/application_helper.rb +0 -0
  15. data/{spec/dummy → rails_test/common}/app/helpers/entities_helper.rb +0 -0
  16. data/{spec/dummy → rails_test/common}/app/helpers/platforms_helper.rb +0 -0
  17. data/{spec/dummy → rails_test/common}/app/models/entity.rb +2 -0
  18. data/{spec/dummy → rails_test/common}/app/models/platform.rb +2 -0
  19. data/{spec/dummy → rails_test/common}/app/views/application/index.html.erb +0 -0
  20. data/{spec/dummy → rails_test/common}/app/views/entities/_form.html.erb +0 -0
  21. data/{spec/dummy → rails_test/common}/app/views/entities/edit.html.erb +0 -0
  22. data/{spec/dummy → rails_test/common}/app/views/entities/index.html.erb +0 -0
  23. data/{spec/dummy → rails_test/common}/app/views/entities/new.html.erb +0 -0
  24. data/{spec/dummy → rails_test/common}/app/views/entities/show.html.erb +0 -0
  25. data/{spec/dummy → rails_test/common}/app/views/layouts/application.html.erb +0 -0
  26. data/{spec/dummy → rails_test/common}/app/views/platforms/_form.html.erb +0 -0
  27. data/{spec/dummy → rails_test/common}/app/views/platforms/edit.html.erb +0 -0
  28. data/{spec/dummy → rails_test/common}/app/views/platforms/index.html.erb +0 -0
  29. data/{spec/dummy → rails_test/common}/app/views/platforms/new.html.erb +0 -0
  30. data/{spec/dummy → rails_test/common}/app/views/platforms/show.html.erb +0 -0
  31. data/{spec/dummy → rails_test/common}/config/database.yml +0 -0
  32. data/{spec/dummy → rails_test/common}/db/migrate/20110228091428_create_entities.rb +0 -0
  33. data/{spec/dummy → rails_test/common}/db/migrate/20110228093241_create_platforms.rb +0 -0
  34. data/{spec/dummy → rails_test/common}/db/migrate/20110228094444_create_versions.rb +0 -0
  35. data/{spec/dummy → rails_test/common}/spec/controllers/entities_controller_spec.rb +0 -0
  36. data/{spec/dummy → rails_test/common}/spec/controllers/platforms_controller_spec.rb +0 -0
  37. data/{spec/dummy → rails_test/common}/spec/helpers/entities_helper_spec.rb +0 -0
  38. data/{spec/dummy → rails_test/common}/spec/helpers/platforms_helper_spec.rb +0 -0
  39. data/{spec/dummy → rails_test/common}/spec/integration/navigation_spec.rb +1 -1
  40. data/{spec/dummy → rails_test/common}/spec/integration/paper_trail_manager_spec.rb +28 -21
  41. data/{spec/dummy → rails_test/common}/spec/models/entity_spec.rb +0 -0
  42. data/{spec/dummy → rails_test/common}/spec/models/platform_spec.rb +0 -0
  43. data/{spec/dummy → rails_test/common}/spec/requests/entities_spec.rb +0 -0
  44. data/{spec/dummy → rails_test/common}/spec/requests/platforms_spec.rb +0 -0
  45. data/{spec/dummy → rails_test/common}/spec/routing/entities_routing_spec.rb +0 -0
  46. data/{spec/dummy → rails_test/common}/spec/routing/platforms_routing_spec.rb +0 -0
  47. data/rails_test/common/spec/spec_helper.rb +32 -0
  48. data/{spec → rails_test/common/spec}/support/factories.rb +0 -0
  49. data/{spec/dummy → rails_test/common}/spec/views/entities/edit.html.erb_spec.rb +0 -0
  50. data/{spec/dummy → rails_test/common}/spec/views/entities/index.html.erb_spec.rb +0 -0
  51. data/{spec/dummy → rails_test/common}/spec/views/entities/new.html.erb_spec.rb +0 -0
  52. data/{spec/dummy → rails_test/common}/spec/views/entities/show.html.erb_spec.rb +0 -0
  53. data/{spec/dummy → rails_test/common}/spec/views/platforms/edit.html.erb_spec.rb +0 -0
  54. data/{spec/dummy → rails_test/common}/spec/views/platforms/index.html.erb_spec.rb +0 -0
  55. data/{spec/dummy → rails_test/common}/spec/views/platforms/new.html.erb_spec.rb +0 -0
  56. data/{spec/dummy → rails_test/common}/spec/views/platforms/show.html.erb_spec.rb +0 -0
  57. data/rails_test/generate_test_directory +59 -0
  58. data/rails_test/rails-3.0.17/.gitignore +4 -0
  59. data/rails_test/rails-3.0.17/README +256 -0
  60. data/{spec/dummy → rails_test/rails-3.0.17}/Rakefile +1 -1
  61. data/rails_test/rails-3.0.17/app/controllers/application_controller.rb +6 -0
  62. data/rails_test/rails-3.0.17/app/controllers/entities_controller.rb +83 -0
  63. data/rails_test/rails-3.0.17/app/controllers/platforms_controller.rb +83 -0
  64. data/rails_test/rails-3.0.17/app/helpers/application_helper.rb +2 -0
  65. data/rails_test/rails-3.0.17/app/helpers/entities_helper.rb +2 -0
  66. data/rails_test/rails-3.0.17/app/helpers/platforms_helper.rb +2 -0
  67. data/rails_test/rails-3.0.17/app/models/entity.rb +8 -0
  68. data/rails_test/rails-3.0.17/app/models/platform.rb +8 -0
  69. data/rails_test/rails-3.0.17/app/views/application/index.html.erb +6 -0
  70. data/rails_test/rails-3.0.17/app/views/entities/_form.html.erb +17 -0
  71. data/rails_test/rails-3.0.17/app/views/entities/edit.html.erb +6 -0
  72. data/rails_test/rails-3.0.17/app/views/entities/index.html.erb +21 -0
  73. data/rails_test/rails-3.0.17/app/views/entities/new.html.erb +5 -0
  74. data/rails_test/rails-3.0.17/app/views/entities/show.html.erb +5 -0
  75. data/rails_test/rails-3.0.17/app/views/layouts/application.html.erb +14 -0
  76. data/rails_test/rails-3.0.17/app/views/platforms/_form.html.erb +17 -0
  77. data/rails_test/rails-3.0.17/app/views/platforms/edit.html.erb +6 -0
  78. data/rails_test/rails-3.0.17/app/views/platforms/index.html.erb +21 -0
  79. data/rails_test/rails-3.0.17/app/views/platforms/new.html.erb +5 -0
  80. data/rails_test/rails-3.0.17/app/views/platforms/show.html.erb +5 -0
  81. data/rails_test/rails-3.0.17/config.ru +4 -0
  82. data/{spec/dummy → rails_test/rails-3.0.17}/config/application.rb +5 -8
  83. data/rails_test/rails-3.0.17/config/boot.rb +6 -0
  84. data/rails_test/rails-3.0.17/config/database.yml +22 -0
  85. data/rails_test/rails-3.0.17/config/environment.rb +5 -0
  86. data/{spec/dummy → rails_test/rails-3.0.17}/config/environments/development.rb +1 -1
  87. data/{spec/dummy → rails_test/rails-3.0.17}/config/environments/production.rb +1 -1
  88. data/{spec/dummy → rails_test/rails-3.0.17}/config/environments/test.rb +1 -1
  89. data/{spec/dummy → rails_test/rails-3.0.17}/config/initializers/backtrace_silencers.rb +0 -0
  90. data/{spec/dummy → rails_test/rails-3.0.17}/config/initializers/inflections.rb +0 -0
  91. data/{spec/dummy → rails_test/rails-3.0.17}/config/initializers/mime_types.rb +0 -0
  92. data/rails_test/rails-3.0.17/config/initializers/secret_token.rb +7 -0
  93. data/rails_test/rails-3.0.17/config/initializers/session_store.rb +8 -0
  94. data/{spec/dummy → rails_test/rails-3.0.17}/config/locales/en.yml +0 -0
  95. data/rails_test/rails-3.0.17/config/routes.rb +8 -0
  96. data/rails_test/rails-3.0.17/db/migrate/20110228091428_create_entities.rb +14 -0
  97. data/rails_test/rails-3.0.17/db/migrate/20110228093241_create_platforms.rb +14 -0
  98. data/rails_test/rails-3.0.17/db/migrate/20110228094444_create_versions.rb +18 -0
  99. data/{spec/dummy → rails_test/rails-3.0.17}/db/schema.rb +0 -0
  100. data/rails_test/rails-3.0.17/db/seeds.rb +7 -0
  101. data/rails_test/rails-3.0.17/doc/README_FOR_APP +2 -0
  102. data/{spec/dummy/public/favicon.ico → rails_test/rails-3.0.17/lib/tasks/.gitkeep} +0 -0
  103. data/{spec/dummy → rails_test/rails-3.0.17}/public/404.html +0 -0
  104. data/{spec/dummy → rails_test/rails-3.0.17}/public/422.html +0 -0
  105. data/{spec/dummy → rails_test/rails-3.0.17}/public/500.html +0 -0
  106. data/rails_test/rails-3.0.17/public/favicon.ico +0 -0
  107. data/rails_test/rails-3.0.17/public/images/rails.png +0 -0
  108. data/rails_test/rails-3.0.17/public/index.html +239 -0
  109. data/{spec/dummy → rails_test/rails-3.0.17}/public/javascripts/application.js +0 -0
  110. data/{spec/dummy → rails_test/rails-3.0.17}/public/javascripts/controls.js +0 -0
  111. data/{spec/dummy → rails_test/rails-3.0.17}/public/javascripts/dragdrop.js +0 -0
  112. data/{spec/dummy → rails_test/rails-3.0.17}/public/javascripts/effects.js +0 -0
  113. data/{spec/dummy → rails_test/rails-3.0.17}/public/javascripts/prototype.js +0 -0
  114. data/rails_test/rails-3.0.17/public/javascripts/rails.js +202 -0
  115. data/rails_test/rails-3.0.17/public/robots.txt +5 -0
  116. data/rails_test/rails-3.0.17/public/stylesheets/.gitkeep +0 -0
  117. data/{spec/dummy → rails_test/rails-3.0.17}/script/rails +0 -0
  118. data/rails_test/rails-3.0.17/spec/controllers/entities_controller_spec.rb +125 -0
  119. data/rails_test/rails-3.0.17/spec/controllers/platforms_controller_spec.rb +125 -0
  120. data/rails_test/rails-3.0.17/spec/helpers/entities_helper_spec.rb +15 -0
  121. data/rails_test/rails-3.0.17/spec/helpers/platforms_helper_spec.rb +15 -0
  122. data/rails_test/rails-3.0.17/spec/integration/navigation_spec.rb +7 -0
  123. data/rails_test/rails-3.0.17/spec/integration/paper_trail_manager_spec.rb +232 -0
  124. data/rails_test/rails-3.0.17/spec/models/entity_spec.rb +14 -0
  125. data/rails_test/rails-3.0.17/spec/models/platform_spec.rb +14 -0
  126. data/rails_test/rails-3.0.17/spec/requests/entities_spec.rb +11 -0
  127. data/rails_test/rails-3.0.17/spec/requests/platforms_spec.rb +11 -0
  128. data/rails_test/rails-3.0.17/spec/routing/entities_routing_spec.rb +35 -0
  129. data/rails_test/rails-3.0.17/spec/routing/platforms_routing_spec.rb +35 -0
  130. data/rails_test/rails-3.0.17/spec/spec_helper.rb +32 -0
  131. data/rails_test/rails-3.0.17/spec/support/factories.rb +14 -0
  132. data/rails_test/rails-3.0.17/spec/views/entities/edit.html.erb_spec.rb +15 -0
  133. data/rails_test/rails-3.0.17/spec/views/entities/index.html.erb_spec.rb +14 -0
  134. data/rails_test/rails-3.0.17/spec/views/entities/new.html.erb_spec.rb +15 -0
  135. data/rails_test/rails-3.0.17/spec/views/entities/show.html.erb_spec.rb +11 -0
  136. data/rails_test/rails-3.0.17/spec/views/platforms/edit.html.erb_spec.rb +15 -0
  137. data/rails_test/rails-3.0.17/spec/views/platforms/index.html.erb_spec.rb +14 -0
  138. data/rails_test/rails-3.0.17/spec/views/platforms/new.html.erb_spec.rb +15 -0
  139. data/rails_test/rails-3.0.17/spec/views/platforms/show.html.erb_spec.rb +11 -0
  140. data/rails_test/rails-3.0.17/test/performance/browsing_test.rb +9 -0
  141. data/rails_test/rails-3.0.17/test/test_helper.rb +13 -0
  142. data/rails_test/rails-3.0.17/vendor/plugins/.gitkeep +0 -0
  143. data/rails_test/rails-3.1.8/.gitignore +15 -0
  144. data/rails_test/rails-3.1.8/README +261 -0
  145. data/rails_test/rails-3.1.8/Rakefile +7 -0
  146. data/rails_test/rails-3.1.8/app/assets/images/rails.png +0 -0
  147. data/rails_test/rails-3.1.8/app/assets/javascripts/application.js +9 -0
  148. data/rails_test/rails-3.1.8/app/assets/stylesheets/application.css +7 -0
  149. data/rails_test/rails-3.1.8/app/controllers/application_controller.rb +6 -0
  150. data/rails_test/rails-3.1.8/app/controllers/entities_controller.rb +83 -0
  151. data/rails_test/rails-3.1.8/app/controllers/platforms_controller.rb +83 -0
  152. data/rails_test/rails-3.1.8/app/helpers/application_helper.rb +2 -0
  153. data/rails_test/rails-3.1.8/app/helpers/entities_helper.rb +2 -0
  154. data/rails_test/rails-3.1.8/app/helpers/platforms_helper.rb +2 -0
  155. data/rails_test/rails-3.1.8/app/mailers/.gitkeep +0 -0
  156. data/rails_test/rails-3.1.8/app/models/.gitkeep +0 -0
  157. data/rails_test/rails-3.1.8/app/models/entity.rb +8 -0
  158. data/rails_test/rails-3.1.8/app/models/platform.rb +8 -0
  159. data/rails_test/rails-3.1.8/app/views/application/index.html.erb +6 -0
  160. data/rails_test/rails-3.1.8/app/views/entities/_form.html.erb +17 -0
  161. data/rails_test/rails-3.1.8/app/views/entities/edit.html.erb +6 -0
  162. data/rails_test/rails-3.1.8/app/views/entities/index.html.erb +21 -0
  163. data/rails_test/rails-3.1.8/app/views/entities/new.html.erb +5 -0
  164. data/rails_test/rails-3.1.8/app/views/entities/show.html.erb +5 -0
  165. data/rails_test/rails-3.1.8/app/views/layouts/application.html.erb +14 -0
  166. data/rails_test/rails-3.1.8/app/views/platforms/_form.html.erb +17 -0
  167. data/rails_test/rails-3.1.8/app/views/platforms/edit.html.erb +6 -0
  168. data/rails_test/rails-3.1.8/app/views/platforms/index.html.erb +21 -0
  169. data/rails_test/rails-3.1.8/app/views/platforms/new.html.erb +5 -0
  170. data/rails_test/rails-3.1.8/app/views/platforms/show.html.erb +5 -0
  171. data/{spec/dummy → rails_test/rails-3.1.8}/config.ru +1 -1
  172. data/rails_test/rails-3.1.8/config/application.rb +48 -0
  173. data/rails_test/rails-3.1.8/config/boot.rb +6 -0
  174. data/rails_test/rails-3.1.8/config/database.yml +22 -0
  175. data/{spec/dummy → rails_test/rails-3.1.8}/config/environment.rb +1 -1
  176. data/rails_test/rails-3.1.8/config/environments/development.rb +30 -0
  177. data/rails_test/rails-3.1.8/config/environments/production.rb +60 -0
  178. data/rails_test/rails-3.1.8/config/environments/test.rb +39 -0
  179. data/rails_test/rails-3.1.8/config/initializers/backtrace_silencers.rb +7 -0
  180. data/rails_test/rails-3.1.8/config/initializers/inflections.rb +10 -0
  181. data/rails_test/rails-3.1.8/config/initializers/mime_types.rb +5 -0
  182. data/{spec/dummy → rails_test/rails-3.1.8}/config/initializers/secret_token.rb +1 -1
  183. data/{spec/dummy → rails_test/rails-3.1.8}/config/initializers/session_store.rb +2 -2
  184. data/rails_test/rails-3.1.8/config/initializers/wrap_parameters.rb +14 -0
  185. data/rails_test/rails-3.1.8/config/locales/en.yml +5 -0
  186. data/rails_test/rails-3.1.8/config/routes.rb +8 -0
  187. data/rails_test/rails-3.1.8/db/migrate/20110228091428_create_entities.rb +14 -0
  188. data/rails_test/rails-3.1.8/db/migrate/20110228093241_create_platforms.rb +14 -0
  189. data/rails_test/rails-3.1.8/db/migrate/20110228094444_create_versions.rb +18 -0
  190. data/rails_test/rails-3.1.8/db/schema.rb +40 -0
  191. data/rails_test/rails-3.1.8/db/seeds.rb +7 -0
  192. data/rails_test/rails-3.1.8/doc/README_FOR_APP +2 -0
  193. data/rails_test/rails-3.1.8/lib/assets/.gitkeep +0 -0
  194. data/rails_test/rails-3.1.8/lib/tasks/.gitkeep +0 -0
  195. data/rails_test/rails-3.1.8/log/.gitkeep +0 -0
  196. data/rails_test/rails-3.1.8/public/404.html +26 -0
  197. data/rails_test/rails-3.1.8/public/422.html +26 -0
  198. data/rails_test/rails-3.1.8/public/500.html +26 -0
  199. data/rails_test/rails-3.1.8/public/favicon.ico +0 -0
  200. data/rails_test/rails-3.1.8/public/index.html +241 -0
  201. data/rails_test/rails-3.1.8/public/robots.txt +5 -0
  202. data/rails_test/rails-3.1.8/script/rails +6 -0
  203. data/rails_test/rails-3.1.8/spec/controllers/entities_controller_spec.rb +125 -0
  204. data/rails_test/rails-3.1.8/spec/controllers/platforms_controller_spec.rb +125 -0
  205. data/rails_test/rails-3.1.8/spec/helpers/entities_helper_spec.rb +15 -0
  206. data/rails_test/rails-3.1.8/spec/helpers/platforms_helper_spec.rb +15 -0
  207. data/rails_test/rails-3.1.8/spec/integration/navigation_spec.rb +7 -0
  208. data/rails_test/rails-3.1.8/spec/integration/paper_trail_manager_spec.rb +232 -0
  209. data/rails_test/rails-3.1.8/spec/models/entity_spec.rb +14 -0
  210. data/rails_test/rails-3.1.8/spec/models/platform_spec.rb +14 -0
  211. data/rails_test/rails-3.1.8/spec/requests/entities_spec.rb +11 -0
  212. data/rails_test/rails-3.1.8/spec/requests/platforms_spec.rb +11 -0
  213. data/rails_test/rails-3.1.8/spec/routing/entities_routing_spec.rb +35 -0
  214. data/rails_test/rails-3.1.8/spec/routing/platforms_routing_spec.rb +35 -0
  215. data/rails_test/rails-3.1.8/spec/spec_helper.rb +32 -0
  216. data/rails_test/rails-3.1.8/spec/support/factories.rb +14 -0
  217. data/rails_test/rails-3.1.8/spec/views/entities/edit.html.erb_spec.rb +15 -0
  218. data/rails_test/rails-3.1.8/spec/views/entities/index.html.erb_spec.rb +14 -0
  219. data/rails_test/rails-3.1.8/spec/views/entities/new.html.erb_spec.rb +15 -0
  220. data/rails_test/rails-3.1.8/spec/views/entities/show.html.erb_spec.rb +11 -0
  221. data/rails_test/rails-3.1.8/spec/views/platforms/edit.html.erb_spec.rb +15 -0
  222. data/rails_test/rails-3.1.8/spec/views/platforms/index.html.erb_spec.rb +14 -0
  223. data/rails_test/rails-3.1.8/spec/views/platforms/new.html.erb_spec.rb +15 -0
  224. data/rails_test/rails-3.1.8/spec/views/platforms/show.html.erb_spec.rb +11 -0
  225. data/rails_test/rails-3.1.8/test/fixtures/.gitkeep +0 -0
  226. data/rails_test/rails-3.1.8/test/functional/.gitkeep +0 -0
  227. data/rails_test/rails-3.1.8/test/integration/.gitkeep +0 -0
  228. data/rails_test/rails-3.1.8/test/performance/browsing_test.rb +12 -0
  229. data/rails_test/rails-3.1.8/test/test_helper.rb +13 -0
  230. data/rails_test/rails-3.1.8/test/unit/.gitkeep +0 -0
  231. data/rails_test/rails-3.1.8/vendor/assets/stylesheets/.gitkeep +0 -0
  232. data/rails_test/rails-3.1.8/vendor/plugins/.gitkeep +0 -0
  233. data/rails_test/rails-3.2.8/.gitignore +15 -0
  234. data/rails_test/rails-3.2.8/README.rdoc +261 -0
  235. data/rails_test/rails-3.2.8/Rakefile +7 -0
  236. data/rails_test/rails-3.2.8/app/assets/images/rails.png +0 -0
  237. data/rails_test/rails-3.2.8/app/assets/javascripts/application.js +15 -0
  238. data/rails_test/rails-3.2.8/app/assets/stylesheets/application.css +13 -0
  239. data/rails_test/rails-3.2.8/app/controllers/application_controller.rb +6 -0
  240. data/rails_test/rails-3.2.8/app/controllers/entities_controller.rb +83 -0
  241. data/rails_test/rails-3.2.8/app/controllers/platforms_controller.rb +83 -0
  242. data/rails_test/rails-3.2.8/app/helpers/application_helper.rb +2 -0
  243. data/rails_test/rails-3.2.8/app/helpers/entities_helper.rb +2 -0
  244. data/rails_test/rails-3.2.8/app/helpers/platforms_helper.rb +2 -0
  245. data/rails_test/rails-3.2.8/app/mailers/.gitkeep +0 -0
  246. data/rails_test/rails-3.2.8/app/models/.gitkeep +0 -0
  247. data/rails_test/rails-3.2.8/app/models/entity.rb +8 -0
  248. data/rails_test/rails-3.2.8/app/models/platform.rb +8 -0
  249. data/rails_test/rails-3.2.8/app/views/application/index.html.erb +6 -0
  250. data/rails_test/rails-3.2.8/app/views/entities/_form.html.erb +17 -0
  251. data/rails_test/rails-3.2.8/app/views/entities/edit.html.erb +6 -0
  252. data/rails_test/rails-3.2.8/app/views/entities/index.html.erb +21 -0
  253. data/rails_test/rails-3.2.8/app/views/entities/new.html.erb +5 -0
  254. data/rails_test/rails-3.2.8/app/views/entities/show.html.erb +5 -0
  255. data/rails_test/rails-3.2.8/app/views/layouts/application.html.erb +14 -0
  256. data/rails_test/rails-3.2.8/app/views/platforms/_form.html.erb +17 -0
  257. data/rails_test/rails-3.2.8/app/views/platforms/edit.html.erb +6 -0
  258. data/rails_test/rails-3.2.8/app/views/platforms/index.html.erb +21 -0
  259. data/rails_test/rails-3.2.8/app/views/platforms/new.html.erb +5 -0
  260. data/rails_test/rails-3.2.8/app/views/platforms/show.html.erb +5 -0
  261. data/rails_test/rails-3.2.8/config.ru +4 -0
  262. data/rails_test/rails-3.2.8/config/application.rb +62 -0
  263. data/rails_test/rails-3.2.8/config/boot.rb +6 -0
  264. data/rails_test/rails-3.2.8/config/database.yml +22 -0
  265. data/rails_test/rails-3.2.8/config/environment.rb +5 -0
  266. data/rails_test/rails-3.2.8/config/environments/development.rb +37 -0
  267. data/rails_test/rails-3.2.8/config/environments/production.rb +67 -0
  268. data/rails_test/rails-3.2.8/config/environments/test.rb +37 -0
  269. data/rails_test/rails-3.2.8/config/initializers/backtrace_silencers.rb +7 -0
  270. data/rails_test/rails-3.2.8/config/initializers/inflections.rb +15 -0
  271. data/rails_test/rails-3.2.8/config/initializers/mime_types.rb +5 -0
  272. data/rails_test/rails-3.2.8/config/initializers/secret_token.rb +7 -0
  273. data/rails_test/rails-3.2.8/config/initializers/session_store.rb +8 -0
  274. data/rails_test/rails-3.2.8/config/initializers/wrap_parameters.rb +14 -0
  275. data/rails_test/rails-3.2.8/config/locales/en.yml +5 -0
  276. data/rails_test/rails-3.2.8/config/routes.rb +8 -0
  277. data/rails_test/rails-3.2.8/db/migrate/20110228091428_create_entities.rb +14 -0
  278. data/rails_test/rails-3.2.8/db/migrate/20110228093241_create_platforms.rb +14 -0
  279. data/rails_test/rails-3.2.8/db/migrate/20110228094444_create_versions.rb +18 -0
  280. data/rails_test/rails-3.2.8/db/schema.rb +40 -0
  281. data/rails_test/rails-3.2.8/db/seeds.rb +7 -0
  282. data/rails_test/rails-3.2.8/doc/README_FOR_APP +2 -0
  283. data/rails_test/rails-3.2.8/lib/assets/.gitkeep +0 -0
  284. data/rails_test/rails-3.2.8/lib/tasks/.gitkeep +0 -0
  285. data/rails_test/rails-3.2.8/log/.gitkeep +0 -0
  286. data/rails_test/rails-3.2.8/public/404.html +26 -0
  287. data/rails_test/rails-3.2.8/public/422.html +26 -0
  288. data/rails_test/rails-3.2.8/public/500.html +25 -0
  289. data/rails_test/rails-3.2.8/public/favicon.ico +0 -0
  290. data/rails_test/rails-3.2.8/public/index.html +241 -0
  291. data/rails_test/rails-3.2.8/public/robots.txt +5 -0
  292. data/rails_test/rails-3.2.8/script/rails +6 -0
  293. data/rails_test/rails-3.2.8/spec/controllers/entities_controller_spec.rb +125 -0
  294. data/rails_test/rails-3.2.8/spec/controllers/platforms_controller_spec.rb +125 -0
  295. data/rails_test/rails-3.2.8/spec/helpers/entities_helper_spec.rb +15 -0
  296. data/rails_test/rails-3.2.8/spec/helpers/platforms_helper_spec.rb +15 -0
  297. data/rails_test/rails-3.2.8/spec/integration/navigation_spec.rb +7 -0
  298. data/rails_test/rails-3.2.8/spec/integration/paper_trail_manager_spec.rb +232 -0
  299. data/rails_test/rails-3.2.8/spec/models/entity_spec.rb +14 -0
  300. data/rails_test/rails-3.2.8/spec/models/platform_spec.rb +14 -0
  301. data/rails_test/rails-3.2.8/spec/requests/entities_spec.rb +11 -0
  302. data/rails_test/rails-3.2.8/spec/requests/platforms_spec.rb +11 -0
  303. data/rails_test/rails-3.2.8/spec/routing/entities_routing_spec.rb +35 -0
  304. data/rails_test/rails-3.2.8/spec/routing/platforms_routing_spec.rb +35 -0
  305. data/rails_test/rails-3.2.8/spec/spec_helper.rb +32 -0
  306. data/rails_test/rails-3.2.8/spec/support/factories.rb +14 -0
  307. data/rails_test/rails-3.2.8/spec/views/entities/edit.html.erb_spec.rb +15 -0
  308. data/rails_test/rails-3.2.8/spec/views/entities/index.html.erb_spec.rb +14 -0
  309. data/rails_test/rails-3.2.8/spec/views/entities/new.html.erb_spec.rb +15 -0
  310. data/rails_test/rails-3.2.8/spec/views/entities/show.html.erb_spec.rb +11 -0
  311. data/rails_test/rails-3.2.8/spec/views/platforms/edit.html.erb_spec.rb +15 -0
  312. data/rails_test/rails-3.2.8/spec/views/platforms/index.html.erb_spec.rb +14 -0
  313. data/rails_test/rails-3.2.8/spec/views/platforms/new.html.erb_spec.rb +15 -0
  314. data/rails_test/rails-3.2.8/spec/views/platforms/show.html.erb_spec.rb +11 -0
  315. data/rails_test/rails-3.2.8/test/fixtures/.gitkeep +0 -0
  316. data/rails_test/rails-3.2.8/test/functional/.gitkeep +0 -0
  317. data/rails_test/rails-3.2.8/test/integration/.gitkeep +0 -0
  318. data/rails_test/rails-3.2.8/test/performance/browsing_test.rb +12 -0
  319. data/rails_test/rails-3.2.8/test/test_helper.rb +13 -0
  320. data/rails_test/rails-3.2.8/test/unit/.gitkeep +0 -0
  321. data/rails_test/rails-3.2.8/vendor/assets/javascripts/.gitkeep +0 -0
  322. data/rails_test/rails-3.2.8/vendor/assets/stylesheets/.gitkeep +0 -0
  323. data/rails_test/rails-3.2.8/vendor/plugins/.gitkeep +0 -0
  324. metadata +322 -138
  325. data/spec/controllers/paper_trail_manager/changes_controller_spec.rb +0 -8
  326. data/spec/dummy/config/boot.rb +0 -10
  327. data/spec/dummy/config/routes.rb +0 -64
  328. data/spec/dummy/public/javascripts/rails.js +0 -175
  329. data/spec/dummy/public/stylesheets/changes.css +0 -47
  330. data/spec/paper_trail_manager_spec.rb +0 -7
  331. data/spec/spec_helper.rb +0 -77
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
@@ -0,0 +1,125 @@
1
+ require 'spec_helper'
2
+
3
+ # This spec was generated by rspec-rails when you ran the scaffold generator.
4
+ # It demonstrates how one might use RSpec to specify the controller code that
5
+ # was generated by the Rails when you ran the scaffold generator.
6
+
7
+ describe EntitiesController do
8
+
9
+ def mock_entity(stubs={})
10
+ @mock_entity ||= mock_model(Entity, stubs).as_null_object
11
+ end
12
+
13
+ describe "GET index" do
14
+ it "assigns all entities as @entities" do
15
+ Entity.stub(:all) { [mock_entity] }
16
+ get :index
17
+ assigns(:entities).should eq([mock_entity])
18
+ end
19
+ end
20
+
21
+ describe "GET show" do
22
+ it "assigns the requested entity as @entity" do
23
+ Entity.stub(:find).with("37") { mock_entity }
24
+ get :show, :id => "37"
25
+ assigns(:entity).should be(mock_entity)
26
+ end
27
+ end
28
+
29
+ describe "GET new" do
30
+ it "assigns a new entity as @entity" do
31
+ Entity.stub(:new) { mock_entity }
32
+ get :new
33
+ assigns(:entity).should be(mock_entity)
34
+ end
35
+ end
36
+
37
+ describe "GET edit" do
38
+ it "assigns the requested entity as @entity" do
39
+ Entity.stub(:find).with("37") { mock_entity }
40
+ get :edit, :id => "37"
41
+ assigns(:entity).should be(mock_entity)
42
+ end
43
+ end
44
+
45
+ describe "POST create" do
46
+ describe "with valid params" do
47
+ it "assigns a newly created entity as @entity" do
48
+ Entity.stub(:new).with({'these' => 'params'}) { mock_entity(:save => true) }
49
+ post :create, :entity => {'these' => 'params'}
50
+ assigns(:entity).should be(mock_entity)
51
+ end
52
+
53
+ it "redirects to the created entity" do
54
+ Entity.stub(:new) { mock_entity(:save => true) }
55
+ post :create, :entity => {}
56
+ response.should redirect_to(entity_url(mock_entity))
57
+ end
58
+ end
59
+
60
+ describe "with invalid params" do
61
+ it "assigns a newly created but unsaved entity as @entity" do
62
+ Entity.stub(:new).with({'these' => 'params'}) { mock_entity(:save => false) }
63
+ post :create, :entity => {'these' => 'params'}
64
+ assigns(:entity).should be(mock_entity)
65
+ end
66
+
67
+ it "re-renders the 'new' template" do
68
+ Entity.stub(:new) { mock_entity(:save => false) }
69
+ post :create, :entity => {}
70
+ response.should render_template("new")
71
+ end
72
+ end
73
+ end
74
+
75
+ describe "PUT update" do
76
+ describe "with valid params" do
77
+ it "updates the requested entity" do
78
+ Entity.stub(:find).with("37") { mock_entity }
79
+ mock_entity.should_receive(:update_attributes).with({'these' => 'params'})
80
+ put :update, :id => "37", :entity => {'these' => 'params'}
81
+ end
82
+
83
+ it "assigns the requested entity as @entity" do
84
+ Entity.stub(:find) { mock_entity(:update_attributes => true) }
85
+ put :update, :id => "1"
86
+ assigns(:entity).should be(mock_entity)
87
+ end
88
+
89
+ it "redirects to the entity" do
90
+ Entity.stub(:find) { mock_entity(:update_attributes => true) }
91
+ put :update, :id => "1"
92
+ response.should redirect_to(entity_url(mock_entity))
93
+ end
94
+ end
95
+
96
+ describe "with invalid params" do
97
+ it "assigns the entity as @entity" do
98
+ Entity.stub(:find) { mock_entity(:update_attributes => false) }
99
+ put :update, :id => "1"
100
+ assigns(:entity).should be(mock_entity)
101
+ end
102
+
103
+ it "re-renders the 'edit' template" do
104
+ Entity.stub(:find) { mock_entity(:update_attributes => false) }
105
+ put :update, :id => "1"
106
+ response.should render_template("edit")
107
+ end
108
+ end
109
+ end
110
+
111
+ describe "DELETE destroy" do
112
+ it "destroys the requested entity" do
113
+ Entity.stub(:find).with("37") { mock_entity }
114
+ mock_entity.should_receive(:destroy)
115
+ delete :destroy, :id => "37"
116
+ end
117
+
118
+ it "redirects to the entities list" do
119
+ Entity.stub(:find) { mock_entity }
120
+ delete :destroy, :id => "1"
121
+ response.should redirect_to(entities_url)
122
+ end
123
+ end
124
+
125
+ end
@@ -0,0 +1,125 @@
1
+ require 'spec_helper'
2
+
3
+ # This spec was generated by rspec-rails when you ran the scaffold generator.
4
+ # It demonstrates how one might use RSpec to specify the controller code that
5
+ # was generated by the Rails when you ran the scaffold generator.
6
+
7
+ describe PlatformsController do
8
+
9
+ def mock_platform(stubs={})
10
+ @mock_platform ||= mock_model(Platform, stubs).as_null_object
11
+ end
12
+
13
+ describe "GET index" do
14
+ it "assigns all platforms as @platforms" do
15
+ Platform.stub(:all) { [mock_platform] }
16
+ get :index
17
+ assigns(:platforms).should eq([mock_platform])
18
+ end
19
+ end
20
+
21
+ describe "GET show" do
22
+ it "assigns the requested platform as @platform" do
23
+ Platform.stub(:find).with("37") { mock_platform }
24
+ get :show, :id => "37"
25
+ assigns(:platform).should be(mock_platform)
26
+ end
27
+ end
28
+
29
+ describe "GET new" do
30
+ it "assigns a new platform as @platform" do
31
+ Platform.stub(:new) { mock_platform }
32
+ get :new
33
+ assigns(:platform).should be(mock_platform)
34
+ end
35
+ end
36
+
37
+ describe "GET edit" do
38
+ it "assigns the requested platform as @platform" do
39
+ Platform.stub(:find).with("37") { mock_platform }
40
+ get :edit, :id => "37"
41
+ assigns(:platform).should be(mock_platform)
42
+ end
43
+ end
44
+
45
+ describe "POST create" do
46
+ describe "with valid params" do
47
+ it "assigns a newly created platform as @platform" do
48
+ Platform.stub(:new).with({'these' => 'params'}) { mock_platform(:save => true) }
49
+ post :create, :platform => {'these' => 'params'}
50
+ assigns(:platform).should be(mock_platform)
51
+ end
52
+
53
+ it "redirects to the created platform" do
54
+ Platform.stub(:new) { mock_platform(:save => true) }
55
+ post :create, :platform => {}
56
+ response.should redirect_to(platform_url(mock_platform))
57
+ end
58
+ end
59
+
60
+ describe "with invalid params" do
61
+ it "assigns a newly created but unsaved platform as @platform" do
62
+ Platform.stub(:new).with({'these' => 'params'}) { mock_platform(:save => false) }
63
+ post :create, :platform => {'these' => 'params'}
64
+ assigns(:platform).should be(mock_platform)
65
+ end
66
+
67
+ it "re-renders the 'new' template" do
68
+ Platform.stub(:new) { mock_platform(:save => false) }
69
+ post :create, :platform => {}
70
+ response.should render_template("new")
71
+ end
72
+ end
73
+ end
74
+
75
+ describe "PUT update" do
76
+ describe "with valid params" do
77
+ it "updates the requested platform" do
78
+ Platform.stub(:find).with("37") { mock_platform }
79
+ mock_platform.should_receive(:update_attributes).with({'these' => 'params'})
80
+ put :update, :id => "37", :platform => {'these' => 'params'}
81
+ end
82
+
83
+ it "assigns the requested platform as @platform" do
84
+ Platform.stub(:find) { mock_platform(:update_attributes => true) }
85
+ put :update, :id => "1"
86
+ assigns(:platform).should be(mock_platform)
87
+ end
88
+
89
+ it "redirects to the platform" do
90
+ Platform.stub(:find) { mock_platform(:update_attributes => true) }
91
+ put :update, :id => "1"
92
+ response.should redirect_to(platform_url(mock_platform))
93
+ end
94
+ end
95
+
96
+ describe "with invalid params" do
97
+ it "assigns the platform as @platform" do
98
+ Platform.stub(:find) { mock_platform(:update_attributes => false) }
99
+ put :update, :id => "1"
100
+ assigns(:platform).should be(mock_platform)
101
+ end
102
+
103
+ it "re-renders the 'edit' template" do
104
+ Platform.stub(:find) { mock_platform(:update_attributes => false) }
105
+ put :update, :id => "1"
106
+ response.should render_template("edit")
107
+ end
108
+ end
109
+ end
110
+
111
+ describe "DELETE destroy" do
112
+ it "destroys the requested platform" do
113
+ Platform.stub(:find).with("37") { mock_platform }
114
+ mock_platform.should_receive(:destroy)
115
+ delete :destroy, :id => "37"
116
+ end
117
+
118
+ it "redirects to the platforms list" do
119
+ Platform.stub(:find) { mock_platform }
120
+ delete :destroy, :id => "1"
121
+ response.should redirect_to(platforms_url)
122
+ end
123
+ end
124
+
125
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ # Specs in this file have access to a helper object that includes
4
+ # the EntitiesHelper. For example:
5
+ #
6
+ # describe EntitiesHelper do
7
+ # describe "string concat" do
8
+ # it "concats two strings with spaces" do
9
+ # helper.concat_strings("this","that").should == "this that"
10
+ # end
11
+ # end
12
+ # end
13
+ describe EntitiesHelper do
14
+ #IK# pending "add some examples to (or delete) #{__FILE__}"
15
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ # Specs in this file have access to a helper object that includes
4
+ # the PlatformsHelper. For example:
5
+ #
6
+ # describe PlatformsHelper do
7
+ # describe "string concat" do
8
+ # it "concats two strings with spaces" do
9
+ # helper.concat_strings("this","that").should == "this that"
10
+ # end
11
+ # end
12
+ # end
13
+ describe PlatformsHelper do
14
+ #IK# pending "add some examples to (or delete) #{__FILE__}"
15
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Navigation" do
4
+ it "should be a valid app" do
5
+ ::Rails.application.should be_a_kind_of(Rails::Application)
6
+ end
7
+ end
@@ -0,0 +1,232 @@
1
+ require 'spec_helper'
2
+
3
+ describe PaperTrailManager do
4
+ def version
5
+ return assigns[:version]
6
+ end
7
+
8
+ def versions
9
+ return assigns[:versions]
10
+ end
11
+
12
+ def item_types
13
+ return versions.map(&:item_type).uniq.sort
14
+ end
15
+
16
+ def populate
17
+ @reimu = FactoryGirl.create(:entity, :name => "Miko Hakurei Reimu", :status => "Highly Responsive to Prayers")
18
+ @reimu.update_attributes(:name => "Hakurei Reimu", :status => "Phantasmagoria of Dimensional Dream")
19
+ @reimu.update_attributes(:status => "Perfect Cherry Blossom")
20
+
21
+ @sakuya = FactoryGirl.create(:entity, :name => "Sakuya Izayoi", :status => "Flowering Night")
22
+
23
+ @flanchan = FactoryGirl.create(:entity, :name => "Flandre Scarlet", :status => "The Embodiment of Scarlet Devil")
24
+ @flanchan.destroy
25
+
26
+ @kyuu_hachi = FactoryGirl.create(:platform, :name => "PC-9801", :status => "SUGOI!!1!")
27
+ @kyuu_hachi.update_attributes(:status => "Kimochi warui.")
28
+ @kyuu_hachi.destroy
29
+
30
+ @uinodouzu = FactoryGirl.create(:platform, :name => "Mikorusofto Uinodouzu", :status => 'o-O')
31
+ end
32
+
33
+ context "without changes" do
34
+ context "index" do
35
+ it "should have no changes by default" do
36
+ get "/changes"
37
+
38
+ assigns[:versions].should be_empty
39
+ end
40
+ end
41
+ end
42
+
43
+ context "with changes" do
44
+ before(:all) do
45
+ populate
46
+ end
47
+
48
+ after(:all) do
49
+ Entity.destroy_all
50
+ Platform.destroy_all
51
+ Version.destroy_all
52
+ end
53
+
54
+ context "index" do
55
+ context "when getting all changes" do
56
+ context "and authorized" do
57
+ context "and getting default index" do
58
+ before(:all) { get changes_path }
59
+
60
+ it "should have all changes" do
61
+ versions.size.should == 10
62
+ end
63
+
64
+ it "should have changes for all changed item types" do
65
+ item_types.should == ["Entity", "Platform"]
66
+ end
67
+
68
+ it "should order changes with newest and highest id at the top" do
69
+ versions.map(&:id).should == versions.sort_by { |o| [o.created_at, o.id] }.reverse.map(&:id)
70
+ end
71
+ end
72
+
73
+ context "and getting paginated page" do
74
+ let(:page) { 2 }
75
+ let(:per_page) { 3 }
76
+
77
+ before(:all) { get changes_path(:page => page, :per_page => per_page) }
78
+
79
+ it "should set :page parameter" do
80
+ assigns[:page].should == page
81
+ end
82
+
83
+ it "should set :per_page parameter" do
84
+ assigns[:per_page].should == per_page
85
+ end
86
+
87
+ it "should retrieve only items for page" do
88
+ versions.size.should == per_page
89
+ end
90
+ end
91
+
92
+ context "and getting invalid pagination" do
93
+ before(:all) { get changes_path(:page => "Shanghai", :per_page => "Alice") }
94
+
95
+ it "should set default :page parameter" do
96
+ assigns[:page].should be_nil
97
+ end
98
+
99
+ it "should set default :per_page parameter" do
100
+ assigns[:per_page].should == PaperTrailManager::ChangesController::PER_PAGE
101
+ end
102
+ end
103
+ end
104
+
105
+ # TODO
106
+ # context "when not authorized" do
107
+ # it "should display an error if user is not allowed to list changes"
108
+ # end
109
+ end
110
+
111
+ context "when getting changes for a specific type" do
112
+ context "that exists" do
113
+ before(:all) { get changes_path(:type => "Entity") }
114
+
115
+ it "should show a subset of the changes" do
116
+ versions.size.should == 6
117
+ end
118
+
119
+ it "should have changes only for that type" do
120
+ item_types.should == ["Entity"]
121
+ end
122
+ end
123
+
124
+ # TODO
125
+ # context "that doesn't exist" do
126
+ # it "should display ana error that the type doesn't exist"
127
+ # end
128
+ end
129
+
130
+ context "when getting changes for a specific record" do
131
+ context "that exists" do
132
+ before(:all) { get changes_path(:type => "Entity", :id => @reimu.id) }
133
+
134
+ it "should show a subset of the changes" do
135
+ versions.size.should == 3
136
+ end
137
+
138
+ it "should have changes only for that type" do
139
+ item_types.should == ["Entity"]
140
+ end
141
+
142
+ it "should have changes only for that record" do
143
+ versions.map(&:item_id).uniq.should == [@reimu.id]
144
+ end
145
+ end
146
+
147
+ # TODO
148
+ # context "that doesn't exist" do
149
+ # it "should display an error that the record doesn't exist"
150
+ # end
151
+ end
152
+ end
153
+
154
+ context "show a change" do
155
+ context "that exists" do
156
+ context "when authorized" do
157
+ before(:all) do
158
+ @version = @reimu.versions.last
159
+ get change_path(@version)
160
+ end
161
+
162
+ it "should show the requested change" do
163
+ version.should == @version
164
+ end
165
+
166
+ it "should show a change with the right event" do
167
+ version.event.should == "update"
168
+ end
169
+
170
+ it "should be associated with the expected record" do
171
+ version.item.should == @reimu
172
+ end
173
+ end
174
+
175
+ # TODO
176
+ # context "when not authorized" do
177
+ # it "should display an error if user is not allowed to show the change"
178
+ # end
179
+ end
180
+
181
+ # TODO
182
+ # context "that doesn't exist" do
183
+ # it "should display an error that the change doesn't exist"
184
+ # end
185
+ end
186
+ end
187
+
188
+ context "when rolling back changes" do
189
+ context "that that exist" do
190
+ before(:each) { populate }
191
+
192
+ context "when authorized" do
193
+ it "should rollback a newly-created record by deleting it" do
194
+ Entity.exists?(@reimu.id).should be_true
195
+
196
+ put change_path(@reimu.versions.first)
197
+
198
+ Entity.exists?(@reimu.id).should be_false
199
+ end
200
+
201
+ it "should rollback an edit by reverting to the previous state" do
202
+ @reimu.reload
203
+ @reimu.status.should == "Perfect Cherry Blossom"
204
+
205
+ put change_path(@reimu.versions.last)
206
+
207
+ @reimu.reload
208
+ @reimu.status.should == "Phantasmagoria of Dimensional Dream"
209
+ end
210
+
211
+ it "should rollback a delete by restoring the record" do
212
+ Entity.exists?(@flanchan.id).should be_false
213
+
214
+ put change_path(Version.where(:item_id => @flanchan.id, :item_type => "Entity").last)
215
+
216
+ flanchan = Entity.find(@flanchan.id)
217
+ flanchan.status.should == "The Embodiment of Scarlet Devil"
218
+ end
219
+ end
220
+
221
+ # TODO
222
+ # context "when not authorized" do
223
+ # it "should display an error if user is not allowed to revert that change"
224
+ # end
225
+ end
226
+
227
+ # TODO
228
+ # context "that don't exist" do
229
+ # it "should display an error that the change doesn't exist"
230
+ # end
231
+ end
232
+ end