flyboy 1.0.7 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/controllers/flyboy/application_controller.rb +19 -4
- data/app/controllers/flyboy/goals_controller.rb +3 -3
- data/app/controllers/flyboy/tasks_controller.rb +20 -11
- data/app/helpers/flyboy/application_helper.rb +2 -2
- data/app/models/flyboy/{ability.rb → ability_helper.rb} +7 -6
- data/app/models/flyboy/goal.rb +3 -4
- data/app/models/flyboy/task.rb +16 -13
- data/app/pdfs/flyboy/roadmap.rb +10 -8
- data/app/views/flyboy/goals/_actions.html.slim +1 -1
- data/app/views/flyboy/goals/_context.html.slim +3 -1
- data/app/views/flyboy/goals/_form.html.slim +2 -2
- data/app/views/flyboy/goals/_list.html.slim +6 -6
- data/app/views/flyboy/tasks/_context.html.slim +1 -1
- data/app/views/flyboy/tasks/_form.html.slim +6 -4
- data/app/views/flyboy/tasks/_list.html.slim +11 -11
- data/app/views/flyboy/tasks/index.xls.erb +7 -5
- data/app/views/flyboy/tasks/show.html.slim +2 -2
- data/config/locales/fr.yml +3 -3
- data/config/routes.rb +1 -4
- data/db/migrate/20150525081421_tasks_belongs_to_taskable.rb +7 -0
- data/db/migrate/20150525114120_rename_title_to_name.rb +6 -0
- data/lib/flyboy/engine.rb +2 -0
- data/lib/flyboy/version.rb +1 -1
- data/spec/controllers/flyboy/goals_controller_spec.rb +14 -14
- data/spec/controllers/flyboy/tasks_controller_spec.rb +19 -19
- data/spec/dummy/app/controllers/application_controller.rb +4 -0
- data/spec/dummy/app/models/ability.rb +8 -0
- data/spec/dummy/config/routes.rb +2 -2
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +8 -7
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +2520 -2715
- data/spec/dummy/log/test.log +156405 -27474
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_alerts.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_badges.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_breadcrumbs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_button-groups.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_carousel.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_close.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_code.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_component-animations.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_dropdowns.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_glyphicons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_grid.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_input-groups.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_jumbotron.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_labels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_list-group.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_media.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_mixins.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_modals.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_navbar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_navs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_normalize.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_pager.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_pagination.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_panels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_popovers.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_print.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_progress-bars.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_responsive-embed.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_responsive-utilities.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_scaffolding.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_tables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_thumbnails.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_tooltip.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_type.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_utilities.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_variables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4e34439868ca5d289b34eee3a3857e43ec7085d1/_wells.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_alerts.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_background-variant.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_border-radius.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_center-block.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_clearfix.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_gradients.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_grid-framework.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_grid.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_hide-text.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_image.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_labels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_list-group.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_nav-divider.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_nav-vertical-align.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_opacity.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_pagination.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_panels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_progress-bar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_reset-filter.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_resize.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_responsive-visibility.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_size.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_tab-focus.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_table-row.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_text-emphasis.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_text-overflow.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf0946636e65586cb8f7432099bcd1bceb091d9/_vendor-prefixes.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/all.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/comments.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/contexts.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/filters.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/flash.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/forms.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/pagination.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/styles.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/tables.sassc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e66ce83b9b8e021b9cae55d9b38367c09c2c8adf/_bootstrap-sprockets.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e66ce83b9b8e021b9cae55d9b38367c09c2c8adf/_bootstrap.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/ec3033521a9a2a5fc1c57f6d8eef2f7ab7aea9d2/_font-awesome-sprockets.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/ec3033521a9a2a5fc1c57f6d8eef2f7ab7aea9d2/font-awesome.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_animated.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_bordered-pulled.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_core.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_fixed-width.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_icons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_larger.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_list.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_mixins.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_path.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_rotated-flipped.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_stacked.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/f1ca82597190be3308c111ad654c6c6b7d2b4cc2/_variables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/02760a27d9de50c06581e7199e10b790 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/044b2ea3e0a9d34028d0af55eadb2981 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0845e69fa33bf3206ebe5dda99bc9843 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0fb5af0feae7e56138e28bac2c7c191c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/12ec72982ea3f253ad1c16f9d545e9cb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13474356756eb389416e44a0ddeff07d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/22b68a0c021dc3a000514bd46687b656 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/32341e29ada6a2565af1ff2a4ec82d78 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/467be2bbae063498a5122af60e0950e9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/50bf11084bee4d4c5b42ad61d3fa4f80 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/535583d5f97b123d441fcf3354c2b222 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/591d86a67fffbda5d029424968ab5eb7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5be93061694476ced3bdcc9c67390dac +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6623ec3e3c17f248645febb398617c40 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/676accaff438e6b271758557154e2f12 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/69c5f29dcec0e20eca63838e1aa400c8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6a861d25b6c13ce3badd1f2bf1234bb0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6ab708d682277335bc93bdc02cf27153 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/72fcd10b62e1d0077ed7097ddbdec7ec +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/74a2e2c4822266a8e24262c3b60829fb +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/74bca4da6effdf83108ce52f7e6c1d5a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/75997b26090637a57f89e75d7ae0dfa2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/79edb8f3411453961d10988f14876343 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/7de92894e194df67224196737b85b14a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/800788cadba4d4bede74a4446a4ed9d8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/85aced8a467e95ac9516e2306d76d6e0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/85e37ca2d41ffe6bbccc02af361aad82 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/885a64098b57fc973b4aa5186acc6382 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9024af0b8ef7de7d15ef074f6ba9015a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/92c8627f9bde383f2569c95353130883 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9ec29c175ce464968564f1602774fe9f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a4155f9ef0ce1743a1a3ec66ed09e6f9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a88d9c609d05fcc4670c8742b41816c0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a9eb3ff8189f71e060d63c886d97ac78 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b227a0fdba22b9b08f4dc87e47ce1875 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c0f8220882fe2b96356384d1e61f511a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cc4177a7d907d6e97bbdf17b95ca7bb8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d84d4e8670f9f920c9dd6bdda22df75a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d87810c66e05721ba749c5901c1af296 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d9304523bd34cb3dd17174f74d8e5421 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/de73b90a586a6312cd83ece6298b514d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e1430951fdc18f19b3ea53e2021eff59 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ead4de885816c402cbc7de0c786c2b5a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ebbf6e34b9c86d76a2df717cb5c15080 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ebe08f689f659c024f467b77f32a1c49 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/ef789f8fafa6a77f78f5cd4ce96ca310 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f29201f8014dd937e7e75e6e09423b0b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f657e5c9b0f84af1a2e801d5693f252c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0845e69fa33bf3206ebe5dda99bc9843 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/591d86a67fffbda5d029424968ab5eb7 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/69c5f29dcec0e20eca63838e1aa400c8 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6a861d25b6c13ce3badd1f2bf1234bb0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6ab708d682277335bc93bdc02cf27153 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/74a2e2c4822266a8e24262c3b60829fb +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/75997b26090637a57f89e75d7ae0dfa2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/85aced8a467e95ac9516e2306d76d6e0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a4155f9ef0ce1743a1a3ec66ed09e6f9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d84d4e8670f9f920c9dd6bdda22df75a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ef789f8fafa6a77f78f5cd4ce96ca310 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f657e5c9b0f84af1a2e801d5693f252c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/factories/flyboy_goals.rb +2 -2
- data/spec/factories/flyboy_tasks.rb +2 -2
- data/spec/helpers/flyboy/application_helper_spec.rb +6 -6
- data/spec/models/flyboy/ability_spec.rb +14 -6
- data/spec/models/flyboy/goal_spec.rb +6 -6
- data/spec/models/flyboy/task_spec.rb +3 -3
- data/spec/routes/flyboy/goals_routing_spec.rb +0 -4
- data/spec/routes/flyboy/tasks_routing_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- metadata +332 -52
- data/spec/dummy/tmp/pids/server.pid +0 -1
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/spec/dummy/tmp/cache/assets/development/sass/bde773e21f621643da470aae17100c7569c05cc8/all.sassc
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,7 +1,7 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :flyboy_goal, class: Flyboy::Goal do
|
3
|
-
|
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
|
-
|
3
|
+
taskable { create(:flyboy_goal) }
|
4
4
|
|
5
|
-
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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
|
-
|
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.
|
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,
|
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,
|
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,
|
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,
|
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 :
|
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,
|
51
|
-
task2 = FactoryGirl.create(:flyboy_task,
|
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,
|
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,
|
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,
|
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
|