cmtool 0.4.0 → 2.0.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 (530) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +6 -0
  5. data/Gemfile +51 -0
  6. data/Gemfile.lock +308 -0
  7. data/README.md +157 -0
  8. data/app/assets/images/cmtool/.gitkeep +0 -0
  9. data/app/assets/javascripts/cmtool/application.js.coffee +38 -0
  10. data/app/assets/javascripts/cmtool/collapsible.js.coffee +6 -0
  11. data/app/assets/javascripts/cmtool/emblem.js +6262 -0
  12. data/app/assets/javascripts/cmtool/handlebars.js +2746 -0
  13. data/app/assets/javascripts/cmtool/html_edit.js.coffee +59 -0
  14. data/app/assets/javascripts/cmtool/structure.js.coffee.erb +11 -9
  15. data/app/assets/javascripts/cmtool/yml_edit.js.coffee +21 -0
  16. data/{spec/dummy/tmp/cache/sass/6fd3e79c0fc7956a77d618829b24dd38fd27df09 → app/assets/stylesheets/cmtool/.sass-cache/b5d17fb5f008f2aeb0c48718fa7162f96b9e7cc3}/_jquery-ui.css.sassc +0 -0
  17. data/app/assets/stylesheets/cmtool/application.sass +8 -0
  18. data/app/assets/stylesheets/cmtool/components/_buttons.sass +12 -0
  19. data/app/assets/stylesheets/cmtool/components/_collapsible.sass +13 -0
  20. data/app/assets/stylesheets/cmtool/{directories.css.sass → components/_directories.sass} +0 -0
  21. data/app/assets/stylesheets/cmtool/components/_forms.sass +45 -0
  22. data/app/assets/stylesheets/cmtool/components/_modal.sass +6 -0
  23. data/app/assets/stylesheets/cmtool/{table.css.sass → components/_tables.sass} +1 -2
  24. data/app/assets/stylesheets/cmtool/{form_errors.css.sass → form_errors.sass} +0 -0
  25. data/app/assets/stylesheets/cmtool/foundation_and_overrides.scss +1447 -0
  26. data/app/assets/stylesheets/cmtool/{locale.css.sass → locale.sass} +0 -0
  27. data/app/assets/stylesheets/cmtool/structure.sass +31 -0
  28. data/app/assets/stylesheets/cmtool/{twittered.css.sass → twittered.sass} +0 -0
  29. data/app/assets/stylesheets/cmtool/{user_info.css.sass → user_info.sass} +0 -0
  30. data/app/controllers/cmtool/application_controller.rb +9 -3
  31. data/app/controllers/cmtool/contact_forms_controller.rb +10 -4
  32. data/app/controllers/cmtool/directories_controller.rb +6 -2
  33. data/app/controllers/cmtool/faqs_controller.rb +8 -2
  34. data/app/controllers/cmtool/images_controller.rb +8 -3
  35. data/app/controllers/cmtool/keywords_controller.rb +8 -2
  36. data/app/controllers/cmtool/newsletter_subscriptions_controller.rb +9 -3
  37. data/app/controllers/cmtool/pages_controller.rb +14 -3
  38. data/app/controllers/cmtool/sessions_controller.rb +1 -0
  39. data/app/controllers/cmtool/svg_files_controller.rb +91 -0
  40. data/app/controllers/cmtool/users_controller.rb +8 -6
  41. data/app/controllers/cmtool/yml_files_controller.rb +91 -0
  42. data/app/controllers/concerns/cmtool/controller_glue.rb +11 -0
  43. data/app/helpers/cmtool/application_helper.rb +25 -8
  44. data/app/models/cmtool/contact_form.rb +1 -0
  45. data/app/models/cmtool/directory.rb +4 -4
  46. data/app/models/cmtool/faq.rb +4 -4
  47. data/app/models/cmtool/image.rb +6 -5
  48. data/app/models/cmtool/keyword.rb +2 -2
  49. data/app/models/cmtool/newsletter_subscription.rb +5 -5
  50. data/app/models/cmtool/quote.rb +6 -6
  51. data/app/models/cmtool/yml_file.rb +16 -0
  52. data/app/models/page.rb +1 -0
  53. data/app/views/cmtool/application/_alerts.html.slim +16 -0
  54. data/app/views/cmtool/application/_error_messages.html.slim +6 -0
  55. data/app/views/cmtool/application/_links.html.slim +6 -6
  56. data/app/views/cmtool/application/_menu.html.slim +32 -0
  57. data/app/views/cmtool/contact_forms/{_form.html.haml → _form.html.slim} +0 -0
  58. data/app/views/cmtool/contact_forms/edit.html.slim +7 -0
  59. data/app/views/cmtool/contact_forms/index.html.slim +26 -0
  60. data/app/views/cmtool/contact_forms/{new.html.haml → new.html.slim} +2 -2
  61. data/app/views/cmtool/contact_forms/show.html.slim +21 -0
  62. data/app/views/cmtool/dashboard/index.html.slim +1 -0
  63. data/app/views/cmtool/directories/{_form.html.haml → _form.html.slim} +0 -0
  64. data/app/views/cmtool/directories/_image.html.slim +5 -0
  65. data/app/views/cmtool/directories/edit.html.slim +7 -0
  66. data/app/views/cmtool/directories/index.html.slim +20 -0
  67. data/app/views/cmtool/directories/{new.html.haml → new.html.slim} +2 -2
  68. data/app/views/cmtool/directories/show.html.slim +35 -0
  69. data/app/views/cmtool/faqs/{_form.html.haml → _form.html.slim} +0 -0
  70. data/app/views/cmtool/faqs/edit.html.slim +7 -0
  71. data/app/views/cmtool/faqs/index.html.slim +22 -0
  72. data/app/views/cmtool/faqs/{new.html.haml → new.html.slim} +2 -2
  73. data/app/views/cmtool/faqs/show.html.slim +13 -0
  74. data/app/views/cmtool/images/{_form.html.haml → _form.html.slim} +3 -3
  75. data/app/views/cmtool/images/edit.html.slim +7 -0
  76. data/app/views/cmtool/images/index.html.slim +30 -0
  77. data/app/views/cmtool/images/index.js.erb +8 -3
  78. data/app/views/cmtool/images/{new.html.haml → new.html.slim} +2 -2
  79. data/app/views/cmtool/images/show.html.slim +22 -0
  80. data/app/views/cmtool/keywords/_form.html.slim +7 -0
  81. data/app/views/cmtool/keywords/{_habtm.html.haml → _habtm.html.slim} +1 -1
  82. data/app/views/cmtool/keywords/edit.html.slim +7 -0
  83. data/app/views/cmtool/keywords/index.html.slim +20 -0
  84. data/app/views/cmtool/keywords/{new.html.haml → new.html.slim} +2 -2
  85. data/app/views/cmtool/keywords/show.html.slim +9 -0
  86. data/app/views/cmtool/news/{_form.html.haml → _form.html.slim} +5 -5
  87. data/app/views/cmtool/news/edit.html.slim +9 -0
  88. data/app/views/cmtool/news/index.html.slim +24 -0
  89. data/app/views/cmtool/news/{new.html.haml → new.html.slim} +2 -2
  90. data/app/views/cmtool/news/show.html.slim +28 -0
  91. data/app/views/cmtool/newsletter_subscriptions/{_form.html.haml → _form.html.slim} +0 -0
  92. data/app/views/cmtool/newsletter_subscriptions/edit.html.slim +7 -0
  93. data/app/views/cmtool/newsletter_subscriptions/index.html.slim +24 -0
  94. data/app/views/cmtool/newsletter_subscriptions/{new.html.haml → new.html.slim} +2 -2
  95. data/app/views/cmtool/newsletter_subscriptions/show.html.slim +15 -0
  96. data/app/views/cmtool/pages/_form.html.slim +56 -0
  97. data/app/views/cmtool/pages/_nested_pages.html.slim +10 -0
  98. data/app/views/cmtool/pages/edit.html.slim +9 -0
  99. data/app/views/cmtool/pages/index.html.slim +17 -0
  100. data/app/views/cmtool/pages/{new.html.haml → new.html.slim} +2 -2
  101. data/app/views/cmtool/pages/show.html.slim +39 -0
  102. data/app/views/cmtool/passwords/edit.html.slim +2 -2
  103. data/app/views/cmtool/quotes/{_form.html.haml → _form.html.slim} +3 -3
  104. data/app/views/cmtool/quotes/edit.html.slim +7 -0
  105. data/app/views/cmtool/quotes/index.html.slim +26 -0
  106. data/app/views/cmtool/quotes/{new.html.haml → new.html.slim} +2 -2
  107. data/app/views/cmtool/quotes/{show.html.haml → show.html.slim} +8 -8
  108. data/app/views/{devise → cmtool/sessions}/_devise_links.html.slim +0 -0
  109. data/app/views/cmtool/sessions/new.html.slim +1 -1
  110. data/app/views/cmtool/users/{_form.html.haml → _form.html.slim} +12 -6
  111. data/app/views/cmtool/users/edit.html.slim +7 -0
  112. data/app/views/cmtool/users/index.html.slim +20 -0
  113. data/app/views/cmtool/users/{new.html.haml → new.html.slim} +2 -2
  114. data/app/views/cmtool/users/show.html.slim +37 -0
  115. data/app/views/cmtool/yml_files/_form.html.slim +9 -0
  116. data/app/views/cmtool/yml_files/edit.html.slim +7 -0
  117. data/app/views/cmtool/yml_files/index.html.slim +20 -0
  118. data/app/views/cmtool/yml_files/new.html.slim +7 -0
  119. data/app/views/cmtool/yml_files/show.html.slim +9 -0
  120. data/app/views/layouts/cmtool/application.html.slim +19 -63
  121. data/app/views/pages/{home.html.haml → home.html.slim} +0 -0
  122. data/app/views/pages/{show.html.haml → show.html.slim} +0 -0
  123. data/cmtool.gemspec +30 -0
  124. data/config/initializers/model_human_plural.rb +1 -1
  125. data/config/locales/cmtool.en.yml +2 -0
  126. data/config/locales/cmtool.nl.yml +87 -0
  127. data/config/locales/devise.en.yml +48 -60
  128. data/config/routes.rb +4 -1
  129. data/lib/cmtool/engine.rb +37 -3
  130. data/lib/cmtool/includes/page.rb +28 -4
  131. data/lib/cmtool/includes/pages_controller.rb +28 -3
  132. data/lib/cmtool/includes/user.rb +2 -4
  133. data/lib/cmtool/menu.rb +55 -6
  134. data/lib/cmtool/version.rb +1 -1
  135. data/script/rails +8 -0
  136. data/spec/cmtool_menu/engine_link_spec.rb +24 -0
  137. data/spec/cmtool_menu_spec.rb +58 -4
  138. data/spec/controllers/contact_forms_controller_spec.rb +4 -36
  139. data/spec/controllers/faqs_controller_spec.rb +4 -35
  140. data/spec/controllers/newsletter_subscriptions_controller_spec.rb +10 -9
  141. data/spec/controllers/pages_controller_spec.rb +4 -4
  142. data/spec/dummy/app/assets/stylesheets/application.css +3 -0
  143. data/spec/dummy/app/controllers/application_controller.rb +10 -0
  144. data/spec/dummy/app/mailers/.gitkeep +0 -0
  145. data/spec/dummy/app/models/.gitkeep +0 -0
  146. data/spec/dummy/app/models/user.rb +1 -0
  147. data/spec/dummy/config/application.rb +5 -7
  148. data/spec/dummy/config/environments/development.rb +1 -1
  149. data/spec/dummy/config/environments/production.rb +1 -1
  150. data/spec/dummy/config/environments/test.rb +1 -1
  151. data/{config → spec/dummy/config}/initializers/devise.rb +79 -45
  152. data/spec/dummy/config/routes.rb +6 -2
  153. data/spec/dummy/config/secrets.yml +4 -0
  154. data/spec/dummy/lib/assets/.gitkeep +0 -0
  155. data/spec/dummy/log/.gitkeep +0 -0
  156. data/spec/factories/page_factory.rb +6 -0
  157. data/spec/features/cmtool/pages/listing_spec.rb +40 -0
  158. data/spec/features/cmtool/pages/preview_spec.rb +21 -0
  159. data/spec/features/cmtool/sitemap_spec.rb +12 -0
  160. data/spec/includes/pages_controller_include_spec.rb +11 -0
  161. data/spec/models/cmtool/yml_file_spec.rb +28 -0
  162. data/spec/models/page_spec.rb +21 -0
  163. data/spec/spec_helper.rb +8 -16
  164. data/spec/support/feature_helpers.rb +21 -0
  165. data/spec/support/js_helpers.rb +66 -0
  166. data/vendor/assets/devise/.sass-cache/7ede1f82605657b07dc1ea1aa5b2ecca40d4b017/devise.css.sassc +0 -0
  167. metadata +231 -833
  168. data/README.rdoc +0 -100
  169. data/app/assets/javascripts/cmtool/application.js +0 -18
  170. data/app/assets/stylesheets/cmtool/application.css +0 -14
  171. data/app/assets/stylesheets/cmtool/bootstrap_and_overrides.css.less +0 -32
  172. data/app/assets/stylesheets/cmtool/menu.css.sass +0 -26
  173. data/app/assets/stylesheets/cmtool/sessions/_jquery-ui.css.sass +0 -1433
  174. data/app/assets/stylesheets/cmtool/sessions/application.css +0 -7
  175. data/app/assets/stylesheets/cmtool/sessions/structure.css.sass +0 -73
  176. data/app/assets/stylesheets/cmtool/structure.css.sass +0 -55
  177. data/app/views/cmtool/application/_alerts.html.haml +0 -20
  178. data/app/views/cmtool/application/_error_messages.html.haml +0 -6
  179. data/app/views/cmtool/application/_user_info.html.haml +0 -7
  180. data/app/views/cmtool/contact_forms/edit.html.haml +0 -7
  181. data/app/views/cmtool/contact_forms/index.html.haml +0 -26
  182. data/app/views/cmtool/contact_forms/show.html.haml +0 -21
  183. data/app/views/cmtool/dashboard/index.html.haml +0 -1
  184. data/app/views/cmtool/directories/_image.html.haml +0 -5
  185. data/app/views/cmtool/directories/edit.html.haml +0 -7
  186. data/app/views/cmtool/directories/index.html.haml +0 -20
  187. data/app/views/cmtool/directories/show.html.haml +0 -36
  188. data/app/views/cmtool/faqs/edit.html.haml +0 -7
  189. data/app/views/cmtool/faqs/index.html.haml +0 -22
  190. data/app/views/cmtool/faqs/show.html.haml +0 -13
  191. data/app/views/cmtool/images/edit.html.haml +0 -7
  192. data/app/views/cmtool/images/index.html.haml +0 -30
  193. data/app/views/cmtool/images/show.html.haml +0 -22
  194. data/app/views/cmtool/keywords/_form.html.haml +0 -8
  195. data/app/views/cmtool/keywords/edit.html.haml +0 -7
  196. data/app/views/cmtool/keywords/index.html.haml +0 -20
  197. data/app/views/cmtool/keywords/show.html.haml +0 -9
  198. data/app/views/cmtool/news/edit.html.haml +0 -9
  199. data/app/views/cmtool/news/index.html.haml +0 -24
  200. data/app/views/cmtool/news/show.html.haml +0 -28
  201. data/app/views/cmtool/newsletter_subscriptions/edit.html.haml +0 -7
  202. data/app/views/cmtool/newsletter_subscriptions/index.html.haml +0 -24
  203. data/app/views/cmtool/newsletter_subscriptions/show.html.haml +0 -15
  204. data/app/views/cmtool/pages/_form.html.haml +0 -48
  205. data/app/views/cmtool/pages/_nested_pages.html.haml +0 -10
  206. data/app/views/cmtool/pages/edit.html.haml +0 -9
  207. data/app/views/cmtool/pages/index.html.haml +0 -21
  208. data/app/views/cmtool/pages/show.html.haml +0 -39
  209. data/app/views/cmtool/quotes/edit.html.haml +0 -7
  210. data/app/views/cmtool/quotes/index.html.haml +0 -26
  211. data/app/views/cmtool/users/edit.html.haml +0 -8
  212. data/app/views/cmtool/users/index.html.haml +0 -20
  213. data/app/views/cmtool/users/show.html.haml +0 -38
  214. data/app/views/devise/confirmations/new.html.erb +0 -12
  215. data/app/views/devise/mailer/confirmation_instructions.html.erb +0 -5
  216. data/app/views/devise/mailer/reset_password_instructions.html.erb +0 -8
  217. data/app/views/devise/mailer/unlock_instructions.html.erb +0 -7
  218. data/app/views/devise/passwords/edit.html.slim +0 -14
  219. data/app/views/devise/passwords/new.html.slim +0 -10
  220. data/app/views/devise/registrations/edit.html.erb +0 -25
  221. data/app/views/devise/registrations/new.html.slim +0 -16
  222. data/app/views/devise/sessions/new.html.slim +0 -19
  223. data/app/views/devise/unlocks/new.html.erb +0 -12
  224. data/config/initializers/cmtool_menu.rb +0 -27
  225. data/spec/dummy/log/development.log +0 -100840
  226. data/spec/dummy/log/test.log +0 -3337
  227. data/spec/dummy/public/system/cmtool/news/images/c06/64b/3b7/medium/cover.jpg +0 -0
  228. data/spec/dummy/public/system/cmtool/news/images/c06/64b/3b7/original/cover.jpg +0 -0
  229. data/spec/dummy/public/system/cmtool/news/images/c06/64b/3b7/thumb/cover.jpg +0 -0
  230. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f4776/medium.jpg +0 -0
  231. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f4776/original.jpg +0 -0
  232. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f4776/page.jpg +0 -0
  233. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f4776/thumb.jpg +0 -0
  234. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f7288/medium.jpg +0 -0
  235. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f7288/original.jpg +0 -0
  236. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f7288/page.jpg +0 -0
  237. data/spec/dummy/public/system/files/c0664b3b7e6cf34a209545255b6f7288/thumb.jpg +0 -0
  238. data/spec/dummy/public/system/images/6bd15f9f57c9a09835fe2bf15715f9dd/medium/atool-filter-button.png +0 -0
  239. data/spec/dummy/public/system/images/6bd15f9f57c9a09835fe2bf15715f9dd/original/atool-filter-button.png +0 -0
  240. data/spec/dummy/public/system/images/6bd15f9f57c9a09835fe2bf15715f9dd/thumb/atool-filter-button.png +0 -0
  241. data/spec/dummy/public/system/images/6bd15f9f57c9a09835fe2bf157940d56/medium/Screen_Shot_2011-11-05_at_9.51.09_AM.png +0 -0
  242. data/spec/dummy/public/system/images/6bd15f9f57c9a09835fe2bf157940d56/original/Screen_Shot_2011-11-05_at_9.51.09_AM.png +0 -0
  243. data/spec/dummy/public/system/images/6bd15f9f57c9a09835fe2bf157940d56/thumb/Screen_Shot_2011-11-05_at_9.51.09_AM.png +0 -0
  244. data/spec/dummy/routes.txt +0 -104
  245. data/spec/dummy/tmp/cache/assets/C18/850/sprockets%2F752d32380d03669019b62ec5f0028436 +0 -0
  246. data/spec/dummy/tmp/cache/assets/C19/DE0/sprockets%2F216b2f20128081555197cf82f0753b64 +0 -0
  247. data/spec/dummy/tmp/cache/assets/C26/7E0/sprockets%2F235237c7f38507872090328ecda15964 +0 -0
  248. data/spec/dummy/tmp/cache/assets/C36/760/sprockets%2Fd46689607807ff743808b38c330b6485 +0 -0
  249. data/spec/dummy/tmp/cache/assets/C41/E50/sprockets%2F7b62328b3304e6239117c90a0454cc54 +0 -0
  250. data/spec/dummy/tmp/cache/assets/C4B/DD0/sprockets%2F427bdb632b14368be8280395174c5315 +0 -0
  251. data/spec/dummy/tmp/cache/assets/C4C/2E0/sprockets%2F712383c70fac05461cd06763867a7442 +0 -0
  252. data/spec/dummy/tmp/cache/assets/C61/E90/sprockets%2F44f491ccec961d1894853a7617369306 +0 -0
  253. data/spec/dummy/tmp/cache/assets/C70/C50/sprockets%2F06d9010b38d4343243f36e2456d116dc +0 -0
  254. data/spec/dummy/tmp/cache/assets/C73/1F0/sprockets%2F5100d441c272ff7b322075916156e6af +0 -0
  255. data/spec/dummy/tmp/cache/assets/C74/5A0/sprockets%2F5401e46acd059d390117a88f4273b502 +0 -0
  256. data/spec/dummy/tmp/cache/assets/C75/790/sprockets%2Fc7c2173bd0657d520a0626038c5d3928 +0 -0
  257. data/spec/dummy/tmp/cache/assets/C7A/C60/sprockets%2Fc4f5f761f754c02703680242a56ad903 +0 -0
  258. data/spec/dummy/tmp/cache/assets/C81/190/sprockets%2F7227190f4a040f888428a2eb96b187c0 +0 -0
  259. data/spec/dummy/tmp/cache/assets/C82/C20/sprockets%2F3d20075675436d0b3d812e9694af4d19 +0 -0
  260. data/spec/dummy/tmp/cache/assets/C85/400/sprockets%2F31c17bd5fb19a86d67800f6073506983 +0 -0
  261. data/spec/dummy/tmp/cache/assets/C8C/090/sprockets%2F843101bc779edc85928803e7a4b60874 +0 -0
  262. data/spec/dummy/tmp/cache/assets/C91/C20/sprockets%2Fa3953ecd83959146795fe757007325ba +0 -0
  263. data/spec/dummy/tmp/cache/assets/C96/FE0/sprockets%2F703143041f12431a07dd21ca81ed982f +0 -0
  264. data/spec/dummy/tmp/cache/assets/C9F/780/sprockets%2Fc52453e3ee6629e66d24c4a0610011a7 +0 -0
  265. data/spec/dummy/tmp/cache/assets/CA2/0B0/sprockets%2F99155226b1fa65ab47a5d0232704b9d1 +0 -0
  266. data/spec/dummy/tmp/cache/assets/CA8/2B0/sprockets%2Ffac601814422a2c545c868496625ebb0 +0 -0
  267. data/spec/dummy/tmp/cache/assets/CA9/720/sprockets%2F7319b892fa23cba1310439c59670d53c +0 -0
  268. data/spec/dummy/tmp/cache/assets/CA9/930/sprockets%2Ff4bc192521154063e2f1e7709e907bb4 +0 -0
  269. data/spec/dummy/tmp/cache/assets/CAE/ED0/sprockets%2F30c2c36619e184b56b991524b238ea8b +0 -0
  270. data/spec/dummy/tmp/cache/assets/CB1/410/sprockets%2F49724ef608982ecd3669f376948e589e +0 -0
  271. data/spec/dummy/tmp/cache/assets/CBF/640/sprockets%2Fe26d7237754cae8ce533ee6669570541 +0 -0
  272. data/spec/dummy/tmp/cache/assets/CC6/920/sprockets%2Fe650083249a19e993792f64d4d9ede51 +0 -0
  273. data/spec/dummy/tmp/cache/assets/CD1/5C0/sprockets%2F345b7e9e791da31a1ee2104c1d207906 +0 -0
  274. data/spec/dummy/tmp/cache/assets/CD1/AF0/sprockets%2Fd21dfa46fc728612ab1650c067d95221 +0 -0
  275. data/spec/dummy/tmp/cache/assets/CD2/CC0/sprockets%2F48545086cbb2d1006c0f6565bf2c1c46 +0 -0
  276. data/spec/dummy/tmp/cache/assets/CD6/E50/sprockets%2Ff65d7119ec77ea58798898b6b188165b +0 -0
  277. data/spec/dummy/tmp/cache/assets/CD8/310/sprockets%2F4d8f023f4b4d3004a45405592a67bf8e +0 -0
  278. data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  279. data/spec/dummy/tmp/cache/assets/CDA/D50/sprockets%2F57af0c226e5d5f92b58c6b1892b04420 +0 -0
  280. data/spec/dummy/tmp/cache/assets/CDB/140/sprockets%2F7cd220251d480568d4639e70ea59bca2 +0 -0
  281. data/spec/dummy/tmp/cache/assets/CDB/DD0/sprockets%2F0116ad0c816ef52720f72f9636e8fb12 +0 -0
  282. data/spec/dummy/tmp/cache/assets/CE1/B80/sprockets%2F869e48b3940bc74424cd9d80cd72210b +0 -0
  283. data/spec/dummy/tmp/cache/assets/CE2/390/sprockets%2F131572427c03768bd11de289f9ba6cf6 +0 -0
  284. data/spec/dummy/tmp/cache/assets/CE2/D50/sprockets%2F3037550bf61b57f925adc9e86352b6b4 +0 -0
  285. data/spec/dummy/tmp/cache/assets/CE8/0C0/sprockets%2F229b78558cf45ce8701d3237f86ca50b +0 -0
  286. data/spec/dummy/tmp/cache/assets/CE9/5A0/sprockets%2F89152d154331d923e773f6f0e8bfd3a8 +0 -0
  287. data/spec/dummy/tmp/cache/assets/CE9/670/sprockets%2F648f281b64e6939680ac90ddb40b6a48 +0 -0
  288. data/spec/dummy/tmp/cache/assets/CEB/EB0/sprockets%2F549bc3b7a508bd570c2276796fbf0893 +0 -0
  289. data/spec/dummy/tmp/cache/assets/CEC/C70/sprockets%2F89bb77a512f7073fd1979daa90762d07 +0 -0
  290. data/spec/dummy/tmp/cache/assets/CED/900/sprockets%2F8474c76b55a41efe4217c291be4596f6 +0 -0
  291. data/spec/dummy/tmp/cache/assets/CEE/FA0/sprockets%2F72a8f9d3a67b73f0e196a505f3794b38 +0 -0
  292. data/spec/dummy/tmp/cache/assets/CF0/D40/sprockets%2Fd0785e7c6720e90418bfcb8d3c249984 +0 -0
  293. data/spec/dummy/tmp/cache/assets/CF2/340/sprockets%2F7570cc0f76d7d92949ea5f20ca597734 +0 -0
  294. data/spec/dummy/tmp/cache/assets/CF2/940/sprockets%2F6f2e083ec93635c64f5a7898d21db196 +0 -0
  295. data/spec/dummy/tmp/cache/assets/CF5/4E0/sprockets%2F73784f916067754fe6b34b3c878beb4c +0 -0
  296. data/spec/dummy/tmp/cache/assets/CF5/790/sprockets%2F3716eabe454c014ec74c5122335ab2c3 +0 -0
  297. data/spec/dummy/tmp/cache/assets/CF6/2A0/sprockets%2F665f20d37e2ad71fb43a4704600c0d0c +0 -0
  298. data/spec/dummy/tmp/cache/assets/CFA/DC0/sprockets%2F3e815db3628b44efa3dfa0b015140617 +0 -0
  299. data/spec/dummy/tmp/cache/assets/CFB/880/sprockets%2Fd79d58771382c1ecdd4e76688269da26 +0 -0
  300. data/spec/dummy/tmp/cache/assets/CFB/E40/sprockets%2F14004524c4a7676faf1bb330bd81de54 +0 -0
  301. data/spec/dummy/tmp/cache/assets/CFD/BE0/sprockets%2F543ecb888e5d14912ba121abe00067b6 +0 -0
  302. data/spec/dummy/tmp/cache/assets/CFD/C00/sprockets%2F1b69d90d158c0b5670a033e62aad243f +0 -0
  303. data/spec/dummy/tmp/cache/assets/CFE/000/sprockets%2Fff00b174d00b5649b16a01aa8738d4b9 +0 -0
  304. data/spec/dummy/tmp/cache/assets/D03/BB0/sprockets%2F84b90473d354dcd12a22142bf8af664a +0 -0
  305. data/spec/dummy/tmp/cache/assets/D04/C20/sprockets%2Fd3470cdf028a733b1e4447ea1de52609 +0 -0
  306. data/spec/dummy/tmp/cache/assets/D09/5E0/sprockets%2Fba3902159cf74d9227d6e84dc00b2a37 +0 -0
  307. data/spec/dummy/tmp/cache/assets/D0B/E90/sprockets%2Fadd1f8d5205e35b242c42519855be6e4 +0 -0
  308. data/spec/dummy/tmp/cache/assets/D0D/4A0/sprockets%2Fee2361e99915650313f9aa0a52d0f7fc +0 -0
  309. data/spec/dummy/tmp/cache/assets/D0D/F80/sprockets%2F40692cf534a61cff919b63894c4b10ab +0 -0
  310. data/spec/dummy/tmp/cache/assets/D0E/F30/sprockets%2F934463eeac1886c1dd0983c050a89c2a +0 -0
  311. data/spec/dummy/tmp/cache/assets/D0F/4D0/sprockets%2F95a2330cd69437564cf9b0de801f0dc6 +0 -0
  312. data/spec/dummy/tmp/cache/assets/D10/5F0/sprockets%2Fd32e1ef38940222d6cb93fd85af06364 +0 -0
  313. data/spec/dummy/tmp/cache/assets/D10/A20/sprockets%2F5ed250162d47476dc0a6fb39928ab29c +0 -0
  314. data/spec/dummy/tmp/cache/assets/D13/250/sprockets%2F0a446508af63f31d5a3b36f834f86cf7 +0 -0
  315. data/spec/dummy/tmp/cache/assets/D14/380/sprockets%2Fc4d6301c85657a68d31f933ae246be8d +0 -0
  316. data/spec/dummy/tmp/cache/assets/D15/3A0/sprockets%2Fff88e74706b1362a8a56b0d4cb6e3709 +0 -0
  317. data/spec/dummy/tmp/cache/assets/D17/5B0/sprockets%2Fdf083bb4363d52e163087a9c9c49ae94 +0 -0
  318. data/spec/dummy/tmp/cache/assets/D19/430/sprockets%2F747be7ecbdf9965a7140bb361467813d +0 -0
  319. data/spec/dummy/tmp/cache/assets/D1A/790/sprockets%2F4bb639c18639cd5455fd78adb722e345 +0 -0
  320. data/spec/dummy/tmp/cache/assets/D1A/B70/sprockets%2Fa70be6054ed638f2443584c9fe2e79c1 +0 -0
  321. data/spec/dummy/tmp/cache/assets/D1C/440/sprockets%2F8e4e50647becc1359408c980ddb9c780 +0 -0
  322. data/spec/dummy/tmp/cache/assets/D1E/480/sprockets%2F355e66dff10d6484a5b87d72d9f480a5 +0 -0
  323. data/spec/dummy/tmp/cache/assets/D1E/6A0/sprockets%2Fa83b717905767a831cbecf87644fdb46 +0 -0
  324. data/spec/dummy/tmp/cache/assets/D1F/480/sprockets%2F05ec291ba6b0d0b30851266e15bdb06a +0 -0
  325. data/spec/dummy/tmp/cache/assets/D23/D80/sprockets%2F5587d784715ef5c1f18d812e1ec55fb8 +0 -0
  326. data/spec/dummy/tmp/cache/assets/D24/F50/sprockets%2Fb2bb9f6f9373f27c09ae6ef843491394 +0 -0
  327. data/spec/dummy/tmp/cache/assets/D25/670/sprockets%2F9f464863a944690acd0f85825fe92ccd +0 -0
  328. data/spec/dummy/tmp/cache/assets/D25/A80/sprockets%2F8460ae4fe401232b011edc5ee83a32d2 +0 -0
  329. data/spec/dummy/tmp/cache/assets/D26/230/sprockets%2Ffc0e2968365849a4f4d5fdc2a148e859 +0 -0
  330. data/spec/dummy/tmp/cache/assets/D26/DF0/sprockets%2F15bbc8d6a21383a1be0d3274c70bb194 +0 -0
  331. data/spec/dummy/tmp/cache/assets/D27/3B0/sprockets%2F8278cfc294587ff1d02fd4569f58c40d +0 -0
  332. data/spec/dummy/tmp/cache/assets/D2C/710/sprockets%2F9899603e39b6bc76d9cb2dc8415fd459 +0 -0
  333. data/spec/dummy/tmp/cache/assets/D31/2D0/sprockets%2Ffedb3fb4f03a024f63662835af420a64 +0 -0
  334. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  335. data/spec/dummy/tmp/cache/assets/D33/D90/sprockets%2F796916aa58a6b60c8cb81af11e130e2a +0 -0
  336. data/spec/dummy/tmp/cache/assets/D37/900/sprockets%2Fd2ff7a1a3700c64bb77b208f817d0f37 +0 -0
  337. data/spec/dummy/tmp/cache/assets/D39/920/sprockets%2Fb9de62ccbda6e374f22650481468b1c1 +0 -0
  338. data/spec/dummy/tmp/cache/assets/D3B/BF0/sprockets%2Fd11417e5a5b02ea3c09512969ce87efb +0 -0
  339. data/spec/dummy/tmp/cache/assets/D3C/630/sprockets%2F42df12297ce8daa92f405b139863a2ce +0 -0
  340. data/spec/dummy/tmp/cache/assets/D3E/080/sprockets%2F128be3c02a98f158af2d3617615fbbe9 +0 -0
  341. data/spec/dummy/tmp/cache/assets/D3E/270/sprockets%2Fa7a7d118aad8f138da7e93522d92723c +0 -0
  342. data/spec/dummy/tmp/cache/assets/D3E/E10/sprockets%2Fa05a146ba97496f412fdf55413fec09d +0 -0
  343. data/spec/dummy/tmp/cache/assets/D40/1B0/sprockets%2Fa773c84c1988aa1cb19fefb8244091d1 +0 -0
  344. data/spec/dummy/tmp/cache/assets/D40/360/sprockets%2F8f3725fed33c9baab8831765af009c14 +0 -0
  345. data/spec/dummy/tmp/cache/assets/D41/9E0/sprockets%2F63671c98d7549aacabacae65631e0269 +0 -0
  346. data/spec/dummy/tmp/cache/assets/D42/830/sprockets%2F8ba29d0cf03f3592a8518fff75ae1371 +0 -0
  347. data/spec/dummy/tmp/cache/assets/D45/FB0/sprockets%2F7fbc31df2ebf823a407a6771d6c62868 +0 -0
  348. data/spec/dummy/tmp/cache/assets/D47/140/sprockets%2Fb9bb798df905ddf26d2999c2100cb631 +0 -0
  349. data/spec/dummy/tmp/cache/assets/D48/EF0/sprockets%2F3668d9cf118adf5a00183de47c295f8c +0 -0
  350. data/spec/dummy/tmp/cache/assets/D4A/710/sprockets%2F2834ae3958218fe37a48e94f4aab5ef1 +0 -0
  351. data/spec/dummy/tmp/cache/assets/D4C/580/sprockets%2F1fd365b8f948c64cf29f5173c1ca099a +0 -0
  352. data/spec/dummy/tmp/cache/assets/D4C/D00/sprockets%2Fc38aec60e761866329b9abea688a55f3 +0 -0
  353. data/spec/dummy/tmp/cache/assets/D4C/D20/sprockets%2Fdc06d6f68c94eb9483b25ed35ba88405 +0 -0
  354. data/spec/dummy/tmp/cache/assets/D4D/EF0/sprockets%2F74a6c210074a5ae04abdd40d5e11b0d9 +0 -0
  355. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  356. data/spec/dummy/tmp/cache/assets/D4E/7F0/sprockets%2F3e9b265d67d44427d7c8a4becce52389 +0 -0
  357. data/spec/dummy/tmp/cache/assets/D51/050/sprockets%2F9a449ad847fa6e2b6f6890c80be6c266 +0 -0
  358. data/spec/dummy/tmp/cache/assets/D52/FD0/sprockets%2F8b037fa4b8862d24379ef2c6c94ced68 +0 -0
  359. data/spec/dummy/tmp/cache/assets/D53/530/sprockets%2F7f57af856dee92e95556a8da238a045c +0 -0
  360. data/spec/dummy/tmp/cache/assets/D55/C30/sprockets%2F198b9f7b78a6510a4f7ed5f39bf85e50 +0 -0
  361. data/spec/dummy/tmp/cache/assets/D57/9A0/sprockets%2F0643407599f96ec7dd7b229c74b6fecf +0 -0
  362. data/spec/dummy/tmp/cache/assets/D5A/0D0/sprockets%2F46130d07df2ae14cf4a950d0fc5a25f2 +0 -0
  363. data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  364. data/spec/dummy/tmp/cache/assets/D5F/3A0/sprockets%2F8cb0fb1e95311cab5b10fb3b84d29960 +0 -0
  365. data/spec/dummy/tmp/cache/assets/D63/3D0/sprockets%2F3314d0ec51a3ebed254d56ba16fb4958 +0 -0
  366. data/spec/dummy/tmp/cache/assets/D65/210/sprockets%2Fc67ddf5445c15d14f081f0e08a326bdc +0 -0
  367. data/spec/dummy/tmp/cache/assets/D65/3D0/sprockets%2F4f5dec87e2a1631b5f29bd3600ea0c66 +0 -0
  368. data/spec/dummy/tmp/cache/assets/D65/E80/sprockets%2F32397abcb74bbf4069ee7203d4a5f0e2 +0 -0
  369. data/spec/dummy/tmp/cache/assets/D66/B20/sprockets%2Fe08942bdb8d5bacc5137a38fab671513 +0 -0
  370. data/spec/dummy/tmp/cache/assets/D66/D80/sprockets%2Fc28404df58839bdcf4d1ae01a16f4c51 +0 -0
  371. data/spec/dummy/tmp/cache/assets/D68/180/sprockets%2Fec4f867065cdf642e0703af20ace542e +0 -0
  372. data/spec/dummy/tmp/cache/assets/D69/290/sprockets%2F8e8e322f42dc52123fe17ea35c62a9cc +0 -0
  373. data/spec/dummy/tmp/cache/assets/D69/4F0/sprockets%2F57a67e1e209aaa2ba364e4f60c6836cf +0 -0
  374. data/spec/dummy/tmp/cache/assets/D69/870/sprockets%2Ff5f84d52b488a81fe1fe38f9c71f9989 +0 -0
  375. data/spec/dummy/tmp/cache/assets/D6B/AF0/sprockets%2F34fe551257ca78c066fbbc80b4d78aa2 +0 -0
  376. data/spec/dummy/tmp/cache/assets/D6C/650/sprockets%2F1e5e21b1d943db98c0d7deaf3c396720 +0 -0
  377. data/spec/dummy/tmp/cache/assets/D6C/CA0/sprockets%2F42ca78137cfdd34f74a022266f9ebac6 +0 -0
  378. data/spec/dummy/tmp/cache/assets/D6D/7A0/sprockets%2F66dff56001b3bd1d86c515ce4470cf9d +0 -0
  379. data/spec/dummy/tmp/cache/assets/D6F/0B0/sprockets%2F26b974b1e770125bf784ef7a04bfb8ab +0 -0
  380. data/spec/dummy/tmp/cache/assets/D6F/980/sprockets%2Faefbbc72259b038b8b49bb517ff07157 +0 -0
  381. data/spec/dummy/tmp/cache/assets/D70/3F0/sprockets%2Fd714afb443c399a3e42d4a476bc37f9a +0 -0
  382. data/spec/dummy/tmp/cache/assets/D71/B80/sprockets%2F769efcab8adecc627d33d7127204d518 +0 -0
  383. data/spec/dummy/tmp/cache/assets/D73/C90/sprockets%2Fc3c832ab2e4c0070865e53ed6e6f9be9 +0 -0
  384. data/spec/dummy/tmp/cache/assets/D77/D10/sprockets%2Fb3ac5976a7b43f36f55832ee7ae63cb5 +0 -0
  385. data/spec/dummy/tmp/cache/assets/D78/240/sprockets%2Fe3ae0c0c6fe8933c9c8cd2b69a025887 +0 -0
  386. data/spec/dummy/tmp/cache/assets/D7A/3D0/sprockets%2Fa9c8b7933d9fe1407d73ea2e94507dad +0 -0
  387. data/spec/dummy/tmp/cache/assets/D7C/150/sprockets%2Fb5d7250647add8228d98c95dd24dcef3 +0 -0
  388. data/spec/dummy/tmp/cache/assets/D82/C80/sprockets%2F77ae8924b92737f2be12ff5ee96d6d0c +0 -0
  389. data/spec/dummy/tmp/cache/assets/D83/5F0/sprockets%2Fc14ed4b5437e008b0ddac22a5bbc8324 +0 -0
  390. data/spec/dummy/tmp/cache/assets/D88/550/sprockets%2F8d7310cafdf89c5d83a8777fb34f819d +0 -0
  391. data/spec/dummy/tmp/cache/assets/D8C/250/sprockets%2F50101e61fa2b55a3dbff72aef5346bc6 +0 -0
  392. data/spec/dummy/tmp/cache/assets/D92/6D0/sprockets%2F461afccadb5d704c144f688f104bf41c +0 -0
  393. data/spec/dummy/tmp/cache/assets/D92/A50/sprockets%2F42aa858eec2ada4440aae06cfb983831 +0 -0
  394. data/spec/dummy/tmp/cache/assets/D92/E00/sprockets%2Ffc5593af5c5e6ab0547803ba58dcba00 +0 -0
  395. data/spec/dummy/tmp/cache/assets/D94/530/sprockets%2F81cb86e3c68a720cd40e25c6c740dbcb +0 -0
  396. data/spec/dummy/tmp/cache/assets/D9A/520/sprockets%2F6c94ab38bdd617fb89226d2a6ca8a02c +0 -0
  397. data/spec/dummy/tmp/cache/assets/D9B/520/sprockets%2Fc5c0a988aa2c7ad84fa184678ab2c08b +0 -0
  398. data/spec/dummy/tmp/cache/assets/D9C/3B0/sprockets%2Ff1b89fdbd44840f1bf4e14d1c5ed5181 +0 -0
  399. data/spec/dummy/tmp/cache/assets/D9E/690/sprockets%2F0bf2c3caae57689b6920d93ecc351f4d +0 -0
  400. data/spec/dummy/tmp/cache/assets/DA5/600/sprockets%2Fe29c610bc668dccae7836162cf7e7b5b +0 -0
  401. data/spec/dummy/tmp/cache/assets/DA8/DF0/sprockets%2F59a7f928b3c3cf52a22bb9fcb9e5674a +0 -0
  402. data/spec/dummy/tmp/cache/assets/DAC/B40/sprockets%2Fc12150ac5ae4952c510b0e31b3fecdcc +0 -0
  403. data/spec/dummy/tmp/cache/assets/DAE/690/sprockets%2Fd79029d350cde8541ac9fc1c8f6acf89 +0 -0
  404. data/spec/dummy/tmp/cache/assets/DB6/DF0/sprockets%2Fe34b300ce8abb53b009d12dfb51f9a4d +0 -0
  405. data/spec/dummy/tmp/cache/assets/DB7/490/sprockets%2F9ba7b4d86dd05f20204106adcb1a6efa +0 -0
  406. data/spec/dummy/tmp/cache/assets/DB7/D00/sprockets%2Fadec63fc7a127311a64dc2a6c21fbc63 +0 -0
  407. data/spec/dummy/tmp/cache/assets/DB8/190/sprockets%2F3495e9974966def99ef4c1b24cb0ccde +0 -0
  408. data/spec/dummy/tmp/cache/assets/DBA/F50/sprockets%2Fcf00c2bb1b1b42bead85d93c9217f1c7 +0 -0
  409. data/spec/dummy/tmp/cache/assets/DC5/540/sprockets%2F7c4c1524fb49a0bf7e1caac934e55bc5 +0 -0
  410. data/spec/dummy/tmp/cache/assets/DD0/790/sprockets%2Fe18e2fad4bc8d5a4e3f5828dc5256a1e +0 -0
  411. data/spec/dummy/tmp/cache/assets/DD3/710/sprockets%2F299f2e9a525bdda212a76e9cc36b6ded +0 -0
  412. data/spec/dummy/tmp/cache/assets/DD4/230/sprockets%2Ffee908a38ae9da4838cba416a6dd067c +0 -0
  413. data/spec/dummy/tmp/cache/assets/DD4/8B0/sprockets%2F7dc1d1b4c3efe7f5178465c5daa8ad48 +0 -0
  414. data/spec/dummy/tmp/cache/assets/DD9/1B0/sprockets%2F69db2b8a7cd8f680ebf16c57239bda4e +0 -0
  415. data/spec/dummy/tmp/cache/assets/DD9/B90/sprockets%2Fb2f5c6d0fd648b718ca0fc7df9d6682b +0 -0
  416. data/spec/dummy/tmp/cache/assets/DD9/CF0/sprockets%2Fecef5c1af2a28879a42b08e5a91f97ed +0 -0
  417. data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  418. data/spec/dummy/tmp/cache/assets/DE1/350/sprockets%2F5e15c91cdfa6a8b79ede69cd9711d56d +0 -0
  419. data/spec/dummy/tmp/cache/assets/DEC/7F0/sprockets%2F5aabd14fbecd60293bf48f731ae0f40a +0 -0
  420. data/spec/dummy/tmp/cache/assets/DEE/540/sprockets%2Fff84a81ec877bee84c8cad57c3b9389f +0 -0
  421. data/spec/dummy/tmp/cache/assets/DF3/E20/sprockets%2F3ca4bc71ff37da7b5aba7c00fbd19855 +0 -0
  422. data/spec/dummy/tmp/cache/assets/DF4/300/sprockets%2Fb02f8aacfd025f240acc7e6390c89bed +0 -0
  423. data/spec/dummy/tmp/cache/assets/DF6/E70/sprockets%2F06e8dade364dcf5d42be314ed43a2ae8 +0 -0
  424. data/spec/dummy/tmp/cache/assets/DF7/DB0/sprockets%2F6b62cfc2a9b188a04acb3cff9f1d7b33 +0 -0
  425. data/spec/dummy/tmp/cache/assets/DF8/240/sprockets%2F5072bd83ee1a24eebb458ca76ebdd42f +0 -0
  426. data/spec/dummy/tmp/cache/assets/DFB/EF0/sprockets%2F7879b1d53bec53274abbbbaffd4c90e3 +0 -0
  427. data/spec/dummy/tmp/cache/assets/DFC/2C0/sprockets%2F0e9bb829af3cf230d92ac77a8c6dca3e +0 -0
  428. data/spec/dummy/tmp/cache/assets/DFD/B00/sprockets%2Fcd3e2faf4b47abd6fc68bc6b7214845b +0 -0
  429. data/spec/dummy/tmp/cache/assets/E03/280/sprockets%2F782ad2536ab1dd9e7fc49af61bf8c3ea +0 -0
  430. data/spec/dummy/tmp/cache/assets/E03/470/sprockets%2Fc9b1ea91af7b8e40e9bd3d82a7094dfc +0 -0
  431. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  432. data/spec/dummy/tmp/cache/assets/E07/CB0/sprockets%2F88c7ab6fa52aaf46d8fba778e4a813af +0 -0
  433. data/spec/dummy/tmp/cache/assets/E1B/600/sprockets%2F708dfcc2bdca257aaa5ba778b42b33bc +0 -0
  434. data/spec/dummy/tmp/cache/assets/E1F/0B0/sprockets%2Fda0fe5bb0eeac4e1d4f42a3c861ca479 +0 -0
  435. data/spec/dummy/tmp/cache/assets/E25/590/sprockets%2F2fb5aaa408da4f4dfd727f15cf076cda +0 -0
  436. data/spec/dummy/tmp/cache/assets/E25/BC0/sprockets%2Fecdbc56d8fee7da4f1e21f29513b13aa +0 -0
  437. data/spec/dummy/tmp/cache/assets/E29/690/sprockets%2F90e22b0f0d4a91ea4bce6fd4d4ddd89c +0 -0
  438. data/spec/dummy/tmp/cache/assets/E2B/690/sprockets%2Fba73f78bc0ad82ae2ff85454fdb72cba +0 -0
  439. data/spec/dummy/tmp/cache/assets/E3F/260/sprockets%2Fa6d28c62ddf8eabbf596e47289aadc9d +0 -0
  440. data/spec/dummy/tmp/cache/assets/E5A/510/sprockets%2F5ab30bdfde4be86f421c88ef7cbe60ba +0 -0
  441. data/spec/dummy/tmp/cache/assets/E62/D20/sprockets%2F547efc7f9feaecef1fce4a2832c051dc +0 -0
  442. data/spec/dummy/tmp/cache/assets/E87/BE0/sprockets%2F4fe6a7bfbbdfb501bdb6c13c71ede94e +0 -0
  443. data/spec/dummy/tmp/cache/assets/E93/500/sprockets%2F7fef7cbfa3be3ea13be9bf7cd243e39e +0 -0
  444. data/spec/dummy/tmp/cache/assets/EB3/1E0/sprockets%2Fd1aa601ff9cd894ca2d3caaef3fef3ac +0 -0
  445. data/spec/dummy/tmp/cache/sass/0f4170e2c0dfafae958929df2269909fd04155f8/_bourbon.scssc +0 -0
  446. data/spec/dummy/tmp/cache/sass/30550dd06066c61de7356ec0ed99b5a54ab95cbb/_bourbon.scssc +0 -0
  447. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_deprecated-webkit-gradient.scssc +0 -0
  448. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_flex-grid.scssc +0 -0
  449. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_grid-width.scssc +0 -0
  450. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_linear-gradient.scssc +0 -0
  451. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_modular-scale.scssc +0 -0
  452. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_radial-gradient.scssc +0 -0
  453. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_render-gradients.scssc +0 -0
  454. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_tint-shade.scssc +0 -0
  455. data/spec/dummy/tmp/cache/sass/64602afee052d8643f70ff4c3e588bed58fdca6f/_transition-property-name.scssc +0 -0
  456. data/spec/dummy/tmp/cache/sass/6fd3e79c0fc7956a77d618829b24dd38fd27df09/structure.css.sassc +0 -0
  457. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_button.scssc +0 -0
  458. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_clearfix.scssc +0 -0
  459. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_font-face.scssc +0 -0
  460. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_font-family.scssc +0 -0
  461. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_hide-text.scssc +0 -0
  462. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_hidpi-media-query.scssc +0 -0
  463. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_html5-input-types.scssc +0 -0
  464. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_position.scssc +0 -0
  465. data/spec/dummy/tmp/cache/sass/7b8f2ea47363eb8116829d6542aadbd34fab9710/_timing-functions.scssc +0 -0
  466. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/_jquery-ui.css.sassc +0 -0
  467. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/directories.css.sassc +0 -0
  468. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/form_errors.css.sassc +0 -0
  469. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/jquery-ui.css.sassc +0 -0
  470. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/locale.css.sassc +0 -0
  471. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/menu.css.sassc +0 -0
  472. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/structure.css.sassc +0 -0
  473. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/table.css.sassc +0 -0
  474. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/twittered.css.sassc +0 -0
  475. data/spec/dummy/tmp/cache/sass/8a35b8b42cba9732fd41c0a08cedb219aa934fd9/user_info.css.sassc +0 -0
  476. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_button.scssc +0 -0
  477. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_clearfix.scssc +0 -0
  478. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_font-face.scssc +0 -0
  479. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_font-family.scssc +0 -0
  480. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_hide-text.scssc +0 -0
  481. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_html5-input-types.scssc +0 -0
  482. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_position.scssc +0 -0
  483. data/spec/dummy/tmp/cache/sass/9132eaa648859339b3f352e4310d577a1094f5ad/_timing-functions.scssc +0 -0
  484. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_animation.scssc +0 -0
  485. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_appearance.scssc +0 -0
  486. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_background-image.scssc +0 -0
  487. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_background-size.scssc +0 -0
  488. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_background.scssc +0 -0
  489. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_border-image.scssc +0 -0
  490. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_border-radius.scssc +0 -0
  491. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_box-shadow.scssc +0 -0
  492. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_box-sizing.scssc +0 -0
  493. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_columns.scssc +0 -0
  494. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_flex-box.scssc +0 -0
  495. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_image-rendering.scssc +0 -0
  496. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_inline-block.scssc +0 -0
  497. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_linear-gradient.scssc +0 -0
  498. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_prefixer.scssc +0 -0
  499. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_radial-gradient.scssc +0 -0
  500. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_transform.scssc +0 -0
  501. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_transition.scssc +0 -0
  502. data/spec/dummy/tmp/cache/sass/a76620eaab9602774e7379701f4993d4732caf0b/_user-select.scssc +0 -0
  503. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_animation.scssc +0 -0
  504. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_appearance.scssc +0 -0
  505. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_background-image.scssc +0 -0
  506. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_background-size.scssc +0 -0
  507. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_border-image.scssc +0 -0
  508. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_border-radius.scssc +0 -0
  509. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_box-shadow.scssc +0 -0
  510. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_box-sizing.scssc +0 -0
  511. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_columns.scssc +0 -0
  512. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_flex-box.scssc +0 -0
  513. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_inline-block.scssc +0 -0
  514. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_linear-gradient.scssc +0 -0
  515. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_prefixer.scssc +0 -0
  516. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_radial-gradient.scssc +0 -0
  517. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_transform.scssc +0 -0
  518. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_transition.scssc +0 -0
  519. data/spec/dummy/tmp/cache/sass/dfd39df4e3b6da33547a9dc1e9e22d6197d74369/_user-select.scssc +0 -0
  520. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_deprecated-webkit-gradient.scssc +0 -0
  521. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_flex-grid.scssc +0 -0
  522. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_grid-width.scssc +0 -0
  523. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_linear-gradient.scssc +0 -0
  524. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_modular-scale.scssc +0 -0
  525. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_radial-gradient.scssc +0 -0
  526. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_render-gradients.scssc +0 -0
  527. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_tint-shade.scssc +0 -0
  528. data/spec/dummy/tmp/cache/sass/e6bccc5282a4d028b21ae7a6e055956f48bcd357/_transition-property-name.scssc +0 -0
  529. data/spec/dummy/tmp/pids/server.pid +0 -1
  530. data/vendor/assets/devise/bootstrap-devise-rails.css.less +0 -51
@@ -3,25 +3,23 @@ module Cmtool
3
3
  module User
4
4
  def self.included(klass)
5
5
  klass.send :include, SimplyStored::Couch
6
- klass.send :include, Devise::Orm::SimplyStored
6
+ #klass.send :include, Devise::Orm::SimplyStored
7
7
  klass.send :include, InstanceMethods
8
8
  klass.send :extend, ClassMethods
9
9
 
10
10
  klass.property :is_admin, type: :boolean
11
11
  klass.property :active, type: :boolean, default: true
12
12
 
13
- klass.devise :database_authenticatable, :recoverable, :rememberable, :trackable
14
-
15
13
 
16
14
  #== VALIDATIONS
17
15
  klass.validates_presence_of :email
18
16
  klass.validates_uniqueness_of :email, if: lambda{ |u| u.email.present? }
19
17
  klass.validates_presence_of :encrypted_password, if: lambda{ |u| u.email.present? }
20
18
  klass.validates_confirmation_of :password, if: lambda{ |u| u.password.present? }
21
-
22
19
 
23
20
  klass.view :by_email, key: :email
24
21
  end
22
+
25
23
  module InstanceMethods
26
24
  def google?
27
25
  false
@@ -48,6 +48,15 @@ module Cmtool
48
48
  return false if args.first.to_s.last == '?'
49
49
  @register.send(*args)
50
50
  end
51
+
52
+ def engine_link?
53
+ false
54
+ end
55
+
56
+ def resource_link?
57
+ false
58
+ end
59
+
51
60
  end
52
61
 
53
62
  ##
@@ -55,7 +64,7 @@ module Cmtool
55
64
  ##
56
65
  class Divider < ElementBase
57
66
  end
58
-
67
+
59
68
  ##
60
69
  # A group element, works as a new kind of menu, but then within another one
61
70
  ##
@@ -65,8 +74,9 @@ module Cmtool
65
74
  @register = Register.new
66
75
  @options = options
67
76
  @block = block
68
- @register.instance_eval &block
77
+ @register.instance_eval(&block)
69
78
  end
79
+
70
80
  def title
71
81
  @register.title.respond_to?(:call) ? @register.title.call : @register.title
72
82
  end
@@ -79,6 +89,33 @@ module Cmtool
79
89
  end
80
90
  end
81
91
 
92
+ ##
93
+ # Engine link, links to an engine. Root by default
94
+ ##
95
+ class EngineLink < ElementBase
96
+ attr_reader :engine
97
+ def initialize(engine, options = {})
98
+ @engine, @options = engine, options
99
+ end
100
+
101
+ def engine_link?
102
+ true
103
+ end
104
+
105
+
106
+ def title
107
+ options[:title] || engine.name.split('::').first
108
+ end
109
+
110
+ def path
111
+ case options[:path]
112
+ when Symbol then engine.routes.url_helpers.send(:"#{options[:path]}_path")
113
+ when String then options[:path]
114
+ else engine.routes.url_helpers.root_path
115
+ end
116
+ end
117
+ end
118
+
82
119
  ##
83
120
  # Resource link, indicates a link to standard resource. The first argument should
84
121
  ##
@@ -99,10 +136,11 @@ module Cmtool
99
136
  @resource.model_name.human_plural
100
137
  end
101
138
  def path
102
- engine.routes.url_helpers.url_for(controller: nested_controller_name, action: 'index', only_path: true)
139
+ engine.routes.url_helpers.url_for({controller: nested_controller_name, action: 'index', only_path: true}.merge(@options[:path] || {}))
103
140
  end
104
141
 
105
142
  def engine
143
+ return @options[:engine] if @options[:engine].present?
106
144
  base = @options[:scope].presence
107
145
  base ||= @resource.name.split('::').first if @resource.name.index('::')
108
146
  return Rails.application unless base
@@ -114,7 +152,7 @@ module Cmtool
114
152
  end
115
153
  def nested_controller_name
116
154
  if @options[:scope].present?
117
- "#{@options[:scope]}::#{@resource.name}".underscore.pluralize
155
+ "#{@options[:scope]}::#{@resource.name.split('::').last}".underscore.pluralize
118
156
  else
119
157
  @resource.name.underscore.pluralize
120
158
  end
@@ -126,25 +164,36 @@ module Cmtool
126
164
  ##
127
165
  class Register
128
166
  attr_reader :items
167
+
129
168
  def initialize
130
169
  @items = []
131
170
  end
171
+
132
172
  def t(*args)
133
173
  -> { I18n.t(*args) }
134
174
  end
175
+
135
176
  def group(options = {}, &block)
136
177
  @items << Group.new(options, &block)
137
178
  end
179
+
138
180
  def title(*args)
139
181
  return @title if args.empty?
140
182
  @title = args.first
141
183
  end
184
+
142
185
  def resource_link(resource, options = {})
143
186
  @items << ResourceLink.new(resource, options)
144
187
  end
188
+
189
+ def engine_link(engine, options = {})
190
+ @items << EngineLink.new(engine, options)
191
+ end
192
+
145
193
  def resource_links
146
194
  @items.select{|i| i.is_a?(ResourceLink)}
147
195
  end
196
+
148
197
  def method_missing(*args)
149
198
  @items.send(*args).to_a
150
199
  end
@@ -168,12 +217,12 @@ module Cmtool
168
217
  @items = @before + @items + @after
169
218
  end
170
219
 
171
- def append_to(label, &block)
220
+ def append_to(label, options = {}, &block)
172
221
  item = items.find{|i| i.options[:label] == label}
173
222
  if item
174
223
  register = item.instance_variable_get('@register')
175
224
  if register
176
- register.instance_variable_get('@items') << Cmtool::Menu::Divider.new
225
+ register.instance_variable_get('@items') << Cmtool::Menu::Divider.new unless options[:skip_divider].present?
177
226
  register.instance_eval(&block)
178
227
  end
179
228
  else
@@ -1,3 +1,3 @@
1
1
  module Cmtool
2
- VERSION = "0.4.0"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
5
+ ENGINE_PATH = File.expand_path('../../lib/cmtool/engine', __FILE__)
6
+
7
+ require 'rails/all'
8
+ require 'rails/engine/commands'
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe Cmtool::Menu::EngineLink do
4
+ let(:options) { Hash.new }
5
+ let(:link){ Cmtool::Menu::EngineLink.new(Cmtool::Engine, options)}
6
+ subject{ link }
7
+
8
+ its(:title) { should == 'Cmtool' }
9
+
10
+ it 'Should change title when given as option' do
11
+ options[:title] = 'Engine Title'
12
+ link.title.should == 'Engine Title'
13
+ end
14
+
15
+ it "should change the path to internal path when given as symbol option" do
16
+ options[:path] = :faqs
17
+ link.path.should == '/cmtool/faqs'
18
+ end
19
+
20
+ it "should directly return a path specified as a string in the options" do
21
+ options[:path] = 'http://www.google.com/'
22
+ link.path.should == 'http://www.google.com/'
23
+ end
24
+ end
@@ -13,21 +13,21 @@ describe Cmtool::Menu do
13
13
  base_element = Cmtool::Menu::ElementBase.new
14
14
  element_names = Cmtool::Menu::ElementBase.subclasses.map{|e| e.name.sub(/.*::/, '').underscore }
15
15
  for element_name in element_names
16
- base_element.send("#{element_name}?").should be_false
16
+ base_element.send("#{element_name}?").should be false
17
17
  end
18
18
  end
19
19
  end
20
20
  describe Cmtool::Menu::Group do
21
21
  it "should identify itself as such" do
22
- Cmtool::Menu::Group.new.group?.should be_true
22
+ Cmtool::Menu::Group.new.group?.should be true
23
23
  end
24
24
  it "should not identify as resource link" do
25
- Cmtool::Menu::Group.new.resource_link?.should be_false
25
+ Cmtool::Menu::Group.new.resource_link?.should be false
26
26
  end
27
27
  end
28
28
  describe Cmtool::Menu::ResourceLink do
29
29
  it "should identify itself as such" do
30
- Cmtool::Menu::ResourceLink.new(User).resource_link?.should be_true
30
+ Cmtool::Menu::ResourceLink.new(User).resource_link?.should be true
31
31
  end
32
32
  end
33
33
  describe :items do
@@ -38,6 +38,14 @@ describe Cmtool::Menu do
38
38
  Cmtool::Menu.items.size.should == 5
39
39
  end
40
40
 
41
+ it "should have publications as second item" do
42
+ Cmtool::Menu.items[1].options[:label].should == :publications
43
+ end
44
+
45
+ it "should have three publications item by default" do
46
+ Cmtool::Menu.items[1].items.size.should == 3
47
+ end
48
+
41
49
  end
42
50
 
43
51
  describe 'New register block' do
@@ -63,5 +71,51 @@ describe Cmtool::Menu do
63
71
  second_last.should be_a Cmtool::Menu::ResourceLink
64
72
  second_last.resource.should == Page
65
73
  end
74
+
75
+ it "should fall back to normal behaviour when no menu item specified is found" do
76
+ Cmtool::Menu.reset!
77
+ Cmtool::Menu.register do
78
+ append_to :publications do
79
+ resource_link Cmtool::Directory
80
+ end
81
+ end
82
+ Cmtool::Menu.items.size.should == 1
83
+ end
84
+
85
+ it "should have added a divider and a link to publications" do
86
+ Cmtool::Menu.items[1].items.size.should == 5
87
+ end
88
+
89
+ it "should not add a divider when skip_divider option is given" do
90
+ Cmtool::Menu.reset!
91
+ Cmtool::Menu.register &@base_block
92
+ Cmtool::Menu.register do
93
+ append_to :publications, skip_divider: true do
94
+ resource_link Cmtool::Directory
95
+ end
96
+ end
97
+ Cmtool::Menu.items[1].items.size.should == 4
98
+ end
99
+ end
100
+
101
+ describe 'Engine Link' do
102
+ before do
103
+ Cmtool::Menu.register do
104
+ engine_link Cmtool::Engine
105
+ end
106
+ end
107
+ it 'Should add a engine link' do
108
+ Cmtool::Menu.items.last.engine_link?.should be true
109
+ end
110
+ it 'Should not identify as a resource link' do
111
+ Cmtool::Menu.items.last.resource_link?.should be false
112
+ end
113
+
114
+ it 'should set the path when given as symbol' do
115
+ Cmtool::Menu.register do
116
+ engine_link Cmtool::Engine, path: :news_index
117
+ end
118
+ Cmtool::Menu.items.last.path.should == '/cmtool/news'
119
+ end
66
120
  end
67
121
  end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Cmtool::ContactFormsController do
3
+ describe Cmtool::ContactFormsController, type: :controller do
4
+ routes { Cmtool::Engine.routes }
4
5
  before :each do
5
6
  sign_in @user
6
7
  end
@@ -73,22 +74,6 @@ describe Cmtool::ContactFormsController do
73
74
  response.should redirect_to(Cmtool::ContactForm.last)
74
75
  end
75
76
  end
76
-
77
- describe "with invalid params" do
78
- it "assigns a newly created but unsaved contact_form as @contact_form" do
79
- # Trigger the behavior that occurs when invalid params are submitted
80
- Cmtool::ContactForm.any_instance.stub(:save).and_return(false)
81
- post :create, :contact_form => {}
82
- assigns(:contact_form).should be_a_new(Cmtool::ContactForm)
83
- end
84
-
85
- it "re-renders the 'new' template" do
86
- # Trigger the behavior that occurs when invalid params are submitted
87
- Cmtool::ContactForm.any_instance.stub(:save).and_return(false)
88
- post :create, :contact_form => {}
89
- response.should render_template("new")
90
- end
91
- end
92
77
  end
93
78
 
94
79
  describe "PUT update" do
@@ -99,8 +84,8 @@ describe Cmtool::ContactFormsController do
99
84
  # specifies that the Cmtool::ContactForm created on the previous line
100
85
  # receives the :update_attributes message with whatever params are
101
86
  # submitted in the request.
102
- Cmtool::ContactForm.any_instance.should_receive(:update_attributes).with({'these' => 'params'})
103
- put :update, :id => contact_form.id, :contact_form => {'these' => 'params'}
87
+ expect_any_instance_of( Cmtool::ContactForm ).to receive(:update_attributes).with({'name' => 'Zeikurt'})
88
+ put :update, :id => contact_form.id, :contact_form => {'name' => 'Zeikurt'}
104
89
  end
105
90
 
106
91
  it "assigns the requested contact_form as @contact_form" do
@@ -116,23 +101,6 @@ describe Cmtool::ContactFormsController do
116
101
  end
117
102
  end
118
103
 
119
- describe "with invalid params" do
120
- it "assigns the contact_form as @contact_form" do
121
- contact_form = create(:contact_form)
122
- # Trigger the behavior that occurs when invalid params are submitted
123
- Cmtool::ContactForm.any_instance.stub(:save).and_return(false)
124
- put :update, :id => contact_form.id, :contact_form => {}
125
- assigns(:contact_form).should eq(contact_form)
126
- end
127
-
128
- it "re-renders the 'edit' template" do
129
- contact_form = create(:contact_form)
130
- # Trigger the behavior that occurs when invalid params are submitted
131
- Cmtool::ContactForm.any_instance.stub(:save).and_return(false)
132
- put :update, :id => contact_form.id, :contact_form => {}
133
- response.should render_template("edit")
134
- end
135
- end
136
104
  end
137
105
 
138
106
  describe "DELETE destroy" do
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Cmtool::FaqsController do
3
+ describe Cmtool::FaqsController, type: :controller do
4
+ routes { Cmtool::Engine.routes }
4
5
  before :each do
5
6
  sign_in @user
6
7
  end
@@ -67,21 +68,6 @@ describe Cmtool::FaqsController do
67
68
  end
68
69
  end
69
70
 
70
- describe "with invalid params" do
71
- it "assigns a newly created but unsaved faq as @faq" do
72
- # Trigger the behavior that occurs when invalid params are submitted
73
- Cmtool::Faq.any_instance.stub(:save).and_return(false)
74
- post :create, :faq => {}
75
- assigns(:faq).should be_a_new(Cmtool::Faq)
76
- end
77
-
78
- it "re-renders the 'new' template" do
79
- # Trigger the behavior that occurs when invalid params are submitted
80
- Cmtool::Faq.any_instance.stub(:save).and_return(false)
81
- post :create, :faq => {}
82
- response.should render_template("new")
83
- end
84
- end
85
71
  end
86
72
 
87
73
  describe "PUT update" do
@@ -92,8 +78,8 @@ describe Cmtool::FaqsController do
92
78
  # specifies that the Cmtool::Faq created on the previous line
93
79
  # receives the :update_attributes message with whatever params are
94
80
  # submitted in the request.
95
- Cmtool::Faq.any_instance.should_receive(:update_attributes).with({'these' => 'params'})
96
- put :update, :id => faq.id, :faq => {'these' => 'params'}
81
+ expect_any_instance_of( Cmtool::Faq ).to receive(:update_attributes).with({'question' => 'meaning of life'})
82
+ put :update, :id => faq.id, :faq => {'question' => 'meaning of life'}
97
83
  end
98
84
 
99
85
  it "assigns the requested faq as @faq" do
@@ -109,23 +95,6 @@ describe Cmtool::FaqsController do
109
95
  end
110
96
  end
111
97
 
112
- describe "with invalid params" do
113
- it "assigns the faq as @faq" do
114
- faq = create(:faq)
115
- # Trigger the behavior that occurs when invalid params are submitted
116
- Cmtool::Faq.any_instance.stub(:save).and_return(false)
117
- put :update, :id => faq.id, :faq => {}
118
- assigns(:faq).should eq(faq)
119
- end
120
-
121
- it "re-renders the 'edit' template" do
122
- faq = create(:faq)
123
- # Trigger the behavior that occurs when invalid params are submitted
124
- Cmtool::Faq.any_instance.stub(:save).and_return(false)
125
- put :update, :id => faq.id, :faq => {}
126
- response.should render_template("edit")
127
- end
128
- end
129
98
  end
130
99
 
131
100
  describe "DELETE destroy" do
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Cmtool::NewsletterSubscriptionsController do
3
+ describe Cmtool::NewsletterSubscriptionsController, type: :controller do
4
+ routes { Cmtool::Engine.routes }
4
5
  before :each do
5
6
  sign_in @user
6
7
  end
@@ -77,15 +78,15 @@ describe Cmtool::NewsletterSubscriptionsController do
77
78
  describe "with invalid params" do
78
79
  it "assigns a newly created but unsaved newsletter_subscription as @newsletter_subscription" do
79
80
  # Trigger the behavior that occurs when invalid params are submitted
80
- Cmtool::NewsletterSubscription.any_instance.stub(:save).and_return(false)
81
- post :create, :newsletter_subscription => {}
81
+ allow_any_instance_of( Cmtool::NewsletterSubscription ).to receive(:save).and_return(false)
82
+ post :create, :newsletter_subscription => {email: ''}
82
83
  assigns(:newsletter_subscription).should be_a_new(Cmtool::NewsletterSubscription)
83
84
  end
84
85
 
85
86
  it "re-renders the 'new' template" do
86
87
  # Trigger the behavior that occurs when invalid params are submitted
87
- Cmtool::NewsletterSubscription.any_instance.stub(:save).and_return(false)
88
- post :create, :newsletter_subscription => {}
88
+ allow_any_instance_of( Cmtool::NewsletterSubscription ).to receive(:save).and_return(false)
89
+ post :create, :newsletter_subscription => {email: ''}
89
90
  response.should render_template("new")
90
91
  end
91
92
  end
@@ -99,8 +100,8 @@ describe Cmtool::NewsletterSubscriptionsController do
99
100
  # specifies that the Cmtool::NewsletterSubscription created on the previous line
100
101
  # receives the :update_attributes message with whatever params are
101
102
  # submitted in the request.
102
- Cmtool::NewsletterSubscription.any_instance.should_receive(:update_attributes).with({'these' => 'params'})
103
- put :update, :id => newsletter_subscription.id, :newsletter_subscription => {'these' => 'params'}
103
+ Cmtool::NewsletterSubscription.any_instance.should_receive(:update_attributes).with({'email' => 'test44@cmtool.nl'})
104
+ put :update, :id => newsletter_subscription.id, :newsletter_subscription => {'email' => 'test44@cmtool.nl'}
104
105
  end
105
106
 
106
107
  it "assigns the requested newsletter_subscription as @newsletter_subscription" do
@@ -121,7 +122,7 @@ describe Cmtool::NewsletterSubscriptionsController do
121
122
  newsletter_subscription = create(:newsletter_subscription)
122
123
  # Trigger the behavior that occurs when invalid params are submitted
123
124
  Cmtool::NewsletterSubscription.any_instance.stub(:save).and_return(false)
124
- put :update, :id => newsletter_subscription.id, :newsletter_subscription => {}
125
+ put :update, :id => newsletter_subscription.id, :newsletter_subscription => {email: ''}
125
126
  assigns(:newsletter_subscription).should eq(newsletter_subscription)
126
127
  end
127
128
 
@@ -129,7 +130,7 @@ describe Cmtool::NewsletterSubscriptionsController do
129
130
  newsletter_subscription = create(:newsletter_subscription)
130
131
  # Trigger the behavior that occurs when invalid params are submitted
131
132
  Cmtool::NewsletterSubscription.any_instance.stub(:save).and_return(false)
132
- put :update, :id => newsletter_subscription.id, :newsletter_subscription => {}
133
+ put :update, :id => newsletter_subscription.id, :newsletter_subscription => {email: ''}
133
134
  response.should render_template("edit")
134
135
  end
135
136
  end