flyboy 1.0.7 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/app/controllers/flyboy/application_controller.rb +19 -4
  3. data/app/controllers/flyboy/goals_controller.rb +3 -3
  4. data/app/controllers/flyboy/tasks_controller.rb +20 -11
  5. data/app/helpers/flyboy/application_helper.rb +2 -2
  6. data/app/models/flyboy/{ability.rb → ability_helper.rb} +7 -6
  7. data/app/models/flyboy/goal.rb +3 -4
  8. data/app/models/flyboy/task.rb +16 -13
  9. data/app/pdfs/flyboy/roadmap.rb +10 -8
  10. data/app/views/flyboy/goals/_actions.html.slim +1 -1
  11. data/app/views/flyboy/goals/_context.html.slim +3 -1
  12. data/app/views/flyboy/goals/_form.html.slim +2 -2
  13. data/app/views/flyboy/goals/_list.html.slim +6 -6
  14. data/app/views/flyboy/tasks/_context.html.slim +1 -1
  15. data/app/views/flyboy/tasks/_form.html.slim +6 -4
  16. data/app/views/flyboy/tasks/_list.html.slim +11 -11
  17. data/app/views/flyboy/tasks/index.xls.erb +7 -5
  18. data/app/views/flyboy/tasks/show.html.slim +2 -2
  19. data/config/locales/fr.yml +3 -3
  20. data/config/routes.rb +1 -4
  21. data/db/migrate/20150525081421_tasks_belongs_to_taskable.rb +7 -0
  22. data/db/migrate/20150525114120_rename_title_to_name.rb +6 -0
  23. data/lib/flyboy/engine.rb +2 -0
  24. data/lib/flyboy/version.rb +1 -1
  25. data/spec/controllers/flyboy/goals_controller_spec.rb +14 -14
  26. data/spec/controllers/flyboy/tasks_controller_spec.rb +19 -19
  27. data/spec/dummy/app/controllers/application_controller.rb +4 -0
  28. data/spec/dummy/app/models/ability.rb +8 -0
  29. data/spec/dummy/config/routes.rb +2 -2
  30. data/spec/dummy/db/development.sqlite3 +0 -0
  31. data/spec/dummy/db/schema.rb +8 -7
  32. data/spec/dummy/db/test.sqlite3 +0 -0
  33. data/spec/dummy/log/development.log +2520 -2715
  34. data/spec/dummy/log/test.log +156405 -27474
  35. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_alerts.scssc +0 -0
  36. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_badges.scssc +0 -0
  37. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_breadcrumbs.scssc +0 -0
  38. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_button-groups.scssc +0 -0
  39. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_buttons.scssc +0 -0
  40. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_carousel.scssc +0 -0
  41. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_close.scssc +0 -0
  42. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_code.scssc +0 -0
  43. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_component-animations.scssc +0 -0
  44. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_dropdowns.scssc +0 -0
  45. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_forms.scssc +0 -0
  46. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_glyphicons.scssc +0 -0
  47. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_grid.scssc +0 -0
  48. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_input-groups.scssc +0 -0
  49. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_jumbotron.scssc +0 -0
  50. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_labels.scssc +0 -0
  51. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_list-group.scssc +0 -0
  52. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_media.scssc +0 -0
  53. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_mixins.scssc +0 -0
  54. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_modals.scssc +0 -0
  55. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_navbar.scssc +0 -0
  56. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_navs.scssc +0 -0
  57. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_normalize.scssc +0 -0
  58. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_pager.scssc +0 -0
  59. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_pagination.scssc +0 -0
  60. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_panels.scssc +0 -0
  61. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_popovers.scssc +0 -0
  62. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_print.scssc +0 -0
  63. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_progress-bars.scssc +0 -0
  64. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_responsive-embed.scssc +0 -0
  65. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_responsive-utilities.scssc +0 -0
  66. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_scaffolding.scssc +0 -0
  67. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_tables.scssc +0 -0
  68. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_thumbnails.scssc +0 -0
  69. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_tooltip.scssc +0 -0
  70. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_type.scssc +0 -0
  71. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_utilities.scssc +0 -0
  72. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_variables.scssc +0 -0
  73. data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_wells.scssc +0 -0
  74. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_alerts.scssc +0 -0
  75. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_background-variant.scssc +0 -0
  76. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_border-radius.scssc +0 -0
  77. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_buttons.scssc +0 -0
  78. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_center-block.scssc +0 -0
  79. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_clearfix.scssc +0 -0
  80. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_forms.scssc +0 -0
  81. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_gradients.scssc +0 -0
  82. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_grid-framework.scssc +0 -0
  83. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_grid.scssc +0 -0
  84. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_hide-text.scssc +0 -0
  85. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_image.scssc +0 -0
  86. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_labels.scssc +0 -0
  87. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_list-group.scssc +0 -0
  88. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_nav-divider.scssc +0 -0
  89. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_nav-vertical-align.scssc +0 -0
  90. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_opacity.scssc +0 -0
  91. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_pagination.scssc +0 -0
  92. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_panels.scssc +0 -0
  93. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_progress-bar.scssc +0 -0
  94. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_reset-filter.scssc +0 -0
  95. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_resize.scssc +0 -0
  96. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_responsive-visibility.scssc +0 -0
  97. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_size.scssc +0 -0
  98. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_tab-focus.scssc +0 -0
  99. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_table-row.scssc +0 -0
  100. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_text-emphasis.scssc +0 -0
  101. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_text-overflow.scssc +0 -0
  102. data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_vendor-prefixes.scssc +0 -0
  103. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/all.sassc +0 -0
  104. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/comments.sassc +0 -0
  105. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/contexts.sassc +0 -0
  106. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/filters.sassc +0 -0
  107. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/flash.sassc +0 -0
  108. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/forms.sassc +0 -0
  109. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/pagination.sassc +0 -0
  110. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/styles.sassc +0 -0
  111. data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/tables.sassc +0 -0
  112. data/spec/dummy/tmp/cache/assets/development/sass/e66ce83b9b8e021b9cae55d9b38367c09c2c8adf/_bootstrap-sprockets.scssc +0 -0
  113. data/spec/dummy/tmp/cache/assets/development/sass/e66ce83b9b8e021b9cae55d9b38367c09c2c8adf/_bootstrap.scssc +0 -0
  114. data/spec/dummy/tmp/cache/assets/development/sass/ec3033521a9a2a5fc1c57f6d8eef2f7ab7aea9d2/_font-awesome-sprockets.scssc +0 -0
  115. data/spec/dummy/tmp/cache/assets/development/sass/ec3033521a9a2a5fc1c57f6d8eef2f7ab7aea9d2/font-awesome.scssc +0 -0
  116. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_animated.scssc +0 -0
  117. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_bordered-pulled.scssc +0 -0
  118. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_core.scssc +0 -0
  119. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_fixed-width.scssc +0 -0
  120. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_icons.scssc +0 -0
  121. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_larger.scssc +0 -0
  122. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_list.scssc +0 -0
  123. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_mixins.scssc +0 -0
  124. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_path.scssc +0 -0
  125. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_rotated-flipped.scssc +0 -0
  126. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_stacked.scssc +0 -0
  127. data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_variables.scssc +0 -0
  128. data/spec/dummy/tmp/cache/assets/development/sprockets/02760a27d9de50c06581e7199e10b790 +0 -0
  129. data/spec/dummy/tmp/cache/assets/development/sprockets/044b2ea3e0a9d34028d0af55eadb2981 +0 -0
  130. data/spec/dummy/tmp/cache/assets/development/sprockets/0845e69fa33bf3206ebe5dda99bc9843 +0 -0
  131. data/spec/dummy/tmp/cache/assets/development/sprockets/0fb5af0feae7e56138e28bac2c7c191c +0 -0
  132. data/spec/dummy/tmp/cache/assets/development/sprockets/12ec72982ea3f253ad1c16f9d545e9cb +0 -0
  133. data/spec/dummy/tmp/cache/assets/development/sprockets/13474356756eb389416e44a0ddeff07d +0 -0
  134. data/spec/dummy/tmp/cache/assets/development/sprockets/22b68a0c021dc3a000514bd46687b656 +0 -0
  135. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  136. data/spec/dummy/tmp/cache/assets/development/sprockets/32341e29ada6a2565af1ff2a4ec82d78 +0 -0
  137. data/spec/dummy/tmp/cache/assets/development/sprockets/467be2bbae063498a5122af60e0950e9 +0 -0
  138. data/spec/dummy/tmp/cache/assets/development/sprockets/50bf11084bee4d4c5b42ad61d3fa4f80 +0 -0
  139. data/spec/dummy/tmp/cache/assets/development/sprockets/535583d5f97b123d441fcf3354c2b222 +0 -0
  140. data/spec/dummy/tmp/cache/assets/development/sprockets/591d86a67fffbda5d029424968ab5eb7 +0 -0
  141. data/spec/dummy/tmp/cache/assets/development/sprockets/5be93061694476ced3bdcc9c67390dac +0 -0
  142. data/spec/dummy/tmp/cache/assets/development/sprockets/6623ec3e3c17f248645febb398617c40 +0 -0
  143. data/spec/dummy/tmp/cache/assets/development/sprockets/676accaff438e6b271758557154e2f12 +0 -0
  144. data/spec/dummy/tmp/cache/assets/development/sprockets/69c5f29dcec0e20eca63838e1aa400c8 +0 -0
  145. data/spec/dummy/tmp/cache/assets/development/sprockets/6a861d25b6c13ce3badd1f2bf1234bb0 +0 -0
  146. data/spec/dummy/tmp/cache/assets/development/sprockets/6ab708d682277335bc93bdc02cf27153 +0 -0
  147. data/spec/dummy/tmp/cache/assets/development/sprockets/72fcd10b62e1d0077ed7097ddbdec7ec +0 -0
  148. data/spec/dummy/tmp/cache/assets/development/sprockets/74a2e2c4822266a8e24262c3b60829fb +0 -0
  149. data/spec/dummy/tmp/cache/assets/development/sprockets/74bca4da6effdf83108ce52f7e6c1d5a +0 -0
  150. data/spec/dummy/tmp/cache/assets/development/sprockets/75997b26090637a57f89e75d7ae0dfa2 +0 -0
  151. data/spec/dummy/tmp/cache/assets/development/sprockets/79edb8f3411453961d10988f14876343 +0 -0
  152. data/spec/dummy/tmp/cache/assets/development/sprockets/7de92894e194df67224196737b85b14a +0 -0
  153. data/spec/dummy/tmp/cache/assets/development/sprockets/800788cadba4d4bede74a4446a4ed9d8 +0 -0
  154. data/spec/dummy/tmp/cache/assets/development/sprockets/85aced8a467e95ac9516e2306d76d6e0 +0 -0
  155. data/spec/dummy/tmp/cache/assets/development/sprockets/85e37ca2d41ffe6bbccc02af361aad82 +0 -0
  156. data/spec/dummy/tmp/cache/assets/development/sprockets/885a64098b57fc973b4aa5186acc6382 +0 -0
  157. data/spec/dummy/tmp/cache/assets/development/sprockets/9024af0b8ef7de7d15ef074f6ba9015a +0 -0
  158. data/spec/dummy/tmp/cache/assets/development/sprockets/92c8627f9bde383f2569c95353130883 +0 -0
  159. data/spec/dummy/tmp/cache/assets/development/sprockets/9ec29c175ce464968564f1602774fe9f +0 -0
  160. data/spec/dummy/tmp/cache/assets/development/sprockets/a4155f9ef0ce1743a1a3ec66ed09e6f9 +0 -0
  161. data/spec/dummy/tmp/cache/assets/development/sprockets/a88d9c609d05fcc4670c8742b41816c0 +0 -0
  162. data/spec/dummy/tmp/cache/assets/development/sprockets/a9eb3ff8189f71e060d63c886d97ac78 +0 -0
  163. data/spec/dummy/tmp/cache/assets/development/sprockets/b227a0fdba22b9b08f4dc87e47ce1875 +0 -0
  164. data/spec/dummy/tmp/cache/assets/development/sprockets/c0f8220882fe2b96356384d1e61f511a +0 -0
  165. data/spec/dummy/tmp/cache/assets/development/sprockets/cc4177a7d907d6e97bbdf17b95ca7bb8 +0 -0
  166. data/spec/dummy/tmp/cache/assets/development/sprockets/d84d4e8670f9f920c9dd6bdda22df75a +0 -0
  167. data/spec/dummy/tmp/cache/assets/development/sprockets/d87810c66e05721ba749c5901c1af296 +0 -0
  168. data/spec/dummy/tmp/cache/assets/development/sprockets/d9304523bd34cb3dd17174f74d8e5421 +0 -0
  169. data/spec/dummy/tmp/cache/assets/development/sprockets/de73b90a586a6312cd83ece6298b514d +0 -0
  170. data/spec/dummy/tmp/cache/assets/development/sprockets/e1430951fdc18f19b3ea53e2021eff59 +0 -0
  171. data/spec/dummy/tmp/cache/assets/development/sprockets/ead4de885816c402cbc7de0c786c2b5a +0 -0
  172. data/spec/dummy/tmp/cache/assets/development/sprockets/ebbf6e34b9c86d76a2df717cb5c15080 +0 -0
  173. data/spec/dummy/tmp/cache/assets/development/sprockets/ebe08f689f659c024f467b77f32a1c49 +0 -0
  174. data/spec/dummy/tmp/cache/assets/development/sprockets/ef789f8fafa6a77f78f5cd4ce96ca310 +0 -0
  175. data/spec/dummy/tmp/cache/assets/development/sprockets/f29201f8014dd937e7e75e6e09423b0b +0 -0
  176. data/spec/dummy/tmp/cache/assets/development/sprockets/f657e5c9b0f84af1a2e801d5693f252c +0 -0
  177. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  178. data/spec/dummy/tmp/cache/assets/test/sprockets/0845e69fa33bf3206ebe5dda99bc9843 +0 -0
  179. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  180. data/spec/dummy/tmp/cache/assets/test/sprockets/591d86a67fffbda5d029424968ab5eb7 +0 -0
  181. data/spec/dummy/tmp/cache/assets/test/sprockets/69c5f29dcec0e20eca63838e1aa400c8 +0 -0
  182. data/spec/dummy/tmp/cache/assets/test/sprockets/6a861d25b6c13ce3badd1f2bf1234bb0 +0 -0
  183. data/spec/dummy/tmp/cache/assets/test/sprockets/6ab708d682277335bc93bdc02cf27153 +0 -0
  184. data/spec/dummy/tmp/cache/assets/test/sprockets/74a2e2c4822266a8e24262c3b60829fb +0 -0
  185. data/spec/dummy/tmp/cache/assets/test/sprockets/75997b26090637a57f89e75d7ae0dfa2 +0 -0
  186. data/spec/dummy/tmp/cache/assets/test/sprockets/85aced8a467e95ac9516e2306d76d6e0 +0 -0
  187. data/spec/dummy/tmp/cache/assets/test/sprockets/a4155f9ef0ce1743a1a3ec66ed09e6f9 +0 -0
  188. data/spec/dummy/tmp/cache/assets/test/sprockets/d84d4e8670f9f920c9dd6bdda22df75a +0 -0
  189. data/spec/dummy/tmp/cache/assets/test/sprockets/ef789f8fafa6a77f78f5cd4ce96ca310 +0 -0
  190. data/spec/dummy/tmp/cache/assets/test/sprockets/f657e5c9b0f84af1a2e801d5693f252c +0 -0
  191. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  192. data/spec/factories/flyboy_goals.rb +2 -2
  193. data/spec/factories/flyboy_tasks.rb +2 -2
  194. data/spec/helpers/flyboy/application_helper_spec.rb +6 -6
  195. data/spec/models/flyboy/ability_spec.rb +14 -6
  196. data/spec/models/flyboy/goal_spec.rb +6 -6
  197. data/spec/models/flyboy/task_spec.rb +3 -3
  198. data/spec/routes/flyboy/goals_routing_spec.rb +0 -4
  199. data/spec/routes/flyboy/tasks_routing_spec.rb +1 -1
  200. data/spec/spec_helper.rb +2 -0
  201. metadata +332 -52
  202. data/spec/dummy/tmp/pids/server.pid +0 -1
@@ -1,7 +1,7 @@
1
1
  FactoryGirl.define do
2
2
  factory :flyboy_goal, class: Flyboy::Goal do
3
- title { "I-am-a-goal_#{Kernel.rand(0..9999)}" }
3
+ name { "I-am-a-goal_#{Kernel.rand(0..9999)}" }
4
4
  description { "I-am-the-goal-description_#{Kernel.rand(0..9999)}" }
5
- status "open"
5
+ status { "open" }
6
6
  end
7
7
  end
@@ -1,8 +1,8 @@
1
1
  FactoryGirl.define do
2
2
  factory :flyboy_task, class: Flyboy::Task do
3
- goal { FactoryGirl.create(:flyboy_goal) }
3
+ taskable { create(:flyboy_goal) }
4
4
 
5
- title { "I-am-a-task#{Kernel.rand(0..9999)}" }
5
+ name { "I-am-a-task#{Kernel.rand(0..9999)}" }
6
6
  description { "I-am-the-task-description_#{Kernel.rand(0..9999)}" }
7
7
  reminder "2013-08-27"
8
8
  term "2013-08-27"
@@ -21,17 +21,17 @@ describe Flyboy::ApplicationHelper, type: :helper do
21
21
  FactoryGirl.create(:flyboy_goal)
22
22
  }
23
23
  let!(:task_onalert_for_other_goal) {
24
- FactoryGirl.create(:flyboy_task, goal: other_goal, reminder: Date.today - 3.days, term: Date.today - 1.day, done: false)
24
+ FactoryGirl.create(:flyboy_task, taskable: other_goal, reminder: Date.today - 3.days, term: Date.today - 1.day, done: false)
25
25
  }
26
26
  let!(:task_onwarning_for_other_goal) {
27
- FactoryGirl.create(:flyboy_task, goal: other_goal, reminder: Date.today - 3.days, term: Date.today + 1.day, done: false)
27
+ FactoryGirl.create(:flyboy_task, taskable: other_goal, reminder: Date.today - 3.days, term: Date.today + 1.day, done: false)
28
28
  }
29
29
 
30
30
  let!(:task_ontime) {
31
- FactoryGirl.create(:flyboy_task, goal: goal, reminder: Date.today + 1.day, term: Date.today + 3.days, done: false)
31
+ FactoryGirl.create(:flyboy_task, taskable: goal, reminder: Date.today + 1.day, term: Date.today + 3.days, done: false)
32
32
  }
33
33
  let!(:task_finished) {
34
- FactoryGirl.create(:flyboy_task, goal: goal, reminder: Date.today - 3.days, term: Date.today - 1.day, done: true)
34
+ FactoryGirl.create(:flyboy_task, taskable: goal, reminder: Date.today - 3.days, term: Date.today - 1.day, done: true)
35
35
  }
36
36
 
37
37
  context 'when all tasks are ontime or finished' do
@@ -49,14 +49,14 @@ describe Flyboy::ApplicationHelper, type: :helper do
49
49
  end
50
50
 
51
51
  context 'when at least one task is on warning' do
52
- let!(:task_onwarning) {FactoryGirl.create(:flyboy_task, goal: goal, reminder: Date.today - 3.days, term: Date.today + 1.day, done: false)}
52
+ let!(:task_onwarning) {FactoryGirl.create(:flyboy_task, taskable: goal, reminder: Date.today - 3.days, term: Date.today + 1.day, done: false)}
53
53
  it 'should return onwarning' do
54
54
  goal_color(goal).should eq('onwarning')
55
55
  end
56
56
  end
57
57
 
58
58
  context 'when at least one task is on alert' do
59
- let!(:task_onwarning) {FactoryGirl.create(:flyboy_task, goal: goal, reminder: Date.today - 3.days, term: Date.today - 1.day, done: false)}
59
+ let!(:task_onwarning) {FactoryGirl.create(:flyboy_task, taskable: goal, reminder: Date.today - 3.days, term: Date.today - 1.day, done: false)}
60
60
 
61
61
  it 'should return onalert' do
62
62
  goal_color(goal).should eq('onalert')
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe Flyboy::Ability do
4
4
  let(:ability){
5
- Flyboy::Ability.new
5
+ Ability.new
6
6
  }
7
7
 
8
8
  describe Flyboy::Goal do
@@ -55,7 +55,7 @@ describe Flyboy::Ability do
55
55
 
56
56
  it "can't close goals with undone tasks" do
57
57
  task = FactoryGirl.create(:flyboy_task, done: false)
58
- goal = task.goal
58
+ goal = task.taskable
59
59
  expect(ability.can?(:close, goal)).to be false
60
60
  end
61
61
 
@@ -89,25 +89,25 @@ describe Flyboy::Ability do
89
89
 
90
90
  it "can update task in an open goal" do
91
91
  goal = FactoryGirl.create(:flyboy_goal, status: "open")
92
- task = FactoryGirl.create(:flyboy_task, goal: goal)
92
+ task = FactoryGirl.create(:flyboy_task, taskable: goal)
93
93
  expect(ability.can?(:update, task)).to be true
94
94
  end
95
95
 
96
96
  it "can't update task in an closed goal" do
97
97
  goal = FactoryGirl.create(:flyboy_goal, status: "closed")
98
- task = FactoryGirl.create(:flyboy_task, goal: goal)
98
+ task = FactoryGirl.create(:flyboy_task, taskable: goal)
99
99
  expect(ability.can?(:update, task)).to be false
100
100
  end
101
101
 
102
102
  it "can delete task in an open goal" do
103
103
  goal = FactoryGirl.create(:flyboy_goal, status: "open")
104
- task = FactoryGirl.create(:flyboy_task, goal: goal)
104
+ task = FactoryGirl.create(:flyboy_task, taskable: goal)
105
105
  expect(ability.can?(:delete, task)).to be true
106
106
  end
107
107
 
108
108
  it "can't delete task in an closed goal" do
109
109
  goal = FactoryGirl.create(:flyboy_goal, status: "closed")
110
- task = FactoryGirl.create(:flyboy_task, goal: goal)
110
+ task = FactoryGirl.create(:flyboy_task, taskable: goal)
111
111
  expect(ability.can?(:delete, task)).to be false
112
112
  end
113
113
 
@@ -135,6 +135,14 @@ describe Flyboy::Ability do
135
135
  task = FactoryGirl.create(:flyboy_task, reminder: Date.today, term: Date.tomorrow)
136
136
  expect(ability.can?(:snooze, task)).to be false
137
137
  end
138
+
139
+ it "can't create a task if it can't read taskable" do
140
+ class DummyObject; end
141
+ task = build(:flyboy_task)
142
+ def task.taskable; DummyObject.new; end
143
+
144
+ expect(ability.can?(:create, task)).to be false
145
+ end
138
146
  end
139
147
 
140
148
  end
@@ -4,7 +4,7 @@ describe Flyboy::Goal do
4
4
  it { should have_many(:tasks).dependent(:destroy) }
5
5
 
6
6
  describe '#validation' do
7
- it { should validate_presence_of :title }
7
+ it { should validate_presence_of :name }
8
8
 
9
9
  it "should validate the goal when not step is assigned" do
10
10
  goal = FactoryGirl.build(:flyboy_goal)
@@ -47,8 +47,8 @@ describe Flyboy::Goal do
47
47
  describe "#progress" do
48
48
  it "update task should update goal progress" do
49
49
  goal = FactoryGirl.create(:flyboy_goal)
50
- task1 = FactoryGirl.create(:flyboy_task, goal: goal, progress: 50)
51
- task2 = FactoryGirl.create(:flyboy_task, goal: goal, progress: 100)
50
+ task1 = FactoryGirl.create(:flyboy_task, taskable: goal, progress: 50)
51
+ task2 = FactoryGirl.create(:flyboy_task, taskable: goal, progress: 100)
52
52
  expect(goal.reload.progress).to eq 75
53
53
  task1.progress = 100
54
54
  task1.save
@@ -57,7 +57,7 @@ describe Flyboy::Goal do
57
57
 
58
58
  it "delete task should update goal progress" do
59
59
  goal = FactoryGirl.create(:flyboy_goal)
60
- task1 = FactoryGirl.create(:flyboy_task, goal: goal, progress: 50)
60
+ task1 = FactoryGirl.create(:flyboy_task, taskable: goal, progress: 50)
61
61
  expect(goal.reload.progress).to eq 50
62
62
  task1.destroy
63
63
  expect(goal.reload.progress).to eq 0
@@ -87,14 +87,14 @@ describe Flyboy::Goal do
87
87
 
88
88
  it "open goal with undone tasks can't be closed" do
89
89
  goal = FactoryGirl.create(:flyboy_goal, status: "open")
90
- task = FactoryGirl.create(:flyboy_task, goal: goal, done: false)
90
+ task = FactoryGirl.create(:flyboy_task, taskable: goal, done: false)
91
91
  expect(goal.close).to be false
92
92
  expect(goal.status).to eq "open"
93
93
  end
94
94
 
95
95
  it "open goal with all tasks done can be closed" do
96
96
  goal = FactoryGirl.create(:flyboy_goal, status: "open")
97
- task = FactoryGirl.create(:flyboy_task, goal: goal, done: true)
97
+ task = FactoryGirl.create(:flyboy_task, taskable: goal, done: true)
98
98
  expect(goal.close).to be true
99
99
  expect(goal.status).to eq "closed"
100
100
  end