formula 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/formula/version.rb +1 -1
- data/lib/generators/attached/templates/_form.html.erb +7 -0
- data/lib/generators/attached/templates/_form.html.haml +1 -1
- data/lib/generators/attached/templates/_form.html.slim +6 -0
- metadata +5 -751
- data/test/dummy/README.rdoc +0 -28
- data/test/dummy/Rakefile +0 -6
- data/test/dummy/app/assets/javascripts/application.js.coffee +0 -5
- data/test/dummy/app/assets/stylesheets/application.css.sass +0 -4
- data/test/dummy/app/controllers/application_controller.rb +0 -59
- data/test/dummy/app/controllers/contacts_controller.rb +0 -50
- data/test/dummy/app/controllers/main_controller.rb +0 -10
- data/test/dummy/app/controllers/sessions_controller.rb +0 -43
- data/test/dummy/app/controllers/users_controller.rb +0 -52
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/helpers/contacts_helper.rb +0 -2
- data/test/dummy/app/helpers/main_helper.rb +0 -2
- data/test/dummy/app/helpers/sessions_helper.rb +0 -2
- data/test/dummy/app/helpers/users_helper.rb +0 -2
- data/test/dummy/app/models/contact.rb +0 -19
- data/test/dummy/app/models/group.rb +0 -7
- data/test/dummy/app/models/session.rb +0 -39
- data/test/dummy/app/models/user.rb +0 -19
- data/test/dummy/app/views/contacts/_form.html.haml +0 -12
- data/test/dummy/app/views/contacts/edit.html.haml +0 -6
- data/test/dummy/app/views/contacts/index.html.haml +0 -21
- data/test/dummy/app/views/contacts/new.html.haml +0 -6
- data/test/dummy/app/views/layouts/application.html.haml +0 -21
- data/test/dummy/app/views/main/index.html.haml +0 -7
- data/test/dummy/app/views/sessions/_fields.html.haml +0 -3
- data/test/dummy/app/views/sessions/_form.html.haml +0 -5
- data/test/dummy/app/views/sessions/_modal.html.haml +0 -14
- data/test/dummy/app/views/sessions/new.html.haml +0 -5
- data/test/dummy/app/views/sessions/new.js.haml +0 -2
- data/test/dummy/app/views/users/_fields.html.haml +0 -4
- data/test/dummy/app/views/users/_form.html.haml +0 -5
- data/test/dummy/app/views/users/_modal.html.haml +0 -14
- data/test/dummy/app/views/users/edit.html.haml +0 -6
- data/test/dummy/app/views/users/edit.js.haml +0 -2
- data/test/dummy/app/views/users/new.html.haml +0 -6
- data/test/dummy/app/views/users/new.js.haml +0 -2
- data/test/dummy/bin/bundle +0 -3
- data/test/dummy/bin/rails +0 -4
- data/test/dummy/bin/rake +0 -4
- data/test/dummy/config.ru +0 -4
- data/test/dummy/config/application.rb +0 -23
- data/test/dummy/config/boot.rb +0 -5
- data/test/dummy/config/database.yml +0 -16
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -37
- data/test/dummy/config/environments/production.rb +0 -83
- data/test/dummy/config/environments/test.rb +0 -39
- data/test/dummy/config/initializers/formula.rb +0 -2
- data/test/dummy/config/initializers/other.rb +0 -7
- data/test/dummy/config/locales/en.yml +0 -1
- data/test/dummy/config/routes.rb +0 -9
- data/test/dummy/config/secrets.yml +0 -22
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20110109175811_create_contacts.rb +0 -21
- data/test/dummy/db/migrate/20110213001348_create_groups.rb +0 -9
- data/test/dummy/db/migrate/20120226213733_create_users.rb +0 -11
- data/test/dummy/db/production.sqlite3 +0 -0
- data/test/dummy/db/schema.rb +0 -45
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +0 -4720
- data/test/dummy/log/test.log +0 -1743
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +0 -6
- data/test/dummy/test/controllers/contacts_controller_test.rb +0 -56
- data/test/dummy/test/controllers/main_controller_test.rb +0 -10
- data/test/dummy/test/controllers/sessions_controller_test.rb +0 -7
- data/test/dummy/test/controllers/users_controller_test.rb +0 -7
- data/test/dummy/test/fixtures/contacts.yml +0 -7
- data/test/dummy/test/fixtures/contacts/avatar.png +0 -0
- data/test/dummy/test/fixtures/groups.yml +0 -5
- data/test/dummy/test/fixtures/users.yml +0 -4
- data/test/dummy/test/helpers/contacts_helper_test.rb +0 -4
- data/test/dummy/test/helpers/main_helper_test.rb +0 -4
- data/test/dummy/test/helpers/sessions_helper_test.rb +0 -4
- data/test/dummy/test/helpers/users_helper_test.rb +0 -4
- data/test/dummy/test/intergation/contact_form_test.rb +0 -84
- data/test/dummy/test/models/contact_test.rb +0 -4
- data/test/dummy/test/models/group_test.rb +0 -4
- data/test/dummy/test/models/user_test.rb +0 -4
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_badges.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_close.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_code.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_glyphicons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_input-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_jumbotron.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_media.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_normalize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_print.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_responsive-embed.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_type.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/45bd8938b3413770609ef0f6359e3a777b7f617e/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/71312455ae636b332481faca63a9d97856be8b35/application.css.sassc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_background-variant.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_border-radius.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_center-block.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_clearfix.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_gradients.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_grid-framework.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_hide-text.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_image.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_nav-divider.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_nav-vertical-align.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_opacity.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_progress-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_reset-filter.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_resize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_responsive-visibility.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_size.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_tab-focus.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_table-row.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_text-emphasis.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_text-overflow.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_vendor-prefixes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/02010a0d03c11b9f5e95c8f4d0c239fd +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/023b678a946e6cd30ea4ad6c02156a17 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0cf4564c14b1c6d3aa528c8050da0da2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0d3881005b0646df783d5c24683d34f5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0f1fb58c80d3526ca28f849ade79a207 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/11e24a16dad5901d4baec0d0e5036539 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/12395f105c945b765c30ff5e8762e4f5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1a6846f0a837ae2524e2f9ec89e6ef43 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1d3e71e1abd354dcc20f699b5d142705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1e0cdf62d248817cd0d57552fa59a747 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/249d8739cb936acd5298707eee0d6720 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/261b7bdff795a9c5acb01b7110a2a88b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/28f9392c4ff686022b9aa64fce4f2909 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2d08eff463240e8cc13e4b8901e1d625 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2e5fcc2fdcf6528258fe605905a7bcfe +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/36678fb386cb1e93639340b27f1a32a7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3c2045d945903b236c2059b37428b6b0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/46add8dc415e49665e983a9e13d2f2f7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/50c1885539f61359c48af74fcae1df31 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/518552a8729ee252cee1dd1eb9fe3721 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/531b2b0fe7a5528280d1f96c27cb8e25 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/549433c69cea92d25866de086133f624 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5bf2927a85e8089c52a0fb6defdb8df5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/62c370a7a15001abbfde52a224847a82 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/63f16d220c281d63145042502624d9f1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/645f7fde421d881494d2cfc9dbcf817a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6591980c2206acd5e6c8cedfefdb173e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6c3e053393afe303432ca73f1b41490b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6ec711976ecdfc1d73d4351896cc9a42 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/701985b1c07dc19b8224c5f5503d0b22 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/77dafd76fb74ba9b52e2a0687f00b1e8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8605fbfb07d37d9b742e12eb4410e48b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/86e145a39f85cceeaffdff91ebb61449 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8d3a00d456f50687ae2fd4aa86f2fcbc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8f6a0476c6c743f0b0aaa9ab9017f195 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/905038f8c0d26c6336bee65ebdd054aa +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/90d52fe2f63549e41d650e1b3e741b38 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9a10533dd8cc45575e60f4b03ca18f57 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9c49721d6991847a079dca45f3186f9b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9ccb8dc8b4af336e49d205f87862ef1a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a0ac0765809a3afda8369ad8a0004061 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a1cae0564531ebfc87346b487b299c36 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/aa1cc5f74864cb258dde3736d17b49e3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/aaa64f65b7159c447dab8ded1b82d9a3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/aba01c39014deb19047dc4e531dc9fb0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/accedd3fe9c8dc38b28fdb281224109e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/af05f7f931985697d9e6495813173dfd +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b1b7823cdaadc23fafdbb5b08bd29288 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b289da2ec5097bff5009c88e9ee483df +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b962ab1afdfabe8a1fcca660a7d23494 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c5880aca76ccbb51f9388362e8afc1e6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cb542fac9f977fbb72d40724da47025d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d1126181d20218e4609dc938c49b8c89 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d1fafb1a97f0491105d64b8ffb8257ea +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d681e43e15f4dce9ad4758373d498609 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/dfb751dedba446156ad8faced2578a40 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ebaf8810257ee299d1cfd9e06ee6eb23 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f14dc6e5e5e6b9d1dcfbb2dab612a366 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f155229234251c8de9893a5ecedb0d91 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f2e2ff9e8de22a7f1fd56cdf5980ed5a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f9820cf8e1678aa63b5d45d2f4d1c3a4 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/fb5420244da2a2ebfb8700df72877475 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/fea6989ee18710eb77486d368f1ec23c +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_badges.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_close.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_code.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_glyphicons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_input-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_jumbotron.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_media.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_normalize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_print.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_responsive-embed.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_type.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/31d2ed2667b01dcba4d84bb285bce06ec07dbccf/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/45bd8938b3413770609ef0f6359e3a777b7f617e/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/71312455ae636b332481faca63a9d97856be8b35/application.css.sassc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/71312455ae636b332481faca63a9d97856be8b35/main.css.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_background-variant.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_border-radius.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_center-block.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_clearfix.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_gradients.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_grid-framework.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_hide-text.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_image.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_nav-divider.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_nav-vertical-align.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_opacity.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_progress-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_reset-filter.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_resize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_responsive-visibility.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_size.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_tab-focus.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_table-row.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_text-emphasis.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_text-overflow.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/7d0cc6b50b036530867028f6954e0b64194175c3/_vendor-prefixes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/00e655a65dde5f3c670a0cbb47b9a1ea +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/02010a0d03c11b9f5e95c8f4d0c239fd +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/023b678a946e6cd30ea4ad6c02156a17 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/097a03dc3adc199bfdf7679723266126 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0d3881005b0646df783d5c24683d34f5 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/11e24a16dad5901d4baec0d0e5036539 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/12395f105c945b765c30ff5e8762e4f5 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1a6846f0a837ae2524e2f9ec89e6ef43 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1d3e71e1abd354dcc20f699b5d142705 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1e0cdf62d248817cd0d57552fa59a747 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/249d8739cb936acd5298707eee0d6720 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/261b7bdff795a9c5acb01b7110a2a88b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/28f9392c4ff686022b9aa64fce4f2909 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/293c985fbc5b472503b7d382b4cb2c83 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2d08eff463240e8cc13e4b8901e1d625 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2e5fcc2fdcf6528258fe605905a7bcfe +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2ec4a702b8e8920ba35af876909af335 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/36678fb386cb1e93639340b27f1a32a7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/396d5652ace43c3a394ac73cafd81f8a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/399f8db1b6611d514267eb5dfa882ad3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3c2045d945903b236c2059b37428b6b0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3cd60b3d8a714ddcdc4256558f0aedc0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/415cba7de981a2df5af982b546bbf064 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/436248b718a79a0e0f1b95e148ec1666 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/46add8dc415e49665e983a9e13d2f2f7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/50c1885539f61359c48af74fcae1df31 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/531b2b0fe7a5528280d1f96c27cb8e25 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/53b747c9d99b7030136b65fc6d449002 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/549433c69cea92d25866de086133f624 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5bf2927a85e8089c52a0fb6defdb8df5 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5e7e47133e845f983f542a2482883565 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/63f16d220c281d63145042502624d9f1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/645f7fde421d881494d2cfc9dbcf817a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6591980c2206acd5e6c8cedfefdb173e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/686d3c30c26bfbc861874a81a1ecff3d +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6c3e053393afe303432ca73f1b41490b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6e19a07f286b00981926a2440b4cd1a1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/701985b1c07dc19b8224c5f5503d0b22 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/71d6b2d2cd1209ddffa04ca580a1d49a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/72d215033ed2b6bfa9a44cb8ce571723 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7481e690adc4e4ccb3c9c41c31f2c284 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/77dafd76fb74ba9b52e2a0687f00b1e8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7ade5edd1b6d232bd5eab48b3bdc64c8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/823ee9dbdcc94ee214a06e0deea8ceec +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/86e145a39f85cceeaffdff91ebb61449 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8983f10ef5d6e0da1009637bafcf38dd +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8d139344799ab48f66c0d4d1841da2cb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8d3a00d456f50687ae2fd4aa86f2fcbc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/905038f8c0d26c6336bee65ebdd054aa +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/90659896e8bcb36c56af095026df7ce1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/959c4052adac4c2f18197b37f5de5445 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9a10533dd8cc45575e60f4b03ca18f57 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9c49721d6991847a079dca45f3186f9b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9ccb8dc8b4af336e49d205f87862ef1a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a0ac0765809a3afda8369ad8a0004061 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a22e9dbf576b62c5e09bf7cf6d41d9d4 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/aa1cc5f74864cb258dde3736d17b49e3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/aaa64f65b7159c447dab8ded1b82d9a3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/accedd3fe9c8dc38b28fdb281224109e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/afdb97c4f7aa20b328448c9f02a1180f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b1b7823cdaadc23fafdbb5b08bd29288 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b289da2ec5097bff5009c88e9ee483df +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b962ab1afdfabe8a1fcca660a7d23494 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c5880aca76ccbb51f9388362e8afc1e6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cc29554d9c3106547f93e3f9297f00d9 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d1126181d20218e4609dc938c49b8c89 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d1fafb1a97f0491105d64b8ffb8257ea +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d681e43e15f4dce9ad4758373d498609 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/dcc40f82451492107830b3dd80a36977 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/dd9fd21ad6903dad7568c8da5fc75295 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e26c921e61202567bed22b28f3383472 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e4cb18846a33c0cf46998bc42f53c3e0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e9a718cd714105529e1126df281d5b9b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ebaf8810257ee299d1cfd9e06ee6eb23 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ec6dbdfd437cce2227524111fc0718f2 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f14dc6e5e5e6b9d1dcfbb2dab612a366 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f155229234251c8de9893a5ecedb0d91 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f2e2ff9e8de22a7f1fd56cdf5980ed5a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f5d9005c000eb6564e07542315c81dae +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f6fa20607f7937651d0f70165f1b8cf7 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/fea6989ee18710eb77486d368f1ec23c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/fee934e8e36f453d5e4278a502226197 +0 -0
- data/test/dummy/tmp/restart.txt +0 -0
- data/test/formula_test.rb +0 -7
- data/test/test_helper.rb +0 -15
data/test/dummy/README.rdoc
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
== README
|
2
|
-
|
3
|
-
This README would normally document whatever steps are necessary to get the
|
4
|
-
application up and running.
|
5
|
-
|
6
|
-
Things you may want to cover:
|
7
|
-
|
8
|
-
* Ruby version
|
9
|
-
|
10
|
-
* System dependencies
|
11
|
-
|
12
|
-
* Configuration
|
13
|
-
|
14
|
-
* Database creation
|
15
|
-
|
16
|
-
* Database initialization
|
17
|
-
|
18
|
-
* How to run the test suite
|
19
|
-
|
20
|
-
* Services (job queues, cache servers, search engines, etc.)
|
21
|
-
|
22
|
-
* Deployment instructions
|
23
|
-
|
24
|
-
* ...
|
25
|
-
|
26
|
-
|
27
|
-
Please feel free to use a different markup language if you do not plan to run
|
28
|
-
<tt>rake doc:app</tt>.
|
data/test/dummy/Rakefile
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
class ApplicationController < ActionController::Base
|
2
|
-
|
3
|
-
protect_from_forgery with: :exception
|
4
|
-
|
5
|
-
helper_method :user
|
6
|
-
helper_method :authenticated?
|
7
|
-
|
8
|
-
private
|
9
|
-
|
10
|
-
def user
|
11
|
-
cookie = cookies.signed[:user]
|
12
|
-
@_user ||= User.find(cookie) rescue deauthenticate if cookie
|
13
|
-
end
|
14
|
-
|
15
|
-
def authenticate(user)
|
16
|
-
cookies.permanent.signed[:user] = user.id
|
17
|
-
end
|
18
|
-
|
19
|
-
def deauthenticate
|
20
|
-
cookies.delete :user
|
21
|
-
end
|
22
|
-
|
23
|
-
def authenticated?
|
24
|
-
user.present?
|
25
|
-
end
|
26
|
-
|
27
|
-
def authenticate!
|
28
|
-
unless authenticated?
|
29
|
-
store
|
30
|
-
flash[:warning] = 'You must be logged in.'
|
31
|
-
respond_to do |format|
|
32
|
-
format.html { redirect_to new_user_path }
|
33
|
-
end
|
34
|
-
return false
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def deauthenticate!
|
39
|
-
if authenticated?
|
40
|
-
store
|
41
|
-
flash[:warning] = 'You must be logged out.'
|
42
|
-
respond_to do |format|
|
43
|
-
format.html { redirect_to edit_user_path }
|
44
|
-
end
|
45
|
-
return false
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def store
|
50
|
-
session[:location] = request.fullpath
|
51
|
-
end
|
52
|
-
|
53
|
-
def restore(options)
|
54
|
-
location = session[:location] || options[:default]
|
55
|
-
session[:location] = nil
|
56
|
-
return location
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
class ContactsController < ApplicationController
|
2
|
-
|
3
|
-
respond_to :html
|
4
|
-
|
5
|
-
# GET /contacts
|
6
|
-
def index
|
7
|
-
@contacts = Contact.all
|
8
|
-
respond_with(@contacts)
|
9
|
-
end
|
10
|
-
|
11
|
-
# GET /contacts/new
|
12
|
-
def new
|
13
|
-
@contact = Contact.new
|
14
|
-
respond_with(@contact)
|
15
|
-
end
|
16
|
-
|
17
|
-
# GET /contacts/:id/edit
|
18
|
-
def edit
|
19
|
-
@contact = Contact.find(params[:id])
|
20
|
-
respond_with(@contact)
|
21
|
-
end
|
22
|
-
|
23
|
-
# POST /contacts
|
24
|
-
def create
|
25
|
-
@contact = Contact.create(attributes)
|
26
|
-
respond_with(@contact, :location => contacts_path)
|
27
|
-
end
|
28
|
-
|
29
|
-
# PUT /contacts
|
30
|
-
def update
|
31
|
-
@contact = Contact.find(params[:id])
|
32
|
-
@contact.attributes = attributes
|
33
|
-
@contact.save
|
34
|
-
respond_with(@contact, :location => contacts_path)
|
35
|
-
end
|
36
|
-
|
37
|
-
# DELETE /contacts/:id
|
38
|
-
def destroy
|
39
|
-
@contact = Contact.find(params[:id])
|
40
|
-
@contact.delete
|
41
|
-
respond_with(@contact, :location => contacts_path)
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def attributes
|
47
|
-
params.require(:contact).permit(:name, :details, :email, :phone, :url, :avatar, :secret, :group_id)
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
class SessionsController < ApplicationController
|
2
|
-
|
3
|
-
respond_to :html, :js
|
4
|
-
|
5
|
-
before_filter :authenticate!, :only => [:destroy]
|
6
|
-
before_filter :deauthenticate!, :only => [:new, :create]
|
7
|
-
|
8
|
-
# GET /session/new
|
9
|
-
def new
|
10
|
-
@session = Session.new
|
11
|
-
|
12
|
-
respond_with(@session)
|
13
|
-
end
|
14
|
-
|
15
|
-
# POST /session
|
16
|
-
def create
|
17
|
-
@session = Session.new(attributes)
|
18
|
-
|
19
|
-
flash[:notice] = 'Session create successful.' if @session.valid?
|
20
|
-
flash[:error] = 'Session create failed.' if @session.invalid?
|
21
|
-
|
22
|
-
authenticate(@session.user) if @session.valid?
|
23
|
-
respond_with(@session, :location => restore(:default => root_path))
|
24
|
-
end
|
25
|
-
|
26
|
-
# DELETE /session
|
27
|
-
def destroy
|
28
|
-
flash[:notice] = 'Session destroyed.'
|
29
|
-
|
30
|
-
deauthenticate()
|
31
|
-
|
32
|
-
respond_to do |format|
|
33
|
-
format.html { redirect_to(restore(:default => root_path)) }
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
private
|
38
|
-
|
39
|
-
def attributes
|
40
|
-
params.require(:session).permit(:email, :password)
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
class UsersController < ApplicationController
|
2
|
-
|
3
|
-
respond_to :html, :js
|
4
|
-
|
5
|
-
before_filter :authenticate!, :only => [:edit, :update]
|
6
|
-
before_filter :deauthenticate!, :only => [:new, :create]
|
7
|
-
|
8
|
-
# GET /user/new
|
9
|
-
def new
|
10
|
-
@user = User.new
|
11
|
-
|
12
|
-
respond_with(@user)
|
13
|
-
end
|
14
|
-
|
15
|
-
# GET /user/edit
|
16
|
-
def edit
|
17
|
-
@user = user
|
18
|
-
|
19
|
-
respond_with(@user)
|
20
|
-
end
|
21
|
-
|
22
|
-
# POST /user
|
23
|
-
def create
|
24
|
-
@user = User.create(attributes)
|
25
|
-
|
26
|
-
flash[:notice] = 'User create successful.' if @user.valid?
|
27
|
-
flash[:error] = 'User create failed.' if @user.invalid?
|
28
|
-
|
29
|
-
authenticate(@user) if @user.valid?
|
30
|
-
respond_with(@user, :location => restore(:default => root_path))
|
31
|
-
end
|
32
|
-
|
33
|
-
# PUT /user
|
34
|
-
def update
|
35
|
-
@user = user
|
36
|
-
|
37
|
-
@user.attributes = attributes
|
38
|
-
@user.save
|
39
|
-
|
40
|
-
flash[:notice] = 'User update successful.' if @user.valid?
|
41
|
-
flash[:error] = 'User update failed.' if @user.invalid?
|
42
|
-
|
43
|
-
respond_with(@user, :location => restore(:default => root_path))
|
44
|
-
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
|
-
def attributes
|
49
|
-
params.require(:user).permit(:name, :email, :password)
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
class Contact < ActiveRecord::Base
|
2
|
-
|
3
|
-
attr_accessor :secret
|
4
|
-
|
5
|
-
belongs_to :group
|
6
|
-
|
7
|
-
validates_presence_of :name
|
8
|
-
validates_presence_of :details
|
9
|
-
validates_presence_of :email
|
10
|
-
validates_presence_of :phone
|
11
|
-
validates_presence_of :url
|
12
|
-
validates_presence_of :group
|
13
|
-
|
14
|
-
validates_format_of :email, :with => /\A([^\s]+)@([^\s]+)\Z/i, :message => "is not valid"
|
15
|
-
validates_format_of :phone, :with => /\A[0-9\s\(\)\+\-]+\Z/i, :message => "is not valid"
|
16
|
-
|
17
|
-
has_attached :avatar
|
18
|
-
|
19
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
class Session
|
2
|
-
|
3
|
-
module Formats
|
4
|
-
EMAIL = /\A([^\s]+)@([^\s]+)\Z/i
|
5
|
-
end
|
6
|
-
|
7
|
-
extend ActiveModel::Naming
|
8
|
-
include ActiveModel::Conversion
|
9
|
-
include ActiveModel::Validations
|
10
|
-
|
11
|
-
attr_accessor :email
|
12
|
-
attr_accessor :password
|
13
|
-
|
14
|
-
validates_presence_of :email
|
15
|
-
validates_presence_of :password
|
16
|
-
|
17
|
-
validates_format_of :email, :with => Formats::EMAIL, :message => "should look like an email", :unless => "email.blank?"
|
18
|
-
|
19
|
-
validate do
|
20
|
-
return unless errors.empty?
|
21
|
-
|
22
|
-
errors[:email] << "is not valid" and return unless self.user
|
23
|
-
errors[:password] << "is not valid" and return unless self.user.authenticate(self.password)
|
24
|
-
end
|
25
|
-
|
26
|
-
def initialize(attributes = {})
|
27
|
-
@email = attributes[:email]
|
28
|
-
@password = attributes[:password]
|
29
|
-
end
|
30
|
-
|
31
|
-
def user
|
32
|
-
@user ||= User.find_by_email(self.email)
|
33
|
-
end
|
34
|
-
|
35
|
-
def persisted?
|
36
|
-
user and user.authenticate(self.password)
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
class User < ActiveRecord::Base
|
2
|
-
|
3
|
-
module Formats
|
4
|
-
EMAIL = /\A([^\s]+)@([^\s]+)\Z/i
|
5
|
-
end
|
6
|
-
|
7
|
-
has_secure_password
|
8
|
-
|
9
|
-
validates_presence_of :name
|
10
|
-
validates_presence_of :email
|
11
|
-
validates_presence_of :password
|
12
|
-
|
13
|
-
validates_length_of :password, :in => 4..64, :unless => "password.blank?"
|
14
|
-
|
15
|
-
validates_format_of :email, :with => Formats::EMAIL, :message => "should look like an email", :unless => "email.blank?"
|
16
|
-
|
17
|
-
validates_uniqueness_of :email
|
18
|
-
|
19
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
= formula_form_for contact, :html => { :role => 'form' } do |form|
|
2
|
-
= form.input :name, :hint => "first and last name"
|
3
|
-
= form.input :details, :hint => "a detailed description", :input => { :size => "30x3" }
|
4
|
-
= form.input :email, :hint => "sample@example.com"
|
5
|
-
= form.input :phone, :hint => "+01 (555) 555-5555"
|
6
|
-
= form.input :url, :label => "Website", :hint => "http://example.com/"
|
7
|
-
= form.input :avatar
|
8
|
-
= form.association :group, Group.all, :id, :name, :association => { :html => { :class => 'group' } }
|
9
|
-
= form.input :secret, :as => :hidden
|
10
|
-
.form-actions
|
11
|
-
= form.submit 'Submit', :class => 'btn btn-primary'
|
12
|
-
= link_to 'Cancel', :back, :class => 'btn'
|
@@ -1,21 +0,0 @@
|
|
1
|
-
.page-header
|
2
|
-
%h1
|
3
|
-
List
|
4
|
-
%small Contacts
|
5
|
-
|
6
|
-
%table.table.table-striped.table-bordered
|
7
|
-
%colgroup{ :width => '25%' }
|
8
|
-
%colgroup{ :width => '25%' }
|
9
|
-
%colgroup{ :width => '25%' }
|
10
|
-
%colgroup{ :width => '25%' }
|
11
|
-
- @contacts.each do |contact|
|
12
|
-
%tr
|
13
|
-
%td= contact.name
|
14
|
-
%td= contact.phone
|
15
|
-
%td= mail_to contact.email
|
16
|
-
%td= link_to contact.url
|
17
|
-
%td= link_to 'Edit', edit_contact_path(contact), :class => 'btn btn-warning'
|
18
|
-
%td= link_to 'Destroy', contact, :data => { :confirm => 'Are you sure?' }, :method => :delete, :class => 'btn btn-danger'
|
19
|
-
|
20
|
-
%p
|
21
|
-
= link_to 'New', new_contact_path, :class => 'btn btn-primary'
|
@@ -1,21 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
%html
|
3
|
-
%head
|
4
|
-
%title Formula
|
5
|
-
= stylesheet_link_tag "application"
|
6
|
-
= javascript_include_tag "application"
|
7
|
-
= csrf_meta_tags
|
8
|
-
%body
|
9
|
-
.navbar.navbar-default{ :role => 'navigation' }
|
10
|
-
.container
|
11
|
-
= link_to 'Formula', root_path, :class => 'navbar-brand'
|
12
|
-
%ul.nav.navbar-nav
|
13
|
-
%li= link_to 'Contacts', contacts_path
|
14
|
-
- if authenticated?
|
15
|
-
%li= link_to 'Account', edit_user_path, :remote => true
|
16
|
-
%li= link_to 'Logout', session_path, :method => :delete
|
17
|
-
- else
|
18
|
-
%li= link_to 'Register', new_user_path, :remote => true
|
19
|
-
%li= link_to 'Login', new_session_path, :remote => true
|
20
|
-
.container
|
21
|
-
= yield
|