muck-invites 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +30 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +6 -0
- data/Rakefile +66 -0
- data/VERSION +1 -0
- data/app/controllers/muck/invites_controller.rb +62 -0
- data/app/models/invite_mailer.rb +28 -0
- data/app/models/user_invite.rb +6 -0
- data/app/views/invite_mailer/invite_notification.text.html.erb +9 -0
- data/app/views/invite_mailer/invite_notification.text.plain.erb +9 -0
- data/app/views/invite_mailer/invited_joined_notification.text.html.erb +5 -0
- data/app/views/invite_mailer/invited_joined_notification.text.plain.erb +5 -0
- data/app/views/invites/_get_contacts.html.erb +27 -0
- data/app/views/invites/new.html.erb +50 -0
- data/config/muck_invites_routes.rb +3 -0
- data/db/migrate/20090928213532_create_invites.rb +20 -0
- data/install.rb +1 -0
- data/lib/active_record/acts/muck_invite.rb +57 -0
- data/lib/active_record/acts/muck_inviter.rb +68 -0
- data/lib/muck_invites.rb +3 -0
- data/lib/muck_invites/initialize_routes.rb +8 -0
- data/lib/muck_invites/tasks.rb +28 -0
- data/locales/ar.yml +19 -0
- data/locales/bg.yml +19 -0
- data/locales/ca.yml +19 -0
- data/locales/cs.yml +19 -0
- data/locales/da.yml +19 -0
- data/locales/de.yml +19 -0
- data/locales/el.yml +19 -0
- data/locales/en.yml +19 -0
- data/locales/es.yml +19 -0
- data/locales/et.yml +19 -0
- data/locales/fa.yml +19 -0
- data/locales/fi.yml +19 -0
- data/locales/fr.yml +19 -0
- data/locales/gl.yml +19 -0
- data/locales/hi.yml +19 -0
- data/locales/hr.yml +19 -0
- data/locales/hu.yml +19 -0
- data/locales/id.yml +19 -0
- data/locales/it.yml +19 -0
- data/locales/iw.yml +19 -0
- data/locales/ja.yml +19 -0
- data/locales/ko.yml +19 -0
- data/locales/lt.yml +19 -0
- data/locales/lv.yml +19 -0
- data/locales/mt.yml +19 -0
- data/locales/nl.yml +19 -0
- data/locales/no.yml +20 -0
- data/locales/pl.yml +19 -0
- data/locales/pt-PT.yml +19 -0
- data/locales/ro.yml +19 -0
- data/locales/ru.yml +19 -0
- data/locales/sk.yml +19 -0
- data/locales/sl.yml +19 -0
- data/locales/sq.yml +19 -0
- data/locales/sr.yml +19 -0
- data/locales/sv.yml +19 -0
- data/locales/th.yml +19 -0
- data/locales/tl.yml +19 -0
- data/locales/tr.yml +19 -0
- data/locales/uk.yml +19 -0
- data/locales/vi.yml +19 -0
- data/locales/zh-CN.yml +19 -0
- data/locales/zh-TW.yml +19 -0
- data/locales/zh.yml +19 -0
- data/muck-invites.gemspec +454 -0
- data/public/stylesheets/muck-invites.css +13 -0
- data/rails/init.rb +18 -0
- data/tasks/muck_invites_tasks.rake +1 -0
- data/test/rails_root/.gitignore +8 -0
- data/test/rails_root/.rake_tasks +103 -0
- data/test/rails_root/Capfile +3 -0
- data/test/rails_root/Rakefile +14 -0
- data/test/rails_root/app/controllers/application_controller.rb +23 -0
- data/test/rails_root/app/controllers/default_controller.rb +9 -0
- data/test/rails_root/app/helpers/application_helper.rb +3 -0
- data/test/rails_root/app/models/.keep +0 -0
- data/test/rails_root/app/models/activity.rb +26 -0
- data/test/rails_root/app/models/invite.rb +4 -0
- data/test/rails_root/app/models/user.rb +9 -0
- data/test/rails_root/app/models/user_session.rb +2 -0
- data/test/rails_root/app/views/default/index.html.erb +2 -0
- data/test/rails_root/app/views/layouts/default.html.erb +29 -0
- data/test/rails_root/config/boot.rb +109 -0
- data/test/rails_root/config/database.yml +23 -0
- data/test/rails_root/config/environment.rb +25 -0
- data/test/rails_root/config/environments/cucumber.rb +38 -0
- data/test/rails_root/config/environments/development.rb +19 -0
- data/test/rails_root/config/environments/production.rb +1 -0
- data/test/rails_root/config/environments/test.rb +42 -0
- data/test/rails_root/config/global_config.yml +81 -0
- data/test/rails_root/config/initializers/inflections.rb +10 -0
- data/test/rails_root/config/initializers/mime_types.rb +5 -0
- data/test/rails_root/config/initializers/requires.rb +13 -0
- data/test/rails_root/config/initializers/session_store.rb +8 -0
- data/test/rails_root/config/routes.rb +6 -0
- data/test/rails_root/db/.keep +0 -0
- data/test/rails_root/db/migrate/20090320174818_create_muck_permissions_and_roles.rb +16 -0
- data/test/rails_root/db/migrate/20090402033319_add_muck_activities.rb +36 -0
- data/test/rails_root/db/migrate/20090402234137_create_languages.rb +18 -0
- data/test/rails_root/db/migrate/20090426041056_create_countries.rb +15 -0
- data/test/rails_root/db/migrate/20090426041103_create_states.rb +18 -0
- data/test/rails_root/db/migrate/20090602041838_create_users.rb +39 -0
- data/test/rails_root/db/migrate/20090608073052_create_friends.rb +16 -0
- data/test/rails_root/db/migrate/20090703055724_add_contents.rb +49 -0
- data/test/rails_root/db/migrate/20090704220055_create_slugs.rb +18 -0
- data/test/rails_root/db/migrate/20090928213532_create_invites.rb +20 -0
- data/test/rails_root/features/comments.feature +21 -0
- data/test/rails_root/features/step_definitions/comment_steps.rb +11 -0
- data/test/rails_root/features/step_definitions/common_steps.rb +93 -0
- data/test/rails_root/features/step_definitions/webrat_steps.rb +128 -0
- data/test/rails_root/features/support/env.rb +49 -0
- data/test/rails_root/features/support/paths.rb +33 -0
- data/test/rails_root/lib/tasks/cucumber.rake +20 -0
- data/test/rails_root/public/.htaccess +40 -0
- data/test/rails_root/public/404.html +30 -0
- data/test/rails_root/public/422.html +30 -0
- data/test/rails_root/public/500.html +30 -0
- data/test/rails_root/public/dispatch.rb +10 -0
- data/test/rails_root/public/favicon.ico +0 -0
- data/test/rails_root/public/images/arrow_down.gif +0 -0
- data/test/rails_root/public/images/arrow_left.gif +0 -0
- data/test/rails_root/public/images/arrow_right.gif +0 -0
- data/test/rails_root/public/images/arrow_up.gif +0 -0
- data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
- data/test/rails_root/public/images/icons/accept.png +0 -0
- data/test/rails_root/public/images/icons/add.png +0 -0
- data/test/rails_root/public/images/icons/blue_guy.png +0 -0
- data/test/rails_root/public/images/icons/button_background.png +0 -0
- data/test/rails_root/public/images/icons/cancel.png +0 -0
- data/test/rails_root/public/images/icons/close.png +0 -0
- data/test/rails_root/public/images/icons/comment.png +0 -0
- data/test/rails_root/public/images/icons/delete.png +0 -0
- data/test/rails_root/public/images/icons/exclaim.png +0 -0
- data/test/rails_root/public/images/icons/grey_guy.png +0 -0
- data/test/rails_root/public/images/icons/hide.png +0 -0
- data/test/rails_root/public/images/icons/information.png +0 -0
- data/test/rails_root/public/images/icons/minus.png +0 -0
- data/test/rails_root/public/images/icons/question.png +0 -0
- data/test/rails_root/public/images/icons/search_box.png +0 -0
- data/test/rails_root/public/images/icons/star.png +0 -0
- data/test/rails_root/public/images/icons/stop.png +0 -0
- data/test/rails_root/public/images/icons/thumb_down.png +0 -0
- data/test/rails_root/public/images/icons/thumb_up.png +0 -0
- data/test/rails_root/public/images/icons/vote.png +0 -0
- data/test/rails_root/public/images/loading.gif +0 -0
- data/test/rails_root/public/images/nothing.png +0 -0
- data/test/rails_root/public/images/profile_default.jpg +0 -0
- data/test/rails_root/public/images/rails.png +0 -0
- data/test/rails_root/public/images/spinner.gif +0 -0
- data/test/rails_root/public/images/sprites.png +0 -0
- data/test/rails_root/public/javascripts/application.js +2 -0
- data/test/rails_root/public/javascripts/builder.js +136 -0
- data/test/rails_root/public/javascripts/controls.js +963 -0
- data/test/rails_root/public/javascripts/dragdrop.js +972 -0
- data/test/rails_root/public/javascripts/effects.js +1120 -0
- data/test/rails_root/public/javascripts/fancyzoom.min.js +1 -0
- data/test/rails_root/public/javascripts/jquery/jquery-ui.js +273 -0
- data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
- data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +9 -0
- data/test/rails_root/public/javascripts/jquery/jquery.form.js +637 -0
- data/test/rails_root/public/javascripts/jquery/jquery.jgrowl.js +2 -0
- data/test/rails_root/public/javascripts/jquery/jquery.js +19 -0
- data/test/rails_root/public/javascripts/jquery/jquery.tips.js +69 -0
- data/test/rails_root/public/javascripts/jquery/jrails.js +1 -0
- data/test/rails_root/public/javascripts/muck.js +81 -0
- data/test/rails_root/public/javascripts/muck_activities.js +108 -0
- data/test/rails_root/public/javascripts/muck_time/en.js +53 -0
- data/test/rails_root/public/javascripts/prototype.js +4225 -0
- data/test/rails_root/public/javascripts/scriptaculous.js +58 -0
- data/test/rails_root/public/javascripts/slider.js +277 -0
- data/test/rails_root/public/javascripts/sound.js +60 -0
- data/test/rails_root/public/robots.txt +1 -0
- data/test/rails_root/public/stylesheets/.keep +0 -0
- data/test/rails_root/public/stylesheets/admin.css +12 -0
- data/test/rails_root/public/stylesheets/blueprint/ie.css +26 -0
- data/test/rails_root/public/stylesheets/blueprint/liquid_screen.css +203 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/cross.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/key.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/tick.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/readme.txt +32 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/screen.css +97 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/readme.txt +14 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/screen.css +71 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/email.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/external.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/im.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/readme.txt +18 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/screen.css +40 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/liquid.css +134 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/src/liquid.css +197 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/readme.txt +10 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/screen.css +109 -0
- data/test/rails_root/public/stylesheets/blueprint/print.css +30 -0
- data/test/rails_root/public/stylesheets/blueprint/screen.css +251 -0
- data/test/rails_root/public/stylesheets/blueprint/sprite.css +1 -0
- data/test/rails_root/public/stylesheets/blueprint/src/forms.css +49 -0
- data/test/rails_root/public/stylesheets/blueprint/src/grid.css +213 -0
- data/test/rails_root/public/stylesheets/blueprint/src/grid.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/src/ie.css +59 -0
- data/test/rails_root/public/stylesheets/blueprint/src/print.css +85 -0
- data/test/rails_root/public/stylesheets/blueprint/src/reset.css +38 -0
- data/test/rails_root/public/stylesheets/blueprint/src/typography.css +105 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_100_f0f0f0_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_50_99c2ff_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_80_e6e6e6_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-soft_100_e7eef3_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_222222_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2694e8_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_72a7cf_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_888888_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_ffffff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +44 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_217bc0_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_469bdd_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/muck-invites.css +13 -0
- data/test/rails_root/public/stylesheets/reset.css +0 -0
- data/test/rails_root/public/stylesheets/styles.css +85 -0
- data/test/rails_root/public/stylesheets/themes/blue/styles.css +1 -0
- data/test/rails_root/public/stylesheets/themes/red/styles.css +1 -0
- data/test/rails_root/script/about +3 -0
- data/test/rails_root/script/breakpointer +3 -0
- data/test/rails_root/script/console +3 -0
- data/test/rails_root/script/create_project.rb +52 -0
- data/test/rails_root/script/cucumber +8 -0
- data/test/rails_root/script/dbconsole +3 -0
- data/test/rails_root/script/destroy +3 -0
- data/test/rails_root/script/generate +3 -0
- data/test/rails_root/script/performance/benchmarker +3 -0
- data/test/rails_root/script/performance/profiler +3 -0
- data/test/rails_root/script/performance/request +3 -0
- data/test/rails_root/script/plugin +3 -0
- data/test/rails_root/script/process/inspector +3 -0
- data/test/rails_root/script/process/reaper +3 -0
- data/test/rails_root/script/process/spawner +3 -0
- data/test/rails_root/script/runner +3 -0
- data/test/rails_root/script/server +3 -0
- data/test/rails_root/test/factories.rb +73 -0
- data/test/rails_root/test/functional/.keep +0 -0
- data/test/rails_root/test/functional/invites_controller_test.rb +67 -0
- data/test/rails_root/test/mocks/development/.keep +0 -0
- data/test/rails_root/test/mocks/test/.keep +0 -0
- data/test/rails_root/test/shoulda_macros/controller.rb +49 -0
- data/test/rails_root/test/shoulda_macros/forms.rb +32 -0
- data/test/rails_root/test/shoulda_macros/models.rb +50 -0
- data/test/rails_root/test/shoulda_macros/pagination.rb +53 -0
- data/test/rails_root/test/shoulda_macros/plugins.rb +34 -0
- data/test/rails_root/test/test_helper.rb +48 -0
- data/test/rails_root/test/unit/.keep +0 -0
- data/test/rails_root/test/unit/contacts_test.rb +37 -0
- data/test/rails_root/test/unit/invite_mailer_test.rb +41 -0
- data/test/rails_root/test/unit/invite_test.rb +140 -0
- data/test/rails_root/test/unit/user_test.rb +18 -0
- data/test/rails_root/vendor/plugins/jrails/CHANGELOG +43 -0
- data/test/rails_root/vendor/plugins/jrails/LICENSE +18 -0
- data/test/rails_root/vendor/plugins/jrails/README.rdoc +21 -0
- data/test/rails_root/vendor/plugins/jrails/Rakefile +18 -0
- data/test/rails_root/vendor/plugins/jrails/VERSION.yml +4 -0
- data/test/rails_root/vendor/plugins/jrails/bin/jrails +30 -0
- data/test/rails_root/vendor/plugins/jrails/init.rb +1 -0
- data/test/rails_root/vendor/plugins/jrails/install.rb +9 -0
- data/test/rails_root/vendor/plugins/jrails/javascripts/jquery-ui.js +188 -0
- data/test/rails_root/vendor/plugins/jrails/javascripts/jquery.js +19 -0
- data/test/rails_root/vendor/plugins/jrails/javascripts/jrails.js +1 -0
- data/test/rails_root/vendor/plugins/jrails/javascripts/sources/jrails.js +197 -0
- data/test/rails_root/vendor/plugins/jrails/jrails.gemspec +50 -0
- data/test/rails_root/vendor/plugins/jrails/lib/jrails.rb +421 -0
- data/test/rails_root/vendor/plugins/jrails/rails/init.rb +15 -0
- data/test/rails_root/vendor/plugins/jrails/tasks/jrails.rake +25 -0
- data/test/rails_root/vendor/plugins/ssl_requirement/README +43 -0
- data/test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +62 -0
- data/test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb +132 -0
- data/test/rails_root/vendor/plugins/validation_reflection/CHANGELOG +24 -0
- data/test/rails_root/vendor/plugins/validation_reflection/LICENSE +20 -0
- data/test/rails_root/vendor/plugins/validation_reflection/README +64 -0
- data/test/rails_root/vendor/plugins/validation_reflection/Rakefile +22 -0
- data/test/rails_root/vendor/plugins/validation_reflection/about.yml +7 -0
- data/test/rails_root/vendor/plugins/validation_reflection/init.rb +8 -0
- data/test/rails_root/vendor/plugins/validation_reflection/lib/boiler_plate/validation_reflection.rb +129 -0
- data/test/rails_root/vendor/plugins/validation_reflection/test/test_helper.rb +36 -0
- data/test/rails_root/vendor/plugins/validation_reflection/test/validation_reflection_test.rb +126 -0
- data/uninstall.rb +1 -0
- metadata +482 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module ShouldaPluginMacros
|
|
2
|
+
|
|
3
|
+
def self.should_act_as_taggable_on_steroids
|
|
4
|
+
klass = self.name.gsub(/Test$/, '').constantize
|
|
5
|
+
|
|
6
|
+
should "include ActsAsTaggableOnSteroids methods" do
|
|
7
|
+
assert klass.extended_by.include?(ActiveRecord::Acts::Taggable::ClassMethods)
|
|
8
|
+
assert klass.extended_by.include?(ActiveRecord::Acts::Taggable::SingletonMethods)
|
|
9
|
+
assert klass.include?(ActiveRecord::Acts::Taggable::InstanceMethods)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
should_have_many :taggings, :tags
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def self.should_act_as_list
|
|
17
|
+
klass = self.name.gsub(/Test$/, '').constantize
|
|
18
|
+
|
|
19
|
+
context "To support acts_as_list" do
|
|
20
|
+
should_have_db_column('position', :type => :integer)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
should "include ActsAsList methods" do
|
|
24
|
+
assert klass.include?(ActiveRecord::Acts::List::InstanceMethods)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
should_have_instance_methods :acts_as_list_class, :position_column, :scope_condition
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
ActiveSupport::TestCase.extend(ShouldaPluginMacros)
|
|
33
|
+
Test::Unit::TestCase.extend(ShouldaPluginMacros)
|
|
34
|
+
ActionController::TestCase.extend(ShouldaPluginMacros)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
$:.reject! { |e| e.include? 'TextMate' }
|
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
|
3
|
+
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
|
4
|
+
require 'test_help'
|
|
5
|
+
require 'ruby-debug'
|
|
6
|
+
gem 'thoughtbot-factory_girl' # from github
|
|
7
|
+
require 'factory_girl'
|
|
8
|
+
require 'authlogic/test_case'
|
|
9
|
+
require 'redgreen' rescue LoadError
|
|
10
|
+
require File.expand_path(File.dirname(__FILE__) + '/factories')
|
|
11
|
+
require File.join(File.dirname(__FILE__), 'shoulda_macros', 'controller')
|
|
12
|
+
require File.join(File.dirname(__FILE__), 'shoulda_macros', 'models')
|
|
13
|
+
|
|
14
|
+
class ActiveSupport::TestCase
|
|
15
|
+
self.use_transactional_fixtures = true
|
|
16
|
+
self.use_instantiated_fixtures = false
|
|
17
|
+
|
|
18
|
+
include Authlogic::TestCase
|
|
19
|
+
|
|
20
|
+
def login_as(user)
|
|
21
|
+
success = UserSession.create(user)
|
|
22
|
+
if !success
|
|
23
|
+
errors = user.errors.full_messages.to_sentence
|
|
24
|
+
message = 'User has not been activated' if !user.active?
|
|
25
|
+
raise "could not login as #{user.to_param}. Please make sure the user is valid. #{message} #{errors}"
|
|
26
|
+
end
|
|
27
|
+
UserSession.find
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def assure_logout
|
|
31
|
+
user_session = UserSession.find
|
|
32
|
+
user_session.destroy if user_session
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def ensure_flash(val)
|
|
36
|
+
assert_contains flash.values, val, ", Flash: #{flash.inspect}"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# For Selenium
|
|
40
|
+
# setup do |session|
|
|
41
|
+
# session.host! "localhost:3001"
|
|
42
|
+
# end
|
|
43
|
+
|
|
44
|
+
def make_parent_params(parent)
|
|
45
|
+
{ :parent_id => parent.id, :parent_type => parent.class.to_s }
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
2
|
+
|
|
3
|
+
# Used to test contacts gem
|
|
4
|
+
class ContactsTest < ActiveSupport::TestCase
|
|
5
|
+
|
|
6
|
+
context "From the beginning" do
|
|
7
|
+
setup do
|
|
8
|
+
@login = 'muck.invites'
|
|
9
|
+
@password = '3trickypass'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
should "be able to retrieve contacts from gmail" do
|
|
13
|
+
assert_operator Contacts::Gmail.new(@login, @password).contacts.size, :>, 0
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
should "be able to retrieve contacts from yahoo" do
|
|
17
|
+
assert_operator Contacts::Yahoo.new(@login + '@yahoo.com', @password).contacts.size, :>, 0
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
should "be able to retrieve contacts from hotmail" do
|
|
21
|
+
assert_operator Contacts::Hotmail.new(@login + '@hotmail.com', @password).contacts.size, :>, 0
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
should "be able to guess the type of account when handed a gmail account" do
|
|
25
|
+
assert_operator Contacts.guess(@login + '@gmail.com', @password).size, :>, 0
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
should "be able to guess the type of account when handed a yahoo account" do
|
|
29
|
+
assert_operator Contacts.guess(@login + '@yahoo.com', @password).size, :>, 0
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
should "be able to guess the type of account when handed a hotmail account" do
|
|
33
|
+
assert_operator Contacts.guess(@login + '@hotmail.com', @password).size, :>, 0
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
2
|
+
require 'user_mailer'
|
|
3
|
+
|
|
4
|
+
class InviteMailerTest < ActiveSupport::TestCase
|
|
5
|
+
|
|
6
|
+
context "deliver emails" do
|
|
7
|
+
|
|
8
|
+
def setup
|
|
9
|
+
ActionMailer::Base.delivery_method = :test
|
|
10
|
+
ActionMailer::Base.perform_deliveries = true
|
|
11
|
+
ActionMailer::Base.deliveries = []
|
|
12
|
+
@expected = TMail::Mail.new
|
|
13
|
+
@expected.set_content_type "text", "plain", { "charset" => 'utf-8' }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
should "send invite notification email" do
|
|
17
|
+
user = Factory(:user)
|
|
18
|
+
contact_email = Factory.next(:email)
|
|
19
|
+
response = InviteMailer.deliver_invite_notification(user, contact_email)
|
|
20
|
+
assert !ActionMailer::Base.deliveries.empty?, "No email was sent"
|
|
21
|
+
assert_match "#{user.full_name}", response.body, "User's name was not found in the email"
|
|
22
|
+
assert_match "/#{user.id}", response.body, "A link to the inviter's profile was not found in the email"
|
|
23
|
+
email = ActionMailer::Base.deliveries.last
|
|
24
|
+
assert_equal email.to, [contact_email]
|
|
25
|
+
assert_equal email.from, [GlobalConfig.from_email]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
should "send invited joined notification email" do
|
|
29
|
+
user = Factory(:user)
|
|
30
|
+
inviter = Factory(:user)
|
|
31
|
+
response = InviteMailer.deliver_invited_joined_notification(user, inviter)
|
|
32
|
+
assert !ActionMailer::Base.deliveries.empty?, "No email was sent"
|
|
33
|
+
assert_match "#{user.full_name}", response.body, "Inviter's name was not found in the email"
|
|
34
|
+
assert_match "/#{inviter.id}", response.body, "A link to the new user's profile was not found in the email"
|
|
35
|
+
email = ActionMailer::Base.deliveries.last
|
|
36
|
+
assert_equal email.to, [inviter.email]
|
|
37
|
+
assert_equal email.from, [GlobalConfig.from_email]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
2
|
+
|
|
3
|
+
class InviteTest < ActiveSupport::TestCase
|
|
4
|
+
|
|
5
|
+
context "Invite" do
|
|
6
|
+
setup do
|
|
7
|
+
@user = Factory(:user)
|
|
8
|
+
@invite = Factory(:invite)
|
|
9
|
+
@user.invites << @invite
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
subject { @invite }
|
|
13
|
+
should_validate_presence_of :email
|
|
14
|
+
should_have_many :users
|
|
15
|
+
|
|
16
|
+
should_allow_values_for :email, 'a@x.com', 'de.veloper@example.com'
|
|
17
|
+
should_not_allow_values_for :email, 'example.com', '@example.com', 'developer@example', 'developer', :message => 'does not look like a valid email address.'
|
|
18
|
+
|
|
19
|
+
should "require email" do
|
|
20
|
+
assert_no_difference 'Invite.count' do
|
|
21
|
+
u = Factory.build(:invite, :email => nil)
|
|
22
|
+
assert !u.valid?
|
|
23
|
+
assert u.errors.on(:email)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
should "not create new invites when more than one person invites the same email address" do
|
|
28
|
+
assert_no_difference 'Invite.count' do
|
|
29
|
+
u = Factory(:user)
|
|
30
|
+
u.invites << @invite
|
|
31
|
+
u.save!
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
should "be able to see how many inviters it has" do
|
|
36
|
+
assert_equal 1, @invite.users.size
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
context "User" do
|
|
42
|
+
setup do
|
|
43
|
+
@user = Factory(:user)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
subject { @user }
|
|
47
|
+
|
|
48
|
+
should "be able to call invite with a single email address" do
|
|
49
|
+
@user.invite(Factory.next(:email))
|
|
50
|
+
assert_equal 1, @user.invites.size
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
should "be able to call invite with a string specifying a space delimited list of email addresses" do
|
|
54
|
+
@user.invite(Factory.next(:email) + ' ' + Factory.next(:email))
|
|
55
|
+
assert_equal 2, @user.invites.size
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
should "be able to call invite with a string specifying a comma delimited list of email addresses" do
|
|
59
|
+
@user.invite(Factory.next(:email) + ', ' + Factory.next(:email) + ',' + Factory.next(:email) + ',')
|
|
60
|
+
assert_equal 3, @user.invites.size
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
should "be able to call invite with an array of email addresses" do
|
|
64
|
+
@user.invite([Factory.next(:email),Factory.next(:email)])
|
|
65
|
+
assert_equal 2, @user.invites.size
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
should "be able to look up who invited them by email" do
|
|
69
|
+
inviter = Factory(:user)
|
|
70
|
+
inviter.invites << Factory.build(:invite, :email => @user.email)
|
|
71
|
+
assert_equal Invite.who_invited?(@user.email).first, inviter
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
should "be able to look up who invited them by id" do
|
|
75
|
+
invite = Factory.build(:invite, :email => @user.email)
|
|
76
|
+
|
|
77
|
+
inviter = Factory(:user)
|
|
78
|
+
inviter.invites << Factory.build(:invite, :email => @user.email)
|
|
79
|
+
assert_equal Invite.who_invited?(@user.email).first, inviter
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
should "look up multiple inviters by email" do
|
|
83
|
+
invite = Factory.build(:invite, :email => @user.email)
|
|
84
|
+
|
|
85
|
+
inviter1 = Factory(:user)
|
|
86
|
+
inviter1.invites << invite
|
|
87
|
+
|
|
88
|
+
inviter2 = Factory(:user)
|
|
89
|
+
inviter2.invites << invite
|
|
90
|
+
|
|
91
|
+
inviters = Invite.who_invited?(@user.email)
|
|
92
|
+
assert_equal 2, inviters.count
|
|
93
|
+
assert inviters.include?(inviter1)
|
|
94
|
+
assert inviters.include?(inviter2)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
should "not create new user invites if the user has invited them before" do
|
|
98
|
+
user = Factory(:user)
|
|
99
|
+
email = Factory.next(:email)
|
|
100
|
+
user.invite(email)
|
|
101
|
+
user.invite(email)
|
|
102
|
+
assert_equal 1, Invite.all.size
|
|
103
|
+
assert_equal 1, user.invites.size
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
context "Always" do
|
|
108
|
+
should "be able to look up who invited them by id and by email" do
|
|
109
|
+
user1 = Factory(:user)
|
|
110
|
+
invite1 = Factory(:invite)
|
|
111
|
+
user1.invites << invite1
|
|
112
|
+
|
|
113
|
+
user2 = Factory(:user)
|
|
114
|
+
invite2 = Factory(:invite)
|
|
115
|
+
user2.invites << invite2
|
|
116
|
+
|
|
117
|
+
inviters = Invite.who_invited?(invite1.email, invite2.id)
|
|
118
|
+
assert_equal 2, inviters.size
|
|
119
|
+
assert inviters.include?(user1)
|
|
120
|
+
assert inviters.include?(user2)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
should "notify inviters when a new user joins" do
|
|
124
|
+
user1 = Factory(:user)
|
|
125
|
+
invite1 = Factory(:invite)
|
|
126
|
+
user1.invites << invite1
|
|
127
|
+
|
|
128
|
+
user2 = Factory(:user)
|
|
129
|
+
invite2 = Factory(:invite)
|
|
130
|
+
user2.invites << invite2
|
|
131
|
+
|
|
132
|
+
user3 = Factory.build(:user, :email => invite1.email)
|
|
133
|
+
|
|
134
|
+
assert_nothing_raised do
|
|
135
|
+
user3.notify_inviters(invite2.id)
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
2
|
+
|
|
3
|
+
class UserTest < ActiveSupport::TestCase
|
|
4
|
+
|
|
5
|
+
context "A class that is inviteable" do
|
|
6
|
+
setup do
|
|
7
|
+
@user = Factory(:user)
|
|
8
|
+
email = Factory.next(:email)
|
|
9
|
+
@invite = @user.invites.build(:email => email)
|
|
10
|
+
@user.save!
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
should "have invites" do
|
|
14
|
+
assert_equal 1, @user.invites.length
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
0.5.0 (31 July 2009)
|
|
2
|
+
* Gemification
|
|
3
|
+
* Support for Ruby 1.9.X
|
|
4
|
+
* Updated to jQuery 1.3.2
|
|
5
|
+
* Updated to jQuery UI 1.7.2
|
|
6
|
+
* Created a jrails binary (runs rake tasks) because rails does not (yet?) pickup
|
|
7
|
+
tasks from gem plugins
|
|
8
|
+
* Changed default to use jQuery compatibility name (not $)
|
|
9
|
+
* Created a scrub task that will remove the prototype / script.aculo.us
|
|
10
|
+
javascript files
|
|
11
|
+
* better approximate scriptaculous effect names
|
|
12
|
+
* add support for page[:element_id].visual_effect(:effect) as well as page.visual_effect(:effect, :element_id)
|
|
13
|
+
* added a reset form function to jrails.js (stolen from jquery form)
|
|
14
|
+
* can now use jquery selectors in all functions
|
|
15
|
+
* added javascript_function helper to render inline rjs helpers
|
|
16
|
+
* better support for sortable_element
|
|
17
|
+
|
|
18
|
+
0.4.0 (16 June 2008)
|
|
19
|
+
* updated to jquery-ui 1.5 & merged js into single file
|
|
20
|
+
* Added jQuery.noConflict support
|
|
21
|
+
* support for value/val
|
|
22
|
+
* additional support for update/delete methods
|
|
23
|
+
* support for success/failure hash
|
|
24
|
+
* setRequestHeader now gets called globally
|
|
25
|
+
* Better support for droppables, sortables
|
|
26
|
+
* Add support for prototype AJAX callbacks
|
|
27
|
+
* better support for AJAX form calls
|
|
28
|
+
|
|
29
|
+
0.3.0 (22 Feb 2008)
|
|
30
|
+
* updated to jquery-fx 1.0b and jquery-ui 1.5b
|
|
31
|
+
* Add text/javascript request header to fix format.js
|
|
32
|
+
* Added Tasks (thanks ggarside)
|
|
33
|
+
* Improve visual_effects methods
|
|
34
|
+
* Fixed some RJS calls
|
|
35
|
+
* Fixed observer code for ie
|
|
36
|
+
|
|
37
|
+
0.2.0 (26 Nov 2007)
|
|
38
|
+
* Vastly Improved FX
|
|
39
|
+
* Improved Form Observers
|
|
40
|
+
* Fixed Rails <= 1.2.6 Compatibility
|
|
41
|
+
|
|
42
|
+
0.1.0 (15 Nov 2007)
|
|
43
|
+
* Initial release
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Copyright (c) 2008 Aaron Eisenberger
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
7
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
8
|
+
subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
15
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
16
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
17
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
18
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
= jRails
|
|
2
|
+
|
|
3
|
+
jRails is a drop-in jQuery replacement for the Rails Prototype/script.aculo.us helpers.
|
|
4
|
+
|
|
5
|
+
== Resources
|
|
6
|
+
|
|
7
|
+
Install
|
|
8
|
+
|
|
9
|
+
* .script/plugin install git://github.com/aaronchi/jrails.git
|
|
10
|
+
|
|
11
|
+
Project Site
|
|
12
|
+
|
|
13
|
+
* http://code.google.com/p/ennerchi
|
|
14
|
+
|
|
15
|
+
Web Site
|
|
16
|
+
|
|
17
|
+
* http://www.ennerchi.com/projects/jrails
|
|
18
|
+
|
|
19
|
+
Group Site
|
|
20
|
+
|
|
21
|
+
* http://groups.google.com/group/jrails
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'rake'
|
|
3
|
+
|
|
4
|
+
begin
|
|
5
|
+
require 'jeweler'
|
|
6
|
+
Jeweler::Tasks.new do |gem|
|
|
7
|
+
gem.name = "jrails"
|
|
8
|
+
gem.summary = "jRails is a drop-in jQuery replacement for the Rails Prototype/script.aculo.us helpers."
|
|
9
|
+
gem.description = "Using jRails, you can get all of the same default Rails helpers for javascript functionality using the lighter jQuery library."
|
|
10
|
+
gem.email = "aaronchi@gmail.com"
|
|
11
|
+
gem.homepage = "http://ennerchi.com/projects/jrails"
|
|
12
|
+
gem.authors = ["Aaron Eisenberger", "Patrick Hurley"]
|
|
13
|
+
gem.rubyforge_project = "jrails"
|
|
14
|
+
gem.files = FileList["[A-Z]*.rb","{bin,javascripts,lib,rails,tasks}/**/*"]
|
|
15
|
+
end
|
|
16
|
+
rescue LoadError
|
|
17
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
|
18
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require 'rubygems'
|
|
4
|
+
require 'rake'
|
|
5
|
+
|
|
6
|
+
RAILS_ROOT = Dir.pwd
|
|
7
|
+
rakeapp = Rake.application
|
|
8
|
+
fname =File.join(File.dirname(__FILE__), '..', 'tasks', 'jrails.rake')
|
|
9
|
+
load fname
|
|
10
|
+
|
|
11
|
+
task :help do
|
|
12
|
+
puts "jrails [command]\n\n"
|
|
13
|
+
rakeapp.options.show_task_pattern = Regexp.new('^[hius]')
|
|
14
|
+
rakeapp.display_tasks_and_comments
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
desc 'Installs the jQuery and jRails javascripts to public/javascripts'
|
|
18
|
+
task :install do
|
|
19
|
+
Rake::Task['jrails:js:install'].invoke
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
desc 'Remove the prototype / script.aculo.us javascript files'
|
|
23
|
+
task :scrub do
|
|
24
|
+
Rake::Task['jrails:js:scrub'].invoke
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
rakeapp.init("jrails")
|
|
28
|
+
task :default => [:help]
|
|
29
|
+
|
|
30
|
+
rakeapp.top_level
|