muck-invites 0.1.7 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/README.rdoc +26 -0
- data/VERSION +1 -1
- data/app/controllers/muck/invites_controller.rb +21 -7
- data/app/helpers/muck_invites_helper.rb +26 -0
- data/app/models/invite_mailer.rb +3 -3
- data/app/views/invite_mailer/invite_notification.text.html.erb +6 -4
- data/app/views/invite_mailer/invite_notification.text.plain.erb +6 -4
- data/app/views/invite_mailer/invited_joined_notification.text.html.erb +2 -2
- data/app/views/invite_mailer/invited_joined_notification.text.plain.erb +2 -2
- data/app/views/invites/_contact_container.erb +13 -0
- data/app/views/invites/_contact_list.erb +9 -0
- data/app/views/invites/_contact_list_gravatar.erb +11 -0
- data/app/views/invites/_contacts_loading.erb +3 -0
- data/app/views/invites/_contacts_query.erb +16 -0
- data/app/views/invites/_gmail_oauth.erb +10 -0
- data/app/views/invites/_invite_compose.erb +58 -0
- data/app/views/invites/_invite_scripts.erb +60 -0
- data/app/views/invites/_invite_standard.erb +14 -0
- data/app/views/invites/compose.erb +1 -0
- data/app/views/invites/create.erb +1 -0
- data/app/views/invites/get_contacts.html.erb +7 -1
- data/app/views/invites/get_contacts.js.erb +8 -7
- data/app/views/invites/new.erb +1 -31
- data/config/muck_invites_routes.rb +1 -1
- data/lib/active_record/acts/muck_inviter.rb +2 -1
- data/lib/muck_invites.rb +1 -0
- data/locales/ar.yml +16 -12
- data/locales/bg.yml +15 -11
- data/locales/ca.yml +14 -10
- data/locales/cs.yml +15 -11
- data/locales/da.yml +9 -5
- data/locales/de.yml +13 -9
- data/locales/el.yml +13 -9
- data/locales/en.yml +6 -2
- data/locales/es.yml +14 -10
- data/locales/et.yml +15 -11
- data/locales/fa.yml +15 -11
- data/locales/fi.yml +15 -11
- data/locales/fr.yml +10 -6
- data/locales/gl.yml +14 -10
- data/locales/hi.yml +15 -11
- data/locales/hr.yml +18 -14
- data/locales/hu.yml +20 -16
- data/locales/id.yml +12 -8
- data/locales/it.yml +13 -9
- data/locales/iw.yml +15 -11
- data/locales/ja.yml +17 -13
- data/locales/ko.yml +15 -11
- data/locales/lt.yml +15 -11
- data/locales/lv.yml +16 -12
- data/locales/mt.yml +16 -12
- data/locales/nl.yml +14 -10
- data/locales/no.yml +11 -7
- data/locales/pl.yml +16 -12
- data/locales/pt-PT.yml +13 -9
- data/locales/ro.yml +18 -14
- data/locales/ru.yml +17 -13
- data/locales/sk.yml +16 -12
- data/locales/sl.yml +15 -11
- data/locales/sq.yml +17 -13
- data/locales/sr.yml +14 -10
- data/locales/sv.yml +16 -12
- data/locales/th.yml +20 -16
- data/locales/tl.yml +13 -9
- data/locales/tr.yml +18 -14
- data/locales/uk.yml +18 -14
- data/locales/vi.yml +12 -8
- data/locales/zh-CN.yml +13 -9
- data/locales/zh-TW.yml +13 -9
- data/locales/zh.yml +14 -10
- data/muck-invites.gemspec +404 -4
- data/public/stylesheets/muck-invites.css +14 -11
- data/test/rails_root/Rakefile +2 -9
- data/test/rails_root/app/models/user.rb +1 -0
- data/test/rails_root/app/views/default/index.html.erb +1 -0
- data/test/rails_root/app/views/layouts/default.html.erb +8 -5
- data/test/rails_root/config/environment.rb +3 -0
- data/test/rails_root/config/{global_config.yml → global_config.example.yml} +31 -0
- data/test/rails_root/config/initializers/oauth_consumers.rb +34 -0
- data/test/rails_root/db/migrate/20090730044139_add_comment_cache.rb +9 -0
- data/test/rails_root/db/migrate/20090818204527_add_activity_indexes.rb +9 -0
- data/test/rails_root/db/migrate/20090819030523_add_attachable_to_activities.rb +13 -0
- data/test/rails_root/db/migrate/20091205001023_create_oauth_consumer_tokens.rb +21 -0
- data/test/rails_root/db/migrate/20091210172015_create_oauth_tables.rb +46 -0
- data/test/rails_root/db/migrate/20100123035450_create_access_codes.rb +19 -0
- data/test/rails_root/db/migrate/20100123233654_create_access_code_requests.rb +14 -0
- data/test/rails_root/db/migrate/20100206000906_remove_name_fields.rb +15 -0
- data/test/rails_root/lib/tasks/muck.rake +7 -0
- data/test/rails_root/public/images/admin/Home.gif +0 -0
- data/test/rails_root/public/images/admin/roles.gif +0 -0
- data/test/rails_root/public/images/admin/source/Home.png +0 -0
- data/test/rails_root/public/images/admin/source/User.png +0 -0
- data/test/rails_root/public/images/admin/source/roles.png +0 -0
- data/test/rails_root/public/images/admin/user.gif +0 -0
- data/test/rails_root/public/images/fancybox/blank.gif +0 -0
- data/test/rails_root/public/images/fancybox/fancy_close.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_loading.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_nav_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_nav_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_over.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
- data/test/rails_root/public/images/fancybox/fancybox-x.png +0 -0
- data/test/rails_root/public/images/fancybox/fancybox-y.png +0 -0
- data/test/rails_root/public/images/fancybox/fancybox.png +0 -0
- data/test/rails_root/public/images/service_icons/16/amazon.png +0 -0
- data/test/rails_root/public/images/service_icons/16/ask.png +0 -0
- data/test/rails_root/public/images/service_icons/16/bibsonomy.png +0 -0
- data/test/rails_root/public/images/service_icons/16/bing.png +0 -0
- data/test/rails_root/public/images/service_icons/16/blogger.png +0 -0
- data/test/rails_root/public/images/service_icons/16/bloglines.png +0 -0
- data/test/rails_root/public/images/service_icons/16/citeulike.png +0 -0
- data/test/rails_root/public/images/service_icons/16/clipmarks.png +0 -0
- data/test/rails_root/public/images/service_icons/16/connotea.png +0 -0
- data/test/rails_root/public/images/service_icons/16/dailymotion.png +0 -0
- data/test/rails_root/public/images/service_icons/16/delicious.png +0 -0
- data/test/rails_root/public/images/service_icons/16/digg.png +0 -0
- data/test/rails_root/public/images/service_icons/16/diigo.png +0 -0
- data/test/rails_root/public/images/service_icons/16/facebook.png +0 -0
- data/test/rails_root/public/images/service_icons/16/feed.png +0 -0
- data/test/rails_root/public/images/service_icons/16/fireeagle.png +0 -0
- data/test/rails_root/public/images/service_icons/16/flickr.png +0 -0
- data/test/rails_root/public/images/service_icons/16/fotolog.png +0 -0
- data/test/rails_root/public/images/service_icons/16/friendfeed.png +0 -0
- data/test/rails_root/public/images/service_icons/16/friendster.png +0 -0
- data/test/rails_root/public/images/service_icons/16/furl.png +0 -0
- data/test/rails_root/public/images/service_icons/16/goodreads.png +0 -0
- data/test/rails_root/public/images/service_icons/16/google.png +0 -0
- data/test/rails_root/public/images/service_icons/16/googleblog.png +0 -0
- data/test/rails_root/public/images/service_icons/16/googlenews.png +0 -0
- data/test/rails_root/public/images/service_icons/16/icerocket.png +0 -0
- data/test/rails_root/public/images/service_icons/16/identica.png +0 -0
- data/test/rails_root/public/images/service_icons/16/joost.png +0 -0
- data/test/rails_root/public/images/service_icons/16/lastfm.png +0 -0
- data/test/rails_root/public/images/service_icons/16/librarything.png +0 -0
- data/test/rails_root/public/images/service_icons/16/linkedin.png +0 -0
- data/test/rails_root/public/images/service_icons/16/livejournal.png +0 -0
- data/test/rails_root/public/images/service_icons/16/magnolia.png +0 -0
- data/test/rails_root/public/images/service_icons/16/mendeley.png +0 -0
- data/test/rails_root/public/images/service_icons/16/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/16/mixx.png +0 -0
- data/test/rails_root/public/images/service_icons/16/myspace.png +0 -0
- data/test/rails_root/public/images/service_icons/16/netflix.png +0 -0
- data/test/rails_root/public/images/service_icons/16/netvibes.png +0 -0
- data/test/rails_root/public/images/service_icons/16/newsvine.png +0 -0
- data/test/rails_root/public/images/service_icons/16/oai.png +0 -0
- data/test/rails_root/public/images/service_icons/16/odeo.png +0 -0
- data/test/rails_root/public/images/service_icons/16/opml.png +0 -0
- data/test/rails_root/public/images/service_icons/16/pandora.png +0 -0
- data/test/rails_root/public/images/service_icons/16/photobucket.png +0 -0
- data/test/rails_root/public/images/service_icons/16/picasa.png +0 -0
- data/test/rails_root/public/images/service_icons/16/polyvore.png +0 -0
- data/test/rails_root/public/images/service_icons/16/pownce.png +0 -0
- data/test/rails_root/public/images/service_icons/16/reddit.png +0 -0
- data/test/rails_root/public/images/service_icons/16/simpy.png +0 -0
- data/test/rails_root/public/images/service_icons/16/smugmug.png +0 -0
- data/test/rails_root/public/images/service_icons/16/stumbleupon.png +0 -0
- data/test/rails_root/public/images/service_icons/16/tag.png +0 -0
- data/test/rails_root/public/images/service_icons/16/technorati.png +0 -0
- data/test/rails_root/public/images/service_icons/16/tumblr.png +0 -0
- data/test/rails_root/public/images/service_icons/16/twine.png +0 -0
- data/test/rails_root/public/images/service_icons/16/twitter.png +0 -0
- data/test/rails_root/public/images/service_icons/16/vimeo.png +0 -0
- data/test/rails_root/public/images/service_icons/16/webshots.png +0 -0
- data/test/rails_root/public/images/service_icons/16/wordpress.png +0 -0
- data/test/rails_root/public/images/service_icons/16/xanga.png +0 -0
- data/test/rails_root/public/images/service_icons/16/yahoo.png +0 -0
- data/test/rails_root/public/images/service_icons/16/yelp.png +0 -0
- data/test/rails_root/public/images/service_icons/16/youtube.png +0 -0
- data/test/rails_root/public/images/service_icons/16/zooomr.png +0 -0
- data/test/rails_root/public/images/service_icons/16/zotero.png +0 -0
- data/test/rails_root/public/images/service_icons/24/amazon.png +0 -0
- data/test/rails_root/public/images/service_icons/24/ask.png +0 -0
- data/test/rails_root/public/images/service_icons/24/bibsonomy.png +0 -0
- data/test/rails_root/public/images/service_icons/24/bing.png +0 -0
- data/test/rails_root/public/images/service_icons/24/blogger.png +0 -0
- data/test/rails_root/public/images/service_icons/24/bloglines.png +0 -0
- data/test/rails_root/public/images/service_icons/24/citeulike.png +0 -0
- data/test/rails_root/public/images/service_icons/24/clipmarks.png +0 -0
- data/test/rails_root/public/images/service_icons/24/connotea.png +0 -0
- data/test/rails_root/public/images/service_icons/24/dailymotion.png +0 -0
- data/test/rails_root/public/images/service_icons/24/delicious.png +0 -0
- data/test/rails_root/public/images/service_icons/24/digg.png +0 -0
- data/test/rails_root/public/images/service_icons/24/diigo.png +0 -0
- data/test/rails_root/public/images/service_icons/24/facebook.png +0 -0
- data/test/rails_root/public/images/service_icons/24/feed.png +0 -0
- data/test/rails_root/public/images/service_icons/24/fireeagle.png +0 -0
- data/test/rails_root/public/images/service_icons/24/flickr.png +0 -0
- data/test/rails_root/public/images/service_icons/24/fotolog.png +0 -0
- data/test/rails_root/public/images/service_icons/24/friendfeed.png +0 -0
- data/test/rails_root/public/images/service_icons/24/friendster.png +0 -0
- data/test/rails_root/public/images/service_icons/24/furl.png +0 -0
- data/test/rails_root/public/images/service_icons/24/goodreads.png +0 -0
- data/test/rails_root/public/images/service_icons/24/google.png +0 -0
- data/test/rails_root/public/images/service_icons/24/googleblog.png +0 -0
- data/test/rails_root/public/images/service_icons/24/googlenews.png +0 -0
- data/test/rails_root/public/images/service_icons/24/icerocket.png +0 -0
- data/test/rails_root/public/images/service_icons/24/identica.png +0 -0
- data/test/rails_root/public/images/service_icons/24/joost.png +0 -0
- data/test/rails_root/public/images/service_icons/24/lastfm.png +0 -0
- data/test/rails_root/public/images/service_icons/24/librarything.png +0 -0
- data/test/rails_root/public/images/service_icons/24/linkedin.png +0 -0
- data/test/rails_root/public/images/service_icons/24/livejournal.png +0 -0
- data/test/rails_root/public/images/service_icons/24/magnolia.png +0 -0
- data/test/rails_root/public/images/service_icons/24/mendeley.png +0 -0
- data/test/rails_root/public/images/service_icons/24/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/24/mixx.png +0 -0
- data/test/rails_root/public/images/service_icons/24/myspace.png +0 -0
- data/test/rails_root/public/images/service_icons/24/netflix.png +0 -0
- data/test/rails_root/public/images/service_icons/24/netvibes.png +0 -0
- data/test/rails_root/public/images/service_icons/24/newsvine.png +0 -0
- data/test/rails_root/public/images/service_icons/24/oai.png +0 -0
- data/test/rails_root/public/images/service_icons/24/odeo.png +0 -0
- data/test/rails_root/public/images/service_icons/24/opml.png +0 -0
- data/test/rails_root/public/images/service_icons/24/pandora.png +0 -0
- data/test/rails_root/public/images/service_icons/24/photobucket.png +0 -0
- data/test/rails_root/public/images/service_icons/24/picasa.png +0 -0
- data/test/rails_root/public/images/service_icons/24/polyvore.png +0 -0
- data/test/rails_root/public/images/service_icons/24/pownce.png +0 -0
- data/test/rails_root/public/images/service_icons/24/reddit.png +0 -0
- data/test/rails_root/public/images/service_icons/24/simpy.png +0 -0
- data/test/rails_root/public/images/service_icons/24/smugmug.png +0 -0
- data/test/rails_root/public/images/service_icons/24/stumbleupon.png +0 -0
- data/test/rails_root/public/images/service_icons/24/tag.png +0 -0
- data/test/rails_root/public/images/service_icons/24/technorati.png +0 -0
- data/test/rails_root/public/images/service_icons/24/tumblr.png +0 -0
- data/test/rails_root/public/images/service_icons/24/twine.png +0 -0
- data/test/rails_root/public/images/service_icons/24/twitter.png +0 -0
- data/test/rails_root/public/images/service_icons/24/vimeo.png +0 -0
- data/test/rails_root/public/images/service_icons/24/webshots.png +0 -0
- data/test/rails_root/public/images/service_icons/24/wordpress.png +0 -0
- data/test/rails_root/public/images/service_icons/24/xanga.png +0 -0
- data/test/rails_root/public/images/service_icons/24/yahoo.png +0 -0
- data/test/rails_root/public/images/service_icons/24/yelp.png +0 -0
- data/test/rails_root/public/images/service_icons/24/youtube.png +0 -0
- data/test/rails_root/public/images/service_icons/24/zooomr.png +0 -0
- data/test/rails_root/public/images/service_icons/24/zotero.png +0 -0
- data/test/rails_root/public/images/service_icons/48/amazon.png +0 -0
- data/test/rails_root/public/images/service_icons/48/ask.png +0 -0
- data/test/rails_root/public/images/service_icons/48/bibsonomy.png +0 -0
- data/test/rails_root/public/images/service_icons/48/bing.png +0 -0
- data/test/rails_root/public/images/service_icons/48/blogger.png +0 -0
- data/test/rails_root/public/images/service_icons/48/bloglines.png +0 -0
- data/test/rails_root/public/images/service_icons/48/citeulike.png +0 -0
- data/test/rails_root/public/images/service_icons/48/clipmarks.png +0 -0
- data/test/rails_root/public/images/service_icons/48/connotea.png +0 -0
- data/test/rails_root/public/images/service_icons/48/dailymotion.png +0 -0
- data/test/rails_root/public/images/service_icons/48/delicious.png +0 -0
- data/test/rails_root/public/images/service_icons/48/digg.png +0 -0
- data/test/rails_root/public/images/service_icons/48/diigo.png +0 -0
- data/test/rails_root/public/images/service_icons/48/facebook.png +0 -0
- data/test/rails_root/public/images/service_icons/48/feed.png +0 -0
- data/test/rails_root/public/images/service_icons/48/fireeagle.png +0 -0
- data/test/rails_root/public/images/service_icons/48/flickr.png +0 -0
- data/test/rails_root/public/images/service_icons/48/fotolog.png +0 -0
- data/test/rails_root/public/images/service_icons/48/friendfeed.png +0 -0
- data/test/rails_root/public/images/service_icons/48/friendster.png +0 -0
- data/test/rails_root/public/images/service_icons/48/furl.png +0 -0
- data/test/rails_root/public/images/service_icons/48/goodreads.png +0 -0
- data/test/rails_root/public/images/service_icons/48/google.png +0 -0
- data/test/rails_root/public/images/service_icons/48/googleblog.png +0 -0
- data/test/rails_root/public/images/service_icons/48/googlenews.png +0 -0
- data/test/rails_root/public/images/service_icons/48/icerocket.png +0 -0
- data/test/rails_root/public/images/service_icons/48/identica.png +0 -0
- data/test/rails_root/public/images/service_icons/48/joost.png +0 -0
- data/test/rails_root/public/images/service_icons/48/lastfm.png +0 -0
- data/test/rails_root/public/images/service_icons/48/librarything.png +0 -0
- data/test/rails_root/public/images/service_icons/48/linkedin.png +0 -0
- data/test/rails_root/public/images/service_icons/48/livejournal.png +0 -0
- data/test/rails_root/public/images/service_icons/48/magnolia.png +0 -0
- data/test/rails_root/public/images/service_icons/48/mendeley.png +0 -0
- data/test/rails_root/public/images/service_icons/48/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/48/mixx.png +0 -0
- data/test/rails_root/public/images/service_icons/48/myspace.png +0 -0
- data/test/rails_root/public/images/service_icons/48/netflix.png +0 -0
- data/test/rails_root/public/images/service_icons/48/netvibes.png +0 -0
- data/test/rails_root/public/images/service_icons/48/newsvine.png +0 -0
- data/test/rails_root/public/images/service_icons/48/oai.png +0 -0
- data/test/rails_root/public/images/service_icons/48/odeo.png +0 -0
- data/test/rails_root/public/images/service_icons/48/opml.png +0 -0
- data/test/rails_root/public/images/service_icons/48/pandora.png +0 -0
- data/test/rails_root/public/images/service_icons/48/photobucket.png +0 -0
- data/test/rails_root/public/images/service_icons/48/picasa.png +0 -0
- data/test/rails_root/public/images/service_icons/48/polyvore.png +0 -0
- data/test/rails_root/public/images/service_icons/48/pownce.png +0 -0
- data/test/rails_root/public/images/service_icons/48/reddit.png +0 -0
- data/test/rails_root/public/images/service_icons/48/simpy.png +0 -0
- data/test/rails_root/public/images/service_icons/48/smugmug.png +0 -0
- data/test/rails_root/public/images/service_icons/48/stumbleupon.png +0 -0
- data/test/rails_root/public/images/service_icons/48/tag.png +0 -0
- data/test/rails_root/public/images/service_icons/48/technorati.png +0 -0
- data/test/rails_root/public/images/service_icons/48/tumblr.png +0 -0
- data/test/rails_root/public/images/service_icons/48/twine.png +0 -0
- data/test/rails_root/public/images/service_icons/48/twitter.png +0 -0
- data/test/rails_root/public/images/service_icons/48/vimeo.png +0 -0
- data/test/rails_root/public/images/service_icons/48/webshots.png +0 -0
- data/test/rails_root/public/images/service_icons/48/wordpress.png +0 -0
- data/test/rails_root/public/images/service_icons/48/xanga.png +0 -0
- data/test/rails_root/public/images/service_icons/48/yahoo.png +0 -0
- data/test/rails_root/public/images/service_icons/48/yelp.png +0 -0
- data/test/rails_root/public/images/service_icons/48/youtube.png +0 -0
- data/test/rails_root/public/images/service_icons/48/zooomr.png +0 -0
- data/test/rails_root/public/images/service_icons/48/zotero.png +0 -0
- data/test/rails_root/public/images/service_icons/60/amazon.png +0 -0
- data/test/rails_root/public/images/service_icons/60/ask.png +0 -0
- data/test/rails_root/public/images/service_icons/60/bibsonomy.png +0 -0
- data/test/rails_root/public/images/service_icons/60/bing.png +0 -0
- data/test/rails_root/public/images/service_icons/60/blogger.png +0 -0
- data/test/rails_root/public/images/service_icons/60/bloglines.png +0 -0
- data/test/rails_root/public/images/service_icons/60/citeulike.png +0 -0
- data/test/rails_root/public/images/service_icons/60/clipmarks.png +0 -0
- data/test/rails_root/public/images/service_icons/60/connotea.png +0 -0
- data/test/rails_root/public/images/service_icons/60/dailymotion.png +0 -0
- data/test/rails_root/public/images/service_icons/60/delicious.png +0 -0
- data/test/rails_root/public/images/service_icons/60/digg.png +0 -0
- data/test/rails_root/public/images/service_icons/60/diigo.png +0 -0
- data/test/rails_root/public/images/service_icons/60/facebook.png +0 -0
- data/test/rails_root/public/images/service_icons/60/feed.png +0 -0
- data/test/rails_root/public/images/service_icons/60/fireeagle.png +0 -0
- data/test/rails_root/public/images/service_icons/60/flickr.png +0 -0
- data/test/rails_root/public/images/service_icons/60/fotolog.png +0 -0
- data/test/rails_root/public/images/service_icons/60/friendfeed.png +0 -0
- data/test/rails_root/public/images/service_icons/60/friendster.png +0 -0
- data/test/rails_root/public/images/service_icons/60/furl.png +0 -0
- data/test/rails_root/public/images/service_icons/60/goodreads.png +0 -0
- data/test/rails_root/public/images/service_icons/60/google.png +0 -0
- data/test/rails_root/public/images/service_icons/60/googleblog.png +0 -0
- data/test/rails_root/public/images/service_icons/60/googlenews.png +0 -0
- data/test/rails_root/public/images/service_icons/60/icerocket.png +0 -0
- data/test/rails_root/public/images/service_icons/60/identica.png +0 -0
- data/test/rails_root/public/images/service_icons/60/joost.png +0 -0
- data/test/rails_root/public/images/service_icons/60/lastfm.png +0 -0
- data/test/rails_root/public/images/service_icons/60/librarything.png +0 -0
- data/test/rails_root/public/images/service_icons/60/linkedin.png +0 -0
- data/test/rails_root/public/images/service_icons/60/livejournal.png +0 -0
- data/test/rails_root/public/images/service_icons/60/magnolia.png +0 -0
- data/test/rails_root/public/images/service_icons/60/mendeley.png +0 -0
- data/test/rails_root/public/images/service_icons/60/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/60/mixx.png +0 -0
- data/test/rails_root/public/images/service_icons/60/myspace.png +0 -0
- data/test/rails_root/public/images/service_icons/60/netflix.png +0 -0
- data/test/rails_root/public/images/service_icons/60/netvibes.png +0 -0
- data/test/rails_root/public/images/service_icons/60/newsvine.png +0 -0
- data/test/rails_root/public/images/service_icons/60/oai.png +0 -0
- data/test/rails_root/public/images/service_icons/60/odeo.png +0 -0
- data/test/rails_root/public/images/service_icons/60/opml.png +0 -0
- data/test/rails_root/public/images/service_icons/60/pandora.png +0 -0
- data/test/rails_root/public/images/service_icons/60/photobucket.png +0 -0
- data/test/rails_root/public/images/service_icons/60/picasa.png +0 -0
- data/test/rails_root/public/images/service_icons/60/polyvore.png +0 -0
- data/test/rails_root/public/images/service_icons/60/pownce.png +0 -0
- data/test/rails_root/public/images/service_icons/60/reddit.png +0 -0
- data/test/rails_root/public/images/service_icons/60/simpy.png +0 -0
- data/test/rails_root/public/images/service_icons/60/smugmug.png +0 -0
- data/test/rails_root/public/images/service_icons/60/stumbleupon.png +0 -0
- data/test/rails_root/public/images/service_icons/60/tag.png +0 -0
- data/test/rails_root/public/images/service_icons/60/technorati.png +0 -0
- data/test/rails_root/public/images/service_icons/60/tumblr.png +0 -0
- data/test/rails_root/public/images/service_icons/60/twine.png +0 -0
- data/test/rails_root/public/images/service_icons/60/twitter.png +0 -0
- data/test/rails_root/public/images/service_icons/60/vimeo.png +0 -0
- data/test/rails_root/public/images/service_icons/60/webshots.png +0 -0
- data/test/rails_root/public/images/service_icons/60/wordpress.png +0 -0
- data/test/rails_root/public/images/service_icons/60/xanga.png +0 -0
- data/test/rails_root/public/images/service_icons/60/yahoo.png +0 -0
- data/test/rails_root/public/images/service_icons/60/yelp.png +0 -0
- data/test/rails_root/public/images/service_icons/60/youtube.png +0 -0
- data/test/rails_root/public/images/service_icons/60/zooomr.png +0 -0
- data/test/rails_root/public/images/service_icons/60/zotero.png +0 -0
- data/test/rails_root/public/images/service_icons/facebook_friend_links.jpg +0 -0
- data/test/rails_root/public/images/service_icons/facebook_my_links.jpg +0 -0
- data/test/rails_root/public/images/service_icons/source/Aquaticus_Social_Icon_template_by_jwloh.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/Google.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/Quake 9 Design.webloc b/data/test/rails_root/public/images/service_icons/source/Quake 9 → Design.webloc +0 -0
- data/test/rails_root/public/images/service_icons/source/ReadMe.rtf +52 -0
- data/test/rails_root/public/images/service_icons/source/amazon.png +0 -0
- data/test/rails_root/public/images/service_icons/source/aquaticus.social.png +0 -0
- data/test/rails_root/public/images/service_icons/source/ask.png +0 -0
- data/test/rails_root/public/images/service_icons/source/ask.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/bibsonomy.png +0 -0
- data/test/rails_root/public/images/service_icons/source/bibsonomy.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/bing.png +0 -0
- data/test/rails_root/public/images/service_icons/source/bing.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/blogger.png +0 -0
- data/test/rails_root/public/images/service_icons/source/bloglines.png +0 -0
- data/test/rails_root/public/images/service_icons/source/bloglines.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/citeulike.png +0 -0
- data/test/rails_root/public/images/service_icons/source/clipmarks.png +0 -0
- data/test/rails_root/public/images/service_icons/source/connotea.png +0 -0
- data/test/rails_root/public/images/service_icons/source/connotea.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/dailymotion.png +0 -0
- data/test/rails_root/public/images/service_icons/source/delicious.png +0 -0
- data/test/rails_root/public/images/service_icons/source/digg.png +0 -0
- data/test/rails_root/public/images/service_icons/source/diigo.png +0 -0
- data/test/rails_root/public/images/service_icons/source/facebook.png +0 -0
- data/test/rails_root/public/images/service_icons/source/feed.png +0 -0
- data/test/rails_root/public/images/service_icons/source/fireeagle.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/flickr.png +0 -0
- data/test/rails_root/public/images/service_icons/source/fotolog.png +0 -0
- data/test/rails_root/public/images/service_icons/source/friendfeed.png +0 -0
- data/test/rails_root/public/images/service_icons/source/friendster.png +0 -0
- data/test/rails_root/public/images/service_icons/source/furl.png +0 -0
- data/test/rails_root/public/images/service_icons/source/goodreads.png +0 -0
- data/test/rails_root/public/images/service_icons/source/google.png +0 -0
- data/test/rails_root/public/images/service_icons/source/googleblog.png +0 -0
- data/test/rails_root/public/images/service_icons/source/googlenews.png +0 -0
- data/test/rails_root/public/images/service_icons/source/icerocket.png +0 -0
- data/test/rails_root/public/images/service_icons/source/icerocket.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/identica.png +0 -0
- data/test/rails_root/public/images/service_icons/source/joost.png +0 -0
- data/test/rails_root/public/images/service_icons/source/lastfm.png +0 -0
- data/test/rails_root/public/images/service_icons/source/librarything.png +0 -0
- data/test/rails_root/public/images/service_icons/source/linkedin.png +0 -0
- data/test/rails_root/public/images/service_icons/source/livejournal.png +0 -0
- data/test/rails_root/public/images/service_icons/source/magnolia.png +0 -0
- data/test/rails_root/public/images/service_icons/source/mendeley.png +0 -0
- data/test/rails_root/public/images/service_icons/source/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/source/metacafe.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/mixx.png +0 -0
- data/test/rails_root/public/images/service_icons/source/myspace.png +0 -0
- data/test/rails_root/public/images/service_icons/source/netflix.png +0 -0
- data/test/rails_root/public/images/service_icons/source/netvibes.png +0 -0
- data/test/rails_root/public/images/service_icons/source/newsvine.png +0 -0
- data/test/rails_root/public/images/service_icons/source/oai.png +0 -0
- data/test/rails_root/public/images/service_icons/source/odeo.png +0 -0
- data/test/rails_root/public/images/service_icons/source/opml.png +0 -0
- data/test/rails_root/public/images/service_icons/source/pandora.png +0 -0
- data/test/rails_root/public/images/service_icons/source/photobucket.png +0 -0
- data/test/rails_root/public/images/service_icons/source/picasa.png +0 -0
- data/test/rails_root/public/images/service_icons/source/polyvore.png +0 -0
- data/test/rails_root/public/images/service_icons/source/pownce.png +0 -0
- data/test/rails_root/public/images/service_icons/source/reddit.png +0 -0
- data/test/rails_root/public/images/service_icons/source/simpy.png +0 -0
- data/test/rails_root/public/images/service_icons/source/smugmug.png +0 -0
- data/test/rails_root/public/images/service_icons/source/stumbleupon.png +0 -0
- data/test/rails_root/public/images/service_icons/source/tag.png +0 -0
- data/test/rails_root/public/images/service_icons/source/technorati.png +0 -0
- data/test/rails_root/public/images/service_icons/source/template.png +0 -0
- data/test/rails_root/public/images/service_icons/source/tumblr.png +0 -0
- data/test/rails_root/public/images/service_icons/source/twine.png +0 -0
- data/test/rails_root/public/images/service_icons/source/twine.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/twitter.png +0 -0
- data/test/rails_root/public/images/service_icons/source/vimeo.png +0 -0
- data/test/rails_root/public/images/service_icons/source/webshots.png +0 -0
- data/test/rails_root/public/images/service_icons/source/wordpress.png +0 -0
- data/test/rails_root/public/images/service_icons/source/xanga.png +0 -0
- data/test/rails_root/public/images/service_icons/source/yahoo.png +0 -0
- data/test/rails_root/public/images/service_icons/source/yelp.png +0 -0
- data/test/rails_root/public/images/service_icons/source/youtube.png +0 -0
- data/test/rails_root/public/images/service_icons/source/zooomr.png +0 -0
- data/test/rails_root/public/images/service_icons/source/zotero.png +0 -0
- data/test/rails_root/public/javascripts/application.js +0 -2
- data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.js.readme +1 -1
- data/test/rails_root/public/javascripts/jquery/jquery.easing.js +72 -1
- data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +34 -6
- data/test/rails_root/public/javascripts/jquery/jquery.form.js +511 -473
- data/test/rails_root/public/javascripts/jquery/jquery.jgrowl.js +9 -2
- data/test/rails_root/public/javascripts/jquery/jquery.js +150 -15
- data/test/rails_root/public/javascripts/jquery/jquery.mousewheel.js +13 -0
- data/test/rails_root/public/javascripts/jquery/jquery.tips.js +7 -2
- data/test/rails_root/public/javascripts/muck-countries.js +50 -0
- data/test/rails_root/public/javascripts/muck-src.js +134 -0
- data/test/rails_root/public/javascripts/muck-users.js +24 -0
- data/test/rails_root/public/javascripts/muck.js +6 -127
- data/test/rails_root/public/javascripts/muck_activities.js +44 -45
- data/test/rails_root/public/stylesheets/admin.css +36 -8
- data/test/rails_root/public/stylesheets/jquery/cupertino/jquery-ui-1.7.2.custom.css +160 -0
- data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +77 -38
- data/test/rails_root/public/stylesheets/jquery/redmond/jquery-ui-1.7.2.custom.css +160 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/jquery-ui-1.7.2.custom.css +160 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/jquery-ui-1.7.2.custom.css +160 -0
- data/test/rails_root/public/stylesheets/muck-activities.css +39 -0
- data/test/rails_root/public/stylesheets/muck-invites.css +14 -11
- data/test/rails_root/public/stylesheets/styles.css +17 -9
- data/test/rails_root/test/functional/invites_controller_test.rb +21 -7
- data/test/rails_root/test/unit/invite_mailer_test.rb +1 -1
- data/test/rails_root/test/unit/invitee_test.rb +6 -6
- metadata +405 -5
- data/app/views/invites/_get_contacts.erb +0 -27
@@ -1,13 +1,16 @@
|
|
1
1
|
/* invite form */
|
2
|
-
.
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
#contact-chooser-list{width:500px;}
|
12
|
-
#select-all-contacts {background-color:#EEEEEE;border-bottom:1px solid #CCCCCC;color:#666666;line-height:200%;margin:0;padding:0 5px;}
|
2
|
+
.contact-chooser{font-size:12px;font-family:Verdana,Arial,san-serif;}
|
3
|
+
.contact-chooser fieldset{border:1px solid #CCC;}
|
4
|
+
.contact-chooser input{margin-right:5px;}
|
5
|
+
.contact-chooser td{border-bottom:1px solid #EEE;}
|
6
|
+
.contact-chooser td.cb{padding:5px 3px 5px 5px;}
|
7
|
+
.contact-chooser table{border-collapse:collapse;margin:0;padding:0;}
|
8
|
+
.contact-chooser .icon{width:20px;height:20px;}
|
9
|
+
.contact-chooser-list{width:500px;}
|
10
|
+
.select-all {background-color:#EEEEEE;border-bottom:1px solid #CCCCCC;color:#666666;line-height:200%;margin:0;padding:0 5px;}
|
13
11
|
.table-wrapper{height:250px;overflow-y:scroll;padding:4px 0 0;}
|
12
|
+
.tabs ul{padding:2px;margin:0;}
|
13
|
+
.tabs ul li{list-style:none;font-weight:bold;display:inline-block;}
|
14
|
+
.tabs ul li a{float:left;text-decoration:none;font-weight:bold;}
|
15
|
+
.tabs ul li a:hover{text-decoration:underline;}
|
16
|
+
#invite textarea{width:600px;height:80px;font-size:1em;}
|
data/test/rails_root/Rakefile
CHANGED
@@ -12,13 +12,6 @@ require 'tasks/rails'
|
|
12
12
|
require 'muck_users/tasks'
|
13
13
|
require 'muck_invites/tasks'
|
14
14
|
require 'muck_engine/tasks'
|
15
|
-
|
16
15
|
require 'muck_profiles/tasks'
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
def muck_gems
|
21
|
-
['muck-engine', 'muck-users', 'muck-profiles']
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
16
|
+
require 'muck_oauth/tasks'
|
17
|
+
require 'muck_activities/tasks'
|
@@ -1,2 +1,3 @@
|
|
1
1
|
<div><%= flash[:notice] %></div>
|
2
2
|
<div><%= link_to t('muck.invites.new_invites', :app_name => GlobalConfig.application_name), new_invite_path %></div>
|
3
|
+
<div><%= link_to t('muck.invites.compose_invites', :app_name => GlobalConfig.application_name), compose_new_invite_path %></div>
|
@@ -3,11 +3,14 @@
|
|
3
3
|
<head>
|
4
4
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
5
5
|
<title>home</title>
|
6
|
-
<%= stylesheet_link_tag 'styles', 'muck-invites', :cache=>false -%>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
<%= stylesheet_link_tag 'styles', 'jquery/jquery.autocomplete', 'muck-invites', :cache => false -%>
|
7
|
+
<%= javascript_include_tag %w{
|
8
|
+
jquery/jquery.js
|
9
|
+
jquery/jquery-ui.js
|
10
|
+
jquery/jquery.form.js
|
11
|
+
jquery/jquery.autocomplete.min.js
|
12
|
+
muck.js
|
13
|
+
application.js }, :cache => 'all_js_cached' %>
|
11
14
|
<%= javascript_tag %[const AUTH_TOKEN = #{form_authenticity_token.inspect};] if protect_against_forgery? -%>
|
12
15
|
<%= yield :head -%>
|
13
16
|
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
@@ -20,6 +20,9 @@ Rails::Initializer.run do |config|
|
|
20
20
|
config.gem 'muck-engine', :lib => 'muck_engine'
|
21
21
|
config.gem 'muck-users', :lib => 'muck_users'
|
22
22
|
config.gem 'muck-profiles', :lib => 'muck_profiles'
|
23
|
+
config.gem "oauth"
|
24
|
+
config.gem "oauth-plugin"
|
25
|
+
config.gem 'muck-oauth', :lib => 'muck_oauth'
|
23
26
|
config.gem 'muck-activities', :lib => 'muck_activities'
|
24
27
|
config.plugin_locators << TestGemLocator
|
25
28
|
end
|
@@ -62,6 +62,37 @@ default: &DEFAULT
|
|
62
62
|
create_activities_when_invited_joins: true
|
63
63
|
email_inviters_when_invited_joins: true
|
64
64
|
|
65
|
+
# Oauth
|
66
|
+
# Twitter api access: http://www.twitter.com/apps
|
67
|
+
twitter_oauth_key: ''
|
68
|
+
twitter_oauth_secret: ''
|
69
|
+
|
70
|
+
# Google api access: http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html#register
|
71
|
+
google_oauth_key: ""
|
72
|
+
google_oauth_secret: ""
|
73
|
+
|
74
|
+
# Yahoo api access: http://developer.yahoo.com/flickr/
|
75
|
+
yahoo_oauth_key: ""
|
76
|
+
yahoo_oauth_secret: ""
|
77
|
+
|
78
|
+
# Flick api access: http://www.flickr.com/services/apps/create/apply
|
79
|
+
# flickr_oauth_key:
|
80
|
+
# flickr_oauth_secret:
|
81
|
+
|
82
|
+
# Linked In api access: https://www.linkedin.com/secure/developer
|
83
|
+
# linkedin_oauth_key: ""
|
84
|
+
# linkedin_oauth_secret: ""
|
85
|
+
linkedin_oauth_key: ""
|
86
|
+
linkedin_oauth_secret: ""
|
87
|
+
|
88
|
+
# Friendfeed api access: https://friendfeed.com/account/login?next=%2Fapi%2Fregister
|
89
|
+
# Production
|
90
|
+
friendfeed_oauth_key: ''
|
91
|
+
friendfeed_oauth_secret: ''
|
92
|
+
# Test
|
93
|
+
friendfeed_oauth_key: ''
|
94
|
+
friendfeed_oauth_secret: ''
|
95
|
+
|
65
96
|
production:
|
66
97
|
<<: *DEFAULT
|
67
98
|
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# edit this file to contain credentials for the OAuth services you support.
|
2
|
+
# each entry needs a corresponding token model.
|
3
|
+
#
|
4
|
+
# eg. :twitter => TwitterToken, :hour_feed => HourFeedToken etc.
|
5
|
+
|
6
|
+
credentials = {}
|
7
|
+
credentials[:twitter] = { :key => GlobalConfig.twitter_oauth_key,
|
8
|
+
:secret => GlobalConfig.twitter_oauth_secret } if GlobalConfig.twitter_oauth_key
|
9
|
+
|
10
|
+
# see http://code.google.com/apis/gdata/faq.html#AuthScopes
|
11
|
+
credentials[:google] = { :scope => ["https://mail.google.com/mail/feed/atom/",
|
12
|
+
"https://www.google.com/calendar/feeds/",
|
13
|
+
"https://www.google.com/m8/feeds/",
|
14
|
+
"http://www-opensocial.googleusercontent.com/api/people"].join(' '),
|
15
|
+
:key => GlobalConfig.google_oauth_key,
|
16
|
+
:secret => GlobalConfig.google_oauth_secret } if GlobalConfig.google_oauth_key
|
17
|
+
|
18
|
+
credentials[:yahoo] = { :key => GlobalConfig.yahoo_oauth_key,
|
19
|
+
:secret => GlobalConfig.yahoo_oauth_secret } if GlobalConfig.yahoo_oauth_key
|
20
|
+
|
21
|
+
credentials[:flickr] = { :key => GlobalConfig.flickr_oauth_key,
|
22
|
+
:secret => GlobalConfig.flickr_oauth_secret } if GlobalConfig.flickr_oauth_key
|
23
|
+
|
24
|
+
credentials[:linkedin] = { :key => GlobalConfig.linkedin_oauth_key,
|
25
|
+
:secret => GlobalConfig.linkedin_oauth_secret } if GlobalConfig.linkedin_oauth_key
|
26
|
+
|
27
|
+
credentials[:fireeagle] = { :key => GlobalConfig.fireeagle_oauth_key,
|
28
|
+
:secret => GlobalConfig.fireeagle_oauth_secret } if GlobalConfig.fireeagle_oauth_key
|
29
|
+
|
30
|
+
credentials[:friendfeed] = { :key => GlobalConfig.friendfeed_oauth_key,
|
31
|
+
:secret => GlobalConfig.friendfeed_oauth_secret } if GlobalConfig.friendfeed_oauth_key
|
32
|
+
|
33
|
+
OAUTH_CREDENTIALS = credentials unless defined? OAUTH_CREDENTIALS
|
34
|
+
load 'oauth/models/consumers/service_loader.rb'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class AddAttachableToActivities < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :activities, :attachable_id, :integer
|
4
|
+
add_column :activities, :attachable_type, :string
|
5
|
+
add_index :activities, ["attachable_id", "attachable_type"]
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.down
|
9
|
+
remove_column :activities, :attachable_id
|
10
|
+
remove_column :activities, :attachable_type
|
11
|
+
remove_index :activities, ["attachable_id", "attachable_type"]
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateOauthConsumerTokens < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
|
4
|
+
create_table :consumer_tokens do |t|
|
5
|
+
t.integer :user_id
|
6
|
+
t.string :type, :limit => 30
|
7
|
+
#t.string :token, :limit => 1024 # This has to be huge because of Yahoo's excessively large tokens
|
8
|
+
t.string :token, :limit => 255 # if the field is to long we can't create an index. Making it smaller
|
9
|
+
t.string :secret
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
|
13
|
+
add_index :consumer_tokens, :token, :unique
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.down
|
18
|
+
drop_table :consumer_tokens
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
class CreateOauthTables < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :client_applications do |t|
|
4
|
+
t.string :name
|
5
|
+
t.string :url
|
6
|
+
t.string :support_url
|
7
|
+
t.string :callback_url
|
8
|
+
t.string :key, :limit => 20
|
9
|
+
t.string :secret, :limit => 40
|
10
|
+
t.integer :user_id
|
11
|
+
|
12
|
+
t.timestamps
|
13
|
+
end
|
14
|
+
add_index :client_applications, :key, :unique
|
15
|
+
|
16
|
+
create_table :oauth_tokens do |t|
|
17
|
+
t.integer :user_id
|
18
|
+
t.string :type, :limit => 20
|
19
|
+
t.integer :client_application_id
|
20
|
+
t.string :token, :limit => 20
|
21
|
+
t.string :secret, :limit => 40
|
22
|
+
t.string :callback_url
|
23
|
+
t.string :verifier, :limit => 20
|
24
|
+
t.timestamp :authorized_at, :invalidated_at
|
25
|
+
t.timestamps
|
26
|
+
end
|
27
|
+
|
28
|
+
add_index :oauth_tokens, :token, :unique
|
29
|
+
|
30
|
+
create_table :oauth_nonces do |t|
|
31
|
+
t.string :nonce
|
32
|
+
t.integer :timestamp
|
33
|
+
|
34
|
+
t.timestamps
|
35
|
+
end
|
36
|
+
add_index :oauth_nonces,[:nonce, :timestamp], :unique
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.down
|
41
|
+
drop_table :client_applications
|
42
|
+
drop_table :oauth_tokens
|
43
|
+
drop_table :oauth_nonces
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class CreateAccessCodes < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :access_codes do |t|
|
4
|
+
t.string :code
|
5
|
+
t.integer :uses, :default => 0, :null => false
|
6
|
+
t.boolean :unlimited, :default => false, :null => false
|
7
|
+
t.datetime :expires_at
|
8
|
+
t.integer :use_limit, :default => 1, :null => false
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
add_index :access_codes, :code
|
12
|
+
add_column :users, :access_code_id, :integer
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.down
|
16
|
+
drop_table :access_codes
|
17
|
+
remove_column :users, :access_code_id
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateAccessCodeRequests < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :access_code_requests do |t|
|
4
|
+
t.string :email
|
5
|
+
t.datetime :code_sent_at
|
6
|
+
t.timestamps
|
7
|
+
end
|
8
|
+
add_index :access_code_requests, :email
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.down
|
12
|
+
drop_table :access_code_requests
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class RemoveNameFields < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
remove_column :profiles, :first_name
|
4
|
+
remove_column :profiles, :last_name
|
5
|
+
add_column :profiles, :profile_views, :integer
|
6
|
+
add_column :profiles, :policy, :text
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
add_column :profiles, :first_name, :string
|
11
|
+
add_column :profiles, :last_name, :string
|
12
|
+
remove_column :profiles, :profile_views
|
13
|
+
remove_column :profiles, :policy
|
14
|
+
end
|
15
|
+
end
|
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
|