muck-oauth 0.1.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +40 -0
- data/Rakefile +8 -5
- data/VERSION +1 -1
- data/app/controllers/oauth_consumers_controller.rb +8 -6
- data/app/helpers/muck_oauth_helper.rb +33 -0
- data/app/views/oauth_consumers/_oauth_fancybox_scripts.html.erb +3 -3
- data/app/views/oauth_consumers/show.html.erb +7 -5
- data/config/initializers/oauth_consumers.rb +11 -1
- data/lib/active_record/acts/muck_oauth_user.rb +11 -11
- data/lib/muck_oauth.rb +6 -0
- data/lib/muck_oauth/exceptions.rb +5 -0
- data/{app/models → lib/muck_oauth/services}/friendfeed_token.rb +6 -2
- data/lib/muck_oauth/services/google_token.rb +71 -0
- data/{app/models → lib/muck_oauth/services}/linkedin_token.rb +1 -1
- data/lib/muck_oauth/services/plaxo_token.rb +2 -0
- data/{app/models → lib/muck_oauth/services}/yahoo_token.rb +8 -8
- data/lib/muck_oauth/tasks.rb +4 -4
- data/locales/ar.yml +2 -0
- data/locales/bg.yml +2 -0
- data/locales/ca.yml +3 -1
- data/locales/cs.yml +2 -0
- data/locales/da.yml +2 -0
- data/locales/de.yml +2 -0
- data/locales/el.yml +2 -0
- data/locales/en.yml +1 -0
- data/locales/es.yml +2 -0
- data/locales/et.yml +2 -0
- data/locales/fa.yml +2 -0
- data/locales/fi.yml +2 -0
- data/locales/fr.yml +2 -0
- data/locales/gl.yml +2 -0
- data/locales/hi.yml +2 -0
- data/locales/hr.yml +2 -0
- data/locales/hu.yml +2 -0
- data/locales/id.yml +2 -0
- data/locales/it.yml +2 -0
- data/locales/iw.yml +2 -0
- data/locales/ja.yml +2 -0
- data/locales/ko.yml +2 -0
- data/locales/lt.yml +2 -0
- data/locales/lv.yml +2 -0
- data/locales/mt.yml +2 -0
- data/locales/nl.yml +2 -0
- data/locales/no.yml +2 -0
- data/locales/pl.yml +2 -0
- data/locales/pt-PT.yml +2 -0
- data/locales/ro.yml +2 -0
- data/locales/ru.yml +2 -0
- data/locales/sk.yml +2 -0
- data/locales/sl.yml +2 -0
- data/locales/sq.yml +2 -0
- data/locales/sr.yml +2 -0
- data/locales/sv.yml +2 -0
- data/locales/th.yml +31 -29
- data/locales/tl.yml +2 -0
- data/locales/tr.yml +2 -0
- data/locales/uk.yml +2 -0
- data/locales/vi.yml +2 -0
- data/locales/zh-CN.yml +2 -0
- data/locales/zh-TW.yml +5 -3
- data/locales/zh.yml +2 -0
- data/muck-oauth.gemspec +378 -31
- data/test/rails_root/app/models/user.rb +1 -5
- data/test/rails_root/app/views/default/index.html.erb +3 -2
- data/test/rails_root/config/environment.rb +4 -1
- data/test/rails_root/config/environments/development.rb +1 -1
- data/test/rails_root/lib/tasks/muck.rake +1 -1
- 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/test/functional/.keep 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/stylesheets/styles.css +7 -0
- data/test/rails_root/test/unit/user_test.rb +0 -7
- metadata +492 -62
- data/test/rails_root/test/functional/contents_controller_test.rb +0 -41
- data/test/rails_root/test/unit/content_permission_test.rb +0 -32
- data/test/rails_root/test/unit/content_test.rb +0 -291
- data/test/rails_root/test/unit/content_translation_test.rb +0 -41
data/README.rdoc
CHANGED
@@ -14,6 +14,41 @@ Add the following to environment.rb
|
|
14
14
|
|
15
15
|
Add the following to your user model:
|
16
16
|
acts_as_muck_oauth_user
|
17
|
+
|
18
|
+
== Configuration
|
19
|
+
Add the following to global_config.yml. Be sure to get keys from each service that you want to interact with.
|
20
|
+
|
21
|
+
# Oauth
|
22
|
+
# Twitter api access: http://www.twitter.com/apps
|
23
|
+
twitter_oauth_key: ''
|
24
|
+
twitter_oauth_secret: ''
|
25
|
+
|
26
|
+
# Google api access: http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html#register
|
27
|
+
google_oauth_key: ""
|
28
|
+
google_oauth_secret: ""
|
29
|
+
|
30
|
+
# Yahoo api access: http://developer.yahoo.com/flickr/
|
31
|
+
yahoo_oauth_key: ""
|
32
|
+
yahoo_oauth_secret: ""
|
33
|
+
|
34
|
+
# Flick api access: http://www.flickr.com/services/apps/create/apply
|
35
|
+
# flickr_oauth_key:
|
36
|
+
# flickr_oauth_secret:
|
37
|
+
|
38
|
+
# Linked In api access: https://www.linkedin.com/secure/developer
|
39
|
+
# linkedin_oauth_key: ""
|
40
|
+
# linkedin_oauth_secret: ""
|
41
|
+
linkedin_oauth_key: ""
|
42
|
+
linkedin_oauth_secret: ""
|
43
|
+
|
44
|
+
# Friendfeed api access: https://friendfeed.com/account/login?next=%2Fapi%2Fregister
|
45
|
+
# Production
|
46
|
+
friendfeed_oauth_key: ''
|
47
|
+
friendfeed_oauth_secret: ''
|
48
|
+
# Test
|
49
|
+
friendfeed_oauth_key: ''
|
50
|
+
friendfeed_oauth_secret: ''
|
51
|
+
|
17
52
|
|
18
53
|
== Usage
|
19
54
|
Add configuration for services to:
|
@@ -56,4 +91,9 @@ None yet
|
|
56
91
|
Flickr
|
57
92
|
None yet
|
58
93
|
|
94
|
+
== Tips and Help
|
95
|
+
If you get an error like this:
|
96
|
+
uninitialized constant User::TwitterToken
|
97
|
+
it means you need to setup your global_config.yml with the values specified above.
|
98
|
+
|
59
99
|
Copyright (c) 2009 Tatemae.com. See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -14,16 +14,19 @@ begin
|
|
14
14
|
gem.description = %Q{A simple wrapper for the oauth and oauth-plugin gems so that it is faster to include oauth in muck based applications.}
|
15
15
|
gem.email = "justin@tatemae.com"
|
16
16
|
gem.homepage = "http://github.com/tatemae/muck-oauth"
|
17
|
+
gem.rubyforge_project = "muck-oauth"
|
17
18
|
gem.authors = ["Justin Ball"]
|
18
|
-
gem.add_dependency "oauth"
|
19
|
-
gem.add_dependency "oauth-plugin"
|
20
|
-
gem.add_dependency "twitter"
|
21
|
-
gem.add_dependency "portablecontacts"
|
19
|
+
gem.add_dependency "oauth", '>= 0.3.6'
|
20
|
+
gem.add_dependency "oauth-plugin", '~> 0.3.14'
|
21
|
+
gem.add_dependency "twitter", '~> 0.9.5'
|
22
|
+
gem.add_dependency "portablecontacts", '>= 0.1.0'
|
22
23
|
gem.add_dependency "agree2"
|
23
24
|
gem.add_dependency "fireeagle"
|
24
|
-
gem.add_dependency "linkedin"
|
25
|
+
gem.add_dependency "linkedin", '~> 0.1.2'
|
26
|
+
gem.add_dependency "overlord"
|
25
27
|
gem.add_dependency "muck-engine"
|
26
28
|
gem.add_dependency "muck-users"
|
29
|
+
gem.add_development_dependency "babelphish"
|
27
30
|
gem.add_development_dependency "shoulda"
|
28
31
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
29
32
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.4
|
@@ -2,11 +2,17 @@ require 'oauth/controllers/consumer_controller'
|
|
2
2
|
class OauthConsumersController < ApplicationController
|
3
3
|
include Oauth::Controllers::ConsumerController
|
4
4
|
|
5
|
-
layout :choose_layout
|
6
|
-
|
7
5
|
def index
|
8
6
|
end
|
9
7
|
|
8
|
+
def show
|
9
|
+
if @token
|
10
|
+
render 'oauth_consumers/show', :layout => false
|
11
|
+
else
|
12
|
+
super
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
10
16
|
protected
|
11
17
|
|
12
18
|
# Change this to decide where you want to redirect user to after callback is finished.
|
@@ -17,8 +23,4 @@ class OauthConsumersController < ApplicationController
|
|
17
23
|
redirect_back_or_default('/')
|
18
24
|
end
|
19
25
|
|
20
|
-
def choose_layout
|
21
|
-
'popup'
|
22
|
-
end
|
23
|
-
|
24
26
|
end
|
@@ -1,5 +1,38 @@
|
|
1
1
|
module MuckOauthHelper
|
2
2
|
|
3
|
+
# Generates a javascript array of emails from gmail. Values will be
|
4
|
+
# put into a variable named 'gmail_contacts'
|
5
|
+
def gmail_contacts_for_auto_complete(user, ignore_cache = false)
|
6
|
+
return unless user.google
|
7
|
+
contacts = gmail_contacts(user, ignore_cache).collect do |contact|
|
8
|
+
contact["emails"].collect{ |email| "'#{email['value']}'" }
|
9
|
+
end.flatten
|
10
|
+
"var gmail_contacts = [#{contacts.join(',')}];"
|
11
|
+
end
|
12
|
+
|
13
|
+
def gmail_contacts_as_array(user, ignore_cache = false)
|
14
|
+
if user.google
|
15
|
+
contacts = []
|
16
|
+
gmail_contacts(user, ignore_cache).each do |contact|
|
17
|
+
name = contact['name']['formatted'] rescue ''
|
18
|
+
contact["emails"].each do |email|
|
19
|
+
email_record = [name, email['value']]
|
20
|
+
contacts << email_record unless contacts.include?(email_record)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
contacts
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def gmail_contacts(user, ignore_cache = false)
|
28
|
+
if @user_gmail_contacts && @user_gmail_contacts[user] && !ignore_cache
|
29
|
+
@user_gmail_contacts[user]
|
30
|
+
else
|
31
|
+
@user_gmail_contacts ||= {}
|
32
|
+
@user_gmail_contacts[user] = user.google.portable_contacts.all
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
3
36
|
# Renders fancybox javascript for oauth services
|
4
37
|
def oauth_fancybox_scripts
|
5
38
|
render :partial => 'oauth_consumers/oauth_fancybox_scripts'
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<% content_for :javascript do -%>
|
2
2
|
jQuery(document).ready(function() {
|
3
3
|
jQuery('a.oauthfancybox').fancybox({
|
4
|
-
'hideOnContentClick':
|
4
|
+
'hideOnContentClick': false,
|
5
5
|
'overlayShow': true,
|
6
|
-
'frameWidth':
|
7
|
-
'frameHeight':
|
6
|
+
'frameWidth': 400,
|
7
|
+
'frameHeight': 300
|
8
8
|
});
|
9
9
|
});
|
10
10
|
<% end -%>
|
@@ -1,5 +1,7 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
<div id="oauth-service-info">
|
2
|
+
<h1><%=translate('muck.oauth.you_are_already_connected_to', :service => params[:id].humanize) %></h1>
|
3
|
+
<% form_tag oauth_consumer_path(params[:id]),:method=>:delete do %>
|
4
|
+
<%=translate('muck.oauth.disconnect_or_reconnect', :disconnect => submit_tag(translate('muck.oauth.disconnect')),
|
5
|
+
:reconnect => submit_tag(translate('muck.oauth.reconnect'))) %>
|
6
|
+
<% end %>
|
7
|
+
</div>
|
@@ -6,17 +6,27 @@
|
|
6
6
|
credentials = {}
|
7
7
|
credentials[:twitter] = { :key => GlobalConfig.twitter_oauth_key,
|
8
8
|
:secret => GlobalConfig.twitter_oauth_secret } if GlobalConfig.twitter_oauth_key
|
9
|
-
|
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(' '),
|
10
15
|
:key => GlobalConfig.google_oauth_key,
|
11
16
|
:secret => GlobalConfig.google_oauth_secret } if GlobalConfig.google_oauth_key
|
17
|
+
|
12
18
|
credentials[:yahoo] = { :key => GlobalConfig.yahoo_oauth_key,
|
13
19
|
:secret => GlobalConfig.yahoo_oauth_secret } if GlobalConfig.yahoo_oauth_key
|
20
|
+
|
14
21
|
credentials[:flickr] = { :key => GlobalConfig.flickr_oauth_key,
|
15
22
|
:secret => GlobalConfig.flickr_oauth_secret } if GlobalConfig.flickr_oauth_key
|
23
|
+
|
16
24
|
credentials[:linkedin] = { :key => GlobalConfig.linkedin_oauth_key,
|
17
25
|
:secret => GlobalConfig.linkedin_oauth_secret } if GlobalConfig.linkedin_oauth_key
|
26
|
+
|
18
27
|
credentials[:fireeagle] = { :key => GlobalConfig.fireeagle_oauth_key,
|
19
28
|
:secret => GlobalConfig.fireeagle_oauth_secret } if GlobalConfig.fireeagle_oauth_key
|
29
|
+
|
20
30
|
credentials[:friendfeed] = { :key => GlobalConfig.friendfeed_oauth_key,
|
21
31
|
:secret => GlobalConfig.friendfeed_oauth_secret } if GlobalConfig.friendfeed_oauth_key
|
22
32
|
|
@@ -19,18 +19,18 @@ module ActiveRecord
|
|
19
19
|
# After adding this method to a user you will be able to call methods against these services ie:
|
20
20
|
# user.linked_in.client.profile
|
21
21
|
def acts_as_muck_oauth_user
|
22
|
-
|
22
|
+
|
23
23
|
has_many :client_applications
|
24
|
-
has_many :tokens, :class_name => "OauthToken", :order => "authorized_at desc", :include => [:client_application]
|
25
|
-
|
26
|
-
has_one :twitter, :class_name => "TwitterToken"
|
27
|
-
has_one :google, :class_name => "GoogleToken"
|
28
|
-
has_one :linked_in, :class_name => "LinkedinToken"
|
29
|
-
has_one :yahoo, :class_name => "YahooToken"
|
30
|
-
has_one :fire_eagle, :class_name => "FireeagleToken"
|
31
|
-
has_one :flickr, :class_name => "FlickrToken"
|
32
|
-
has_one :friend_feed, :class_name => "FriendfeedToken"
|
33
|
-
|
24
|
+
has_many :tokens, :class_name => "OauthToken", :order => "authorized_at desc", :include => [:client_application], :dependent => :destroy
|
25
|
+
|
26
|
+
has_one :twitter, :class_name => "TwitterToken"
|
27
|
+
has_one :google, :class_name => "GoogleToken"
|
28
|
+
has_one :linked_in, :class_name => "LinkedinToken"
|
29
|
+
has_one :yahoo, :class_name => "YahooToken"
|
30
|
+
has_one :fire_eagle, :class_name => "FireeagleToken"
|
31
|
+
has_one :flickr, :class_name => "FlickrToken"
|
32
|
+
has_one :friend_feed, :class_name => "FriendfeedToken"
|
33
|
+
|
34
34
|
include ActiveRecord::Acts::MuckOauthUser::InstanceMethods
|
35
35
|
extend ActiveRecord::Acts::MuckOauthUser::SingletonMethods
|
36
36
|
end
|
data/lib/muck_oauth.rb
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
+
require 'muck_oauth/services/friendfeed_token'
|
2
|
+
require 'muck_oauth/services/google_token'
|
3
|
+
require 'muck_oauth/services/linkedin_token'
|
4
|
+
require 'muck_oauth/services/yahoo_token'
|
5
|
+
require 'muck_oauth/exceptions'
|
1
6
|
|
2
7
|
ActionController::Base.send :helper, MuckOauthHelper
|
3
8
|
|
4
9
|
ActiveRecord::Base.class_eval { include ActiveRecord::Acts::MuckOauthUser }
|
10
|
+
ActiveRecord::Base.class_eval { include MuckOauth::Exceptions }
|
5
11
|
|
6
12
|
I18n.load_path += Dir[ File.join(File.dirname(__FILE__), '..', 'locales', '*.{rb,yml}') ]
|
@@ -3,7 +3,7 @@ class FriendfeedToken < ConsumerToken
|
|
3
3
|
:site => "https://friendfeed.com",
|
4
4
|
:request_token_path => "/account/oauth/request_token",
|
5
5
|
:authorize_path => "/account/oauth/authorize",
|
6
|
-
:access_token_path => "/
|
6
|
+
:access_token_path => "/account/oauth/access_token",
|
7
7
|
}
|
8
8
|
|
9
9
|
def self.consumer
|
@@ -18,4 +18,8 @@ class FriendfeedToken < ConsumerToken
|
|
18
18
|
consumer.get_request_token({ :oauth_callback => callback_url })
|
19
19
|
end
|
20
20
|
|
21
|
-
|
21
|
+
def client
|
22
|
+
raise 'Implement client for friend feed.'
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'portablecontacts'
|
2
|
+
|
3
|
+
class GoogleToken < ConsumerToken
|
4
|
+
|
5
|
+
GOOGLE_SETTINGS={
|
6
|
+
:site=>"https://www.google.com",
|
7
|
+
:request_token_path => "/accounts/OAuthGetRequestToken",
|
8
|
+
:authorize_path => "/accounts/OAuthAuthorizeToken",
|
9
|
+
:access_token_path => "/accounts/OAuthGetAccessToken",
|
10
|
+
}
|
11
|
+
|
12
|
+
def self.consumer
|
13
|
+
@consumer||=create_consumer
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.create_consumer(options={})
|
17
|
+
OAuth::Consumer.new credentials[:key], credentials[:secret], GOOGLE_SETTINGS.merge(options)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.get_request_token(callback_url, scope=nil)
|
21
|
+
consumer.get_request_token({:oauth_callback=>callback_url}, :scope=>scope||credentials[:scope]||"http://www-opensocial.googleusercontent.com/api/people")
|
22
|
+
end
|
23
|
+
|
24
|
+
def portable_contacts
|
25
|
+
@portable_contacts||= PortableContacts::Client.new "http://www-opensocial.googleusercontent.com/api/people", client
|
26
|
+
end
|
27
|
+
|
28
|
+
# Gets and parses contacts from google into objects.
|
29
|
+
# limit: Maximum number of contacts to retrieve
|
30
|
+
def contacts(limit = 10000)
|
31
|
+
convert_google_contacts_json_to_users(load_contacts(limit))
|
32
|
+
end
|
33
|
+
|
34
|
+
# Loads contacts using Google api and OAuth token.
|
35
|
+
def load_contacts(limit = 10000)
|
36
|
+
get("http://www.google.com/m8/feeds/contacts/default/full?max-results=#{limit}")
|
37
|
+
end
|
38
|
+
|
39
|
+
# Converts json returned from google into a feed object
|
40
|
+
def convert_google_contacts_json_to_users(json)
|
41
|
+
if json['feed'] && json['feed']['entry']
|
42
|
+
json['feed']['entry'].collect do |entry|
|
43
|
+
emails = entry['gd$email'].collect { |gd| gd['address'] } if entry['gd$email']
|
44
|
+
phones = entry['gd$phoneNumber'].collect { |gd| gd['t'] } if entry['gd$phoneNumber']
|
45
|
+
if entry['gd$name']
|
46
|
+
first_name = entry['gd$name']['gd$givenName'] if entry['gd$name']['gd$givenName']
|
47
|
+
last_name = entry['gd$name']['gd$familyName'] if entry['gd$name']['gd$familyName']
|
48
|
+
end
|
49
|
+
OpenStruct.new( { :emails => emails,
|
50
|
+
:phones => phones,
|
51
|
+
:first_name => first_name,
|
52
|
+
:last_name => last_name } )
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# Loads a user's groups using Google api and OAuth token.
|
58
|
+
def load_groups(limit = 10000)
|
59
|
+
get("http://www.google.com/m8/feeds/groups/default/full?max-results=#{limit}")
|
60
|
+
end
|
61
|
+
|
62
|
+
def get(path)
|
63
|
+
response = self.client.get(path + "&alt=json&v=3.0")
|
64
|
+
if response.code == '200'
|
65
|
+
JSON.parse(response.body)
|
66
|
+
else
|
67
|
+
raise MuckOauth::Exceptions::HTTPResultError, I18n.t('muck.oauth.http_result_error', :error => response.to_s)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
@@ -22,7 +22,7 @@ class LinkedinToken < ConsumerToken
|
|
22
22
|
|
23
23
|
def client
|
24
24
|
unless @client
|
25
|
-
@client = LinkedIn::Client.new(
|
25
|
+
@client = ::LinkedIn::Client.new(LinkedinToken.consumer.key, LinkedinToken.consumer.secret)
|
26
26
|
@client.authorize_from_access(token, secret)
|
27
27
|
end
|
28
28
|
@client
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# This was taken from an older version of the oauth-plugin gem.
|
2
2
|
class YahooToken < ConsumerToken
|
3
3
|
YAHOO_SETTINGS={
|
4
|
-
:site => "https://
|
5
|
-
:request_token_url => "
|
6
|
-
:authorize_url => "
|
7
|
-
:access_token_url => "
|
4
|
+
:site => "https://api.login.yahoo.com",
|
5
|
+
:request_token_url => "/oauth/v2/get_request_token",
|
6
|
+
:authorize_url => "/oauth/v2/request_auth",
|
7
|
+
:access_token_url => "/oauth/v2/get_token"
|
8
8
|
}
|
9
9
|
|
10
10
|
def self.consumer
|
@@ -81,17 +81,17 @@ end
|
|
81
81
|
# The only change below is that it strips the response.body. Once Yahoo fixes this I will remove this whole section.
|
82
82
|
module OAuth
|
83
83
|
class Consumer
|
84
|
-
|
84
|
+
|
85
85
|
def token_request(http_method, path, token = nil, request_options = {}, *arguments)
|
86
86
|
response = request(http_method, path, token, request_options, *arguments)
|
87
|
-
|
87
|
+
|
88
88
|
case response.code.to_i
|
89
|
-
|
89
|
+
|
90
90
|
when (200..299)
|
91
91
|
# symbolize keys
|
92
92
|
# TODO this could be considered unexpected behavior; symbols or not?
|
93
93
|
# TODO this also drops subsequent values from multi-valued keys
|
94
|
-
|
94
|
+
|
95
95
|
CGI.parse(response.body.strip).inject({}) do |h,(k,v)|
|
96
96
|
h[k.to_sym] = v.first
|
97
97
|
h[k] = v.first
|
data/lib/muck_oauth/tasks.rb
CHANGED
@@ -12,14 +12,14 @@ module MuckOauth
|
|
12
12
|
def define
|
13
13
|
|
14
14
|
namespace :muck do
|
15
|
-
namespace :
|
15
|
+
namespace :sync do
|
16
16
|
desc "Sync required files from muck oauth."
|
17
|
-
task :
|
17
|
+
task :oauth do
|
18
18
|
path = File.join(File.dirname(__FILE__), *%w[.. ..])
|
19
19
|
system "rsync -ruv #{path}/db ."
|
20
20
|
#system "rsync -ruv #{path}/public ."
|
21
|
-
if !File.exists('./config/oauth_consumers.rb')
|
22
|
-
system "rsync -ruv #{path}/config/initializers/oauth_consumers.rb ./config/oauth_consumers.rb"
|
21
|
+
if !File.exists?('./config/initializers/oauth_consumers.rb')
|
22
|
+
system "rsync -ruv #{path}/config/initializers/oauth_consumers.rb ./config/initializers/oauth_consumers.rb"
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
data/locales/ar.yml
CHANGED
@@ -13,6 +13,7 @@ ar:
|
|
13
13
|
back: خلف
|
14
14
|
back_label: خلف
|
15
15
|
callback_label: "رد رابط *"
|
16
|
+
connect_to_account_title: "الاتصال حسابك {{service}}"
|
16
17
|
consume_key: "الاستهلاكية الرئيسية :"
|
17
18
|
consume_secret: "المستهلك السري :"
|
18
19
|
delete: حذف
|
@@ -23,6 +24,7 @@ ar:
|
|
23
24
|
edit: عدل
|
24
25
|
edit_application: "عدل طلبك"
|
25
26
|
edit_label: عدل
|
27
|
+
http_result_error: "كانت هناك مشكلة مع الطلب الخاص بك {{error}}"
|
26
28
|
issued: أصدر
|
27
29
|
main_application_label: "* العنوان الرئيسي التطبيق"
|
28
30
|
name_label: "الاسم *"
|
data/locales/bg.yml
CHANGED
@@ -13,6 +13,7 @@ bg:
|
|
13
13
|
back: Отзад
|
14
14
|
back_label: Отзад
|
15
15
|
callback_label: "Callback URL *"
|
16
|
+
connect_to_account_title: "Свържете се към вашия {{service}} сметка"
|
16
17
|
consume_key: "Ключ на потребителите:"
|
17
18
|
consume_secret: "Тайната на потребителите:"
|
18
19
|
delete: Изтривам
|
@@ -23,6 +24,7 @@ bg:
|
|
23
24
|
edit: Редактиране
|
24
25
|
edit_application: "Редактиране на вашата кандидатура"
|
25
26
|
edit_label: Редактиране
|
27
|
+
http_result_error: "Имаше проблем с искане {{error}}"
|
26
28
|
issued: Издава
|
27
29
|
main_application_label: "Основното приложение URL *"
|
28
30
|
name_label: "Име *"
|