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.
Files changed (420) hide show
  1. data/README.rdoc +40 -0
  2. data/Rakefile +8 -5
  3. data/VERSION +1 -1
  4. data/app/controllers/oauth_consumers_controller.rb +8 -6
  5. data/app/helpers/muck_oauth_helper.rb +33 -0
  6. data/app/views/oauth_consumers/_oauth_fancybox_scripts.html.erb +3 -3
  7. data/app/views/oauth_consumers/show.html.erb +7 -5
  8. data/config/initializers/oauth_consumers.rb +11 -1
  9. data/lib/active_record/acts/muck_oauth_user.rb +11 -11
  10. data/lib/muck_oauth.rb +6 -0
  11. data/lib/muck_oauth/exceptions.rb +5 -0
  12. data/{app/models → lib/muck_oauth/services}/friendfeed_token.rb +6 -2
  13. data/lib/muck_oauth/services/google_token.rb +71 -0
  14. data/{app/models → lib/muck_oauth/services}/linkedin_token.rb +1 -1
  15. data/lib/muck_oauth/services/plaxo_token.rb +2 -0
  16. data/{app/models → lib/muck_oauth/services}/yahoo_token.rb +8 -8
  17. data/lib/muck_oauth/tasks.rb +4 -4
  18. data/locales/ar.yml +2 -0
  19. data/locales/bg.yml +2 -0
  20. data/locales/ca.yml +3 -1
  21. data/locales/cs.yml +2 -0
  22. data/locales/da.yml +2 -0
  23. data/locales/de.yml +2 -0
  24. data/locales/el.yml +2 -0
  25. data/locales/en.yml +1 -0
  26. data/locales/es.yml +2 -0
  27. data/locales/et.yml +2 -0
  28. data/locales/fa.yml +2 -0
  29. data/locales/fi.yml +2 -0
  30. data/locales/fr.yml +2 -0
  31. data/locales/gl.yml +2 -0
  32. data/locales/hi.yml +2 -0
  33. data/locales/hr.yml +2 -0
  34. data/locales/hu.yml +2 -0
  35. data/locales/id.yml +2 -0
  36. data/locales/it.yml +2 -0
  37. data/locales/iw.yml +2 -0
  38. data/locales/ja.yml +2 -0
  39. data/locales/ko.yml +2 -0
  40. data/locales/lt.yml +2 -0
  41. data/locales/lv.yml +2 -0
  42. data/locales/mt.yml +2 -0
  43. data/locales/nl.yml +2 -0
  44. data/locales/no.yml +2 -0
  45. data/locales/pl.yml +2 -0
  46. data/locales/pt-PT.yml +2 -0
  47. data/locales/ro.yml +2 -0
  48. data/locales/ru.yml +2 -0
  49. data/locales/sk.yml +2 -0
  50. data/locales/sl.yml +2 -0
  51. data/locales/sq.yml +2 -0
  52. data/locales/sr.yml +2 -0
  53. data/locales/sv.yml +2 -0
  54. data/locales/th.yml +31 -29
  55. data/locales/tl.yml +2 -0
  56. data/locales/tr.yml +2 -0
  57. data/locales/uk.yml +2 -0
  58. data/locales/vi.yml +2 -0
  59. data/locales/zh-CN.yml +2 -0
  60. data/locales/zh-TW.yml +5 -3
  61. data/locales/zh.yml +2 -0
  62. data/muck-oauth.gemspec +378 -31
  63. data/test/rails_root/app/models/user.rb +1 -5
  64. data/test/rails_root/app/views/default/index.html.erb +3 -2
  65. data/test/rails_root/config/environment.rb +4 -1
  66. data/test/rails_root/config/environments/development.rb +1 -1
  67. data/test/rails_root/lib/tasks/muck.rake +1 -1
  68. data/test/rails_root/public/images/service_icons/16/amazon.png +0 -0
  69. data/test/rails_root/public/images/service_icons/16/ask.png +0 -0
  70. data/test/rails_root/public/images/service_icons/16/bibsonomy.png +0 -0
  71. data/test/rails_root/public/images/service_icons/16/bing.png +0 -0
  72. data/test/rails_root/public/images/service_icons/16/blogger.png +0 -0
  73. data/test/rails_root/public/images/service_icons/16/bloglines.png +0 -0
  74. data/test/rails_root/public/images/service_icons/16/citeulike.png +0 -0
  75. data/test/rails_root/public/images/service_icons/16/clipmarks.png +0 -0
  76. data/test/rails_root/public/images/service_icons/16/connotea.png +0 -0
  77. data/test/rails_root/public/images/service_icons/16/dailymotion.png +0 -0
  78. data/test/rails_root/public/images/service_icons/16/delicious.png +0 -0
  79. data/test/rails_root/public/images/service_icons/16/digg.png +0 -0
  80. data/test/rails_root/public/images/service_icons/16/diigo.png +0 -0
  81. data/test/rails_root/public/images/service_icons/16/facebook.png +0 -0
  82. data/test/rails_root/public/images/service_icons/16/feed.png +0 -0
  83. data/test/rails_root/public/images/service_icons/16/fireeagle.png +0 -0
  84. data/test/rails_root/public/images/service_icons/16/flickr.png +0 -0
  85. data/test/rails_root/public/images/service_icons/16/fotolog.png +0 -0
  86. data/test/rails_root/public/images/service_icons/16/friendfeed.png +0 -0
  87. data/test/rails_root/public/images/service_icons/16/friendster.png +0 -0
  88. data/test/rails_root/public/images/service_icons/16/furl.png +0 -0
  89. data/test/rails_root/public/images/service_icons/16/goodreads.png +0 -0
  90. data/test/rails_root/public/images/service_icons/16/google.png +0 -0
  91. data/test/rails_root/public/images/service_icons/16/googleblog.png +0 -0
  92. data/test/rails_root/public/images/service_icons/16/googlenews.png +0 -0
  93. data/test/rails_root/public/images/service_icons/16/icerocket.png +0 -0
  94. data/test/rails_root/public/images/service_icons/16/identica.png +0 -0
  95. data/test/rails_root/public/images/service_icons/16/joost.png +0 -0
  96. data/test/rails_root/public/images/service_icons/16/lastfm.png +0 -0
  97. data/test/rails_root/public/images/service_icons/16/librarything.png +0 -0
  98. data/test/rails_root/public/images/service_icons/16/linkedin.png +0 -0
  99. data/test/rails_root/public/images/service_icons/16/livejournal.png +0 -0
  100. data/test/rails_root/public/images/service_icons/16/magnolia.png +0 -0
  101. data/test/rails_root/public/images/service_icons/16/mendeley.png +0 -0
  102. data/test/rails_root/public/images/service_icons/16/metacafe.png +0 -0
  103. data/test/rails_root/public/images/service_icons/16/mixx.png +0 -0
  104. data/test/rails_root/public/images/service_icons/16/myspace.png +0 -0
  105. data/test/rails_root/public/images/service_icons/16/netflix.png +0 -0
  106. data/test/rails_root/public/images/service_icons/16/netvibes.png +0 -0
  107. data/test/rails_root/public/images/service_icons/16/newsvine.png +0 -0
  108. data/test/rails_root/public/images/service_icons/16/oai.png +0 -0
  109. data/test/rails_root/public/images/service_icons/16/odeo.png +0 -0
  110. data/test/rails_root/public/images/service_icons/16/opml.png +0 -0
  111. data/test/rails_root/public/images/service_icons/16/pandora.png +0 -0
  112. data/test/rails_root/public/images/service_icons/16/photobucket.png +0 -0
  113. data/test/rails_root/public/images/service_icons/16/picasa.png +0 -0
  114. data/test/rails_root/public/images/service_icons/16/polyvore.png +0 -0
  115. data/test/rails_root/public/images/service_icons/16/pownce.png +0 -0
  116. data/test/rails_root/public/images/service_icons/16/reddit.png +0 -0
  117. data/test/rails_root/public/images/service_icons/16/simpy.png +0 -0
  118. data/test/rails_root/public/images/service_icons/16/smugmug.png +0 -0
  119. data/test/rails_root/public/images/service_icons/16/stumbleupon.png +0 -0
  120. data/test/rails_root/public/images/service_icons/16/tag.png +0 -0
  121. data/test/rails_root/public/images/service_icons/16/technorati.png +0 -0
  122. data/test/rails_root/public/images/service_icons/16/tumblr.png +0 -0
  123. data/test/rails_root/public/images/service_icons/16/twine.png +0 -0
  124. data/test/rails_root/public/images/service_icons/16/twitter.png +0 -0
  125. data/test/rails_root/public/images/service_icons/16/vimeo.png +0 -0
  126. data/test/rails_root/public/images/service_icons/16/webshots.png +0 -0
  127. data/test/rails_root/public/images/service_icons/16/wordpress.png +0 -0
  128. data/test/rails_root/public/images/service_icons/16/xanga.png +0 -0
  129. data/test/rails_root/public/images/service_icons/16/yahoo.png +0 -0
  130. data/test/rails_root/public/images/service_icons/16/yelp.png +0 -0
  131. data/test/rails_root/public/images/service_icons/16/youtube.png +0 -0
  132. data/test/rails_root/public/images/service_icons/16/zooomr.png +0 -0
  133. data/test/rails_root/public/images/service_icons/16/zotero.png +0 -0
  134. data/test/rails_root/public/images/service_icons/24/amazon.png +0 -0
  135. data/test/rails_root/public/images/service_icons/24/ask.png +0 -0
  136. data/test/rails_root/public/images/service_icons/24/bibsonomy.png +0 -0
  137. data/test/rails_root/public/images/service_icons/24/bing.png +0 -0
  138. data/test/rails_root/public/images/service_icons/24/blogger.png +0 -0
  139. data/test/rails_root/public/images/service_icons/24/bloglines.png +0 -0
  140. data/test/rails_root/public/images/service_icons/24/citeulike.png +0 -0
  141. data/test/rails_root/public/images/service_icons/24/clipmarks.png +0 -0
  142. data/test/rails_root/public/images/service_icons/24/connotea.png +0 -0
  143. data/test/rails_root/public/images/service_icons/24/dailymotion.png +0 -0
  144. data/test/rails_root/public/images/service_icons/24/delicious.png +0 -0
  145. data/test/rails_root/public/images/service_icons/24/digg.png +0 -0
  146. data/test/rails_root/public/images/service_icons/24/diigo.png +0 -0
  147. data/test/rails_root/public/images/service_icons/24/facebook.png +0 -0
  148. data/test/rails_root/public/images/service_icons/24/feed.png +0 -0
  149. data/test/rails_root/public/images/service_icons/24/fireeagle.png +0 -0
  150. data/test/rails_root/public/images/service_icons/24/flickr.png +0 -0
  151. data/test/rails_root/public/images/service_icons/24/fotolog.png +0 -0
  152. data/test/rails_root/public/images/service_icons/24/friendfeed.png +0 -0
  153. data/test/rails_root/public/images/service_icons/24/friendster.png +0 -0
  154. data/test/rails_root/public/images/service_icons/24/furl.png +0 -0
  155. data/test/rails_root/public/images/service_icons/24/goodreads.png +0 -0
  156. data/test/rails_root/public/images/service_icons/24/google.png +0 -0
  157. data/test/rails_root/public/images/service_icons/24/googleblog.png +0 -0
  158. data/test/rails_root/public/images/service_icons/24/googlenews.png +0 -0
  159. data/test/rails_root/public/images/service_icons/24/icerocket.png +0 -0
  160. data/test/rails_root/public/images/service_icons/24/identica.png +0 -0
  161. data/test/rails_root/public/images/service_icons/24/joost.png +0 -0
  162. data/test/rails_root/public/images/service_icons/24/lastfm.png +0 -0
  163. data/test/rails_root/public/images/service_icons/24/librarything.png +0 -0
  164. data/test/rails_root/public/images/service_icons/24/linkedin.png +0 -0
  165. data/test/rails_root/public/images/service_icons/24/livejournal.png +0 -0
  166. data/test/rails_root/public/images/service_icons/24/magnolia.png +0 -0
  167. data/test/rails_root/public/images/service_icons/24/mendeley.png +0 -0
  168. data/test/rails_root/public/images/service_icons/24/metacafe.png +0 -0
  169. data/test/rails_root/public/images/service_icons/24/mixx.png +0 -0
  170. data/test/rails_root/public/images/service_icons/24/myspace.png +0 -0
  171. data/test/rails_root/public/images/service_icons/24/netflix.png +0 -0
  172. data/test/rails_root/public/images/service_icons/24/netvibes.png +0 -0
  173. data/test/rails_root/public/images/service_icons/24/newsvine.png +0 -0
  174. data/test/rails_root/public/images/service_icons/24/oai.png +0 -0
  175. data/test/rails_root/public/images/service_icons/24/odeo.png +0 -0
  176. data/test/rails_root/public/images/service_icons/24/opml.png +0 -0
  177. data/test/rails_root/public/images/service_icons/24/pandora.png +0 -0
  178. data/test/rails_root/public/images/service_icons/24/photobucket.png +0 -0
  179. data/test/rails_root/public/images/service_icons/24/picasa.png +0 -0
  180. data/test/rails_root/public/images/service_icons/24/polyvore.png +0 -0
  181. data/test/rails_root/public/images/service_icons/24/pownce.png +0 -0
  182. data/test/rails_root/public/images/service_icons/24/reddit.png +0 -0
  183. data/test/rails_root/public/images/service_icons/24/simpy.png +0 -0
  184. data/test/rails_root/public/images/service_icons/24/smugmug.png +0 -0
  185. data/test/rails_root/public/images/service_icons/24/stumbleupon.png +0 -0
  186. data/test/rails_root/public/images/service_icons/24/tag.png +0 -0
  187. data/test/rails_root/public/images/service_icons/24/technorati.png +0 -0
  188. data/test/rails_root/public/images/service_icons/24/tumblr.png +0 -0
  189. data/test/rails_root/public/images/service_icons/24/twine.png +0 -0
  190. data/test/rails_root/public/images/service_icons/24/twitter.png +0 -0
  191. data/test/rails_root/public/images/service_icons/24/vimeo.png +0 -0
  192. data/test/rails_root/public/images/service_icons/24/webshots.png +0 -0
  193. data/test/rails_root/public/images/service_icons/24/wordpress.png +0 -0
  194. data/test/rails_root/public/images/service_icons/24/xanga.png +0 -0
  195. data/test/rails_root/public/images/service_icons/24/yahoo.png +0 -0
  196. data/test/rails_root/public/images/service_icons/24/yelp.png +0 -0
  197. data/test/rails_root/public/images/service_icons/24/youtube.png +0 -0
  198. data/test/rails_root/public/images/service_icons/24/zooomr.png +0 -0
  199. data/test/rails_root/public/images/service_icons/24/zotero.png +0 -0
  200. data/test/rails_root/public/images/service_icons/48/amazon.png +0 -0
  201. data/test/rails_root/public/images/service_icons/48/ask.png +0 -0
  202. data/test/rails_root/public/images/service_icons/48/bibsonomy.png +0 -0
  203. data/test/rails_root/public/images/service_icons/48/bing.png +0 -0
  204. data/test/rails_root/public/images/service_icons/48/blogger.png +0 -0
  205. data/test/rails_root/public/images/service_icons/48/bloglines.png +0 -0
  206. data/test/rails_root/public/images/service_icons/48/citeulike.png +0 -0
  207. data/test/rails_root/public/images/service_icons/48/clipmarks.png +0 -0
  208. data/test/rails_root/public/images/service_icons/48/connotea.png +0 -0
  209. data/test/rails_root/public/images/service_icons/48/dailymotion.png +0 -0
  210. data/test/rails_root/public/images/service_icons/48/delicious.png +0 -0
  211. data/test/rails_root/public/images/service_icons/48/digg.png +0 -0
  212. data/test/rails_root/public/images/service_icons/48/diigo.png +0 -0
  213. data/test/rails_root/public/images/service_icons/48/facebook.png +0 -0
  214. data/test/rails_root/public/images/service_icons/48/feed.png +0 -0
  215. data/test/rails_root/public/images/service_icons/48/fireeagle.png +0 -0
  216. data/test/rails_root/public/images/service_icons/48/flickr.png +0 -0
  217. data/test/rails_root/public/images/service_icons/48/fotolog.png +0 -0
  218. data/test/rails_root/public/images/service_icons/48/friendfeed.png +0 -0
  219. data/test/rails_root/public/images/service_icons/48/friendster.png +0 -0
  220. data/test/rails_root/public/images/service_icons/48/furl.png +0 -0
  221. data/test/rails_root/public/images/service_icons/48/goodreads.png +0 -0
  222. data/test/rails_root/public/images/service_icons/48/google.png +0 -0
  223. data/test/rails_root/public/images/service_icons/48/googleblog.png +0 -0
  224. data/test/rails_root/public/images/service_icons/48/googlenews.png +0 -0
  225. data/test/rails_root/public/images/service_icons/48/icerocket.png +0 -0
  226. data/test/rails_root/public/images/service_icons/48/identica.png +0 -0
  227. data/test/rails_root/public/images/service_icons/48/joost.png +0 -0
  228. data/test/rails_root/public/images/service_icons/48/lastfm.png +0 -0
  229. data/test/rails_root/public/images/service_icons/48/librarything.png +0 -0
  230. data/test/rails_root/public/images/service_icons/48/linkedin.png +0 -0
  231. data/test/rails_root/public/images/service_icons/48/livejournal.png +0 -0
  232. data/test/rails_root/public/images/service_icons/48/magnolia.png +0 -0
  233. data/test/rails_root/public/images/service_icons/48/mendeley.png +0 -0
  234. data/test/rails_root/public/images/service_icons/48/metacafe.png +0 -0
  235. data/test/rails_root/public/images/service_icons/48/mixx.png +0 -0
  236. data/test/rails_root/public/images/service_icons/48/myspace.png +0 -0
  237. data/test/rails_root/public/images/service_icons/48/netflix.png +0 -0
  238. data/test/rails_root/public/images/service_icons/48/netvibes.png +0 -0
  239. data/test/rails_root/public/images/service_icons/48/newsvine.png +0 -0
  240. data/test/rails_root/public/images/service_icons/48/oai.png +0 -0
  241. data/test/rails_root/public/images/service_icons/48/odeo.png +0 -0
  242. data/test/rails_root/public/images/service_icons/48/opml.png +0 -0
  243. data/test/rails_root/public/images/service_icons/48/pandora.png +0 -0
  244. data/test/rails_root/public/images/service_icons/48/photobucket.png +0 -0
  245. data/test/rails_root/public/images/service_icons/48/picasa.png +0 -0
  246. data/test/rails_root/public/images/service_icons/48/polyvore.png +0 -0
  247. data/test/rails_root/public/images/service_icons/48/pownce.png +0 -0
  248. data/test/rails_root/public/images/service_icons/48/reddit.png +0 -0
  249. data/test/rails_root/public/images/service_icons/48/simpy.png +0 -0
  250. data/test/rails_root/public/images/service_icons/48/smugmug.png +0 -0
  251. data/test/rails_root/public/images/service_icons/48/stumbleupon.png +0 -0
  252. data/test/rails_root/public/images/service_icons/48/tag.png +0 -0
  253. data/test/rails_root/public/images/service_icons/48/technorati.png +0 -0
  254. data/test/rails_root/public/images/service_icons/48/tumblr.png +0 -0
  255. data/test/rails_root/public/images/service_icons/48/twine.png +0 -0
  256. data/test/rails_root/public/images/service_icons/48/twitter.png +0 -0
  257. data/test/rails_root/public/images/service_icons/48/vimeo.png +0 -0
  258. data/test/rails_root/public/images/service_icons/48/webshots.png +0 -0
  259. data/test/rails_root/public/images/service_icons/48/wordpress.png +0 -0
  260. data/test/rails_root/public/images/service_icons/48/xanga.png +0 -0
  261. data/test/rails_root/public/images/service_icons/48/yahoo.png +0 -0
  262. data/test/rails_root/public/images/service_icons/48/yelp.png +0 -0
  263. data/test/rails_root/public/images/service_icons/48/youtube.png +0 -0
  264. data/test/rails_root/public/images/service_icons/48/zooomr.png +0 -0
  265. data/test/rails_root/public/images/service_icons/48/zotero.png +0 -0
  266. data/test/rails_root/public/images/service_icons/60/amazon.png +0 -0
  267. data/test/rails_root/public/images/service_icons/60/ask.png +0 -0
  268. data/test/rails_root/public/images/service_icons/60/bibsonomy.png +0 -0
  269. data/test/rails_root/public/images/service_icons/60/bing.png +0 -0
  270. data/test/rails_root/public/images/service_icons/60/blogger.png +0 -0
  271. data/test/rails_root/public/images/service_icons/60/bloglines.png +0 -0
  272. data/test/rails_root/public/images/service_icons/60/citeulike.png +0 -0
  273. data/test/rails_root/public/images/service_icons/60/clipmarks.png +0 -0
  274. data/test/rails_root/public/images/service_icons/60/connotea.png +0 -0
  275. data/test/rails_root/public/images/service_icons/60/dailymotion.png +0 -0
  276. data/test/rails_root/public/images/service_icons/60/delicious.png +0 -0
  277. data/test/rails_root/public/images/service_icons/60/digg.png +0 -0
  278. data/test/rails_root/public/images/service_icons/60/diigo.png +0 -0
  279. data/test/rails_root/public/images/service_icons/60/facebook.png +0 -0
  280. data/test/rails_root/public/images/service_icons/60/feed.png +0 -0
  281. data/test/rails_root/public/images/service_icons/60/fireeagle.png +0 -0
  282. data/test/rails_root/public/images/service_icons/60/flickr.png +0 -0
  283. data/test/rails_root/public/images/service_icons/60/fotolog.png +0 -0
  284. data/test/rails_root/public/images/service_icons/60/friendfeed.png +0 -0
  285. data/test/rails_root/public/images/service_icons/60/friendster.png +0 -0
  286. data/test/rails_root/public/images/service_icons/60/furl.png +0 -0
  287. data/test/rails_root/public/images/service_icons/60/goodreads.png +0 -0
  288. data/test/rails_root/public/images/service_icons/60/google.png +0 -0
  289. data/test/rails_root/public/images/service_icons/60/googleblog.png +0 -0
  290. data/test/rails_root/public/images/service_icons/60/googlenews.png +0 -0
  291. data/test/rails_root/public/images/service_icons/60/icerocket.png +0 -0
  292. data/test/rails_root/public/images/service_icons/60/identica.png +0 -0
  293. data/test/rails_root/public/images/service_icons/60/joost.png +0 -0
  294. data/test/rails_root/public/images/service_icons/60/lastfm.png +0 -0
  295. data/test/rails_root/public/images/service_icons/60/librarything.png +0 -0
  296. data/test/rails_root/public/images/service_icons/60/linkedin.png +0 -0
  297. data/test/rails_root/public/images/service_icons/60/livejournal.png +0 -0
  298. data/test/rails_root/public/images/service_icons/60/magnolia.png +0 -0
  299. data/test/rails_root/public/images/service_icons/60/mendeley.png +0 -0
  300. data/test/rails_root/public/images/service_icons/60/metacafe.png +0 -0
  301. data/test/rails_root/public/images/service_icons/60/mixx.png +0 -0
  302. data/test/rails_root/public/images/service_icons/60/myspace.png +0 -0
  303. data/test/rails_root/public/images/service_icons/60/netflix.png +0 -0
  304. data/test/rails_root/public/images/service_icons/60/netvibes.png +0 -0
  305. data/test/rails_root/public/images/service_icons/60/newsvine.png +0 -0
  306. data/test/rails_root/public/images/service_icons/60/oai.png +0 -0
  307. data/test/rails_root/public/images/service_icons/60/odeo.png +0 -0
  308. data/test/rails_root/public/images/service_icons/60/opml.png +0 -0
  309. data/test/rails_root/public/images/service_icons/60/pandora.png +0 -0
  310. data/test/rails_root/public/images/service_icons/60/photobucket.png +0 -0
  311. data/test/rails_root/public/images/service_icons/60/picasa.png +0 -0
  312. data/test/rails_root/public/images/service_icons/60/polyvore.png +0 -0
  313. data/test/rails_root/public/images/service_icons/60/pownce.png +0 -0
  314. data/test/rails_root/public/images/service_icons/60/reddit.png +0 -0
  315. data/test/rails_root/public/images/service_icons/60/simpy.png +0 -0
  316. data/test/rails_root/public/images/service_icons/60/smugmug.png +0 -0
  317. data/test/rails_root/public/images/service_icons/60/stumbleupon.png +0 -0
  318. data/test/rails_root/public/images/service_icons/60/tag.png +0 -0
  319. data/test/rails_root/public/images/service_icons/60/technorati.png +0 -0
  320. data/test/rails_root/public/images/service_icons/60/tumblr.png +0 -0
  321. data/test/rails_root/public/images/service_icons/60/twine.png +0 -0
  322. data/test/rails_root/public/images/service_icons/60/twitter.png +0 -0
  323. data/test/rails_root/public/images/service_icons/60/vimeo.png +0 -0
  324. data/test/rails_root/public/images/service_icons/60/webshots.png +0 -0
  325. data/test/rails_root/public/images/service_icons/60/wordpress.png +0 -0
  326. data/test/rails_root/public/images/service_icons/60/xanga.png +0 -0
  327. data/test/rails_root/public/images/service_icons/60/yahoo.png +0 -0
  328. data/test/rails_root/public/images/service_icons/60/yelp.png +0 -0
  329. data/test/rails_root/public/images/service_icons/60/youtube.png +0 -0
  330. data/test/rails_root/public/images/service_icons/60/zooomr.png +0 -0
  331. data/test/rails_root/public/images/service_icons/60/zotero.png +0 -0
  332. data/test/rails_root/public/images/service_icons/facebook_friend_links.jpg +0 -0
  333. data/test/rails_root/public/images/service_icons/facebook_my_links.jpg +0 -0
  334. data/test/rails_root/public/images/service_icons/source/Aquaticus_Social_Icon_template_by_jwloh.psd +0 -0
  335. data/test/rails_root/public/images/service_icons/source/Google.psd +0 -0
  336. data/test/rails_root/test/functional/.keep b/data/test/rails_root/public/images/service_icons/source/Quake 9 → Design.webloc +0 -0
  337. data/test/rails_root/public/images/service_icons/source/ReadMe.rtf +52 -0
  338. data/test/rails_root/public/images/service_icons/source/amazon.png +0 -0
  339. data/test/rails_root/public/images/service_icons/source/aquaticus.social.png +0 -0
  340. data/test/rails_root/public/images/service_icons/source/ask.png +0 -0
  341. data/test/rails_root/public/images/service_icons/source/ask.psd +0 -0
  342. data/test/rails_root/public/images/service_icons/source/bibsonomy.png +0 -0
  343. data/test/rails_root/public/images/service_icons/source/bibsonomy.psd +0 -0
  344. data/test/rails_root/public/images/service_icons/source/bing.png +0 -0
  345. data/test/rails_root/public/images/service_icons/source/bing.psd +0 -0
  346. data/test/rails_root/public/images/service_icons/source/blogger.png +0 -0
  347. data/test/rails_root/public/images/service_icons/source/bloglines.png +0 -0
  348. data/test/rails_root/public/images/service_icons/source/bloglines.psd +0 -0
  349. data/test/rails_root/public/images/service_icons/source/citeulike.png +0 -0
  350. data/test/rails_root/public/images/service_icons/source/clipmarks.png +0 -0
  351. data/test/rails_root/public/images/service_icons/source/connotea.png +0 -0
  352. data/test/rails_root/public/images/service_icons/source/connotea.psd +0 -0
  353. data/test/rails_root/public/images/service_icons/source/dailymotion.png +0 -0
  354. data/test/rails_root/public/images/service_icons/source/delicious.png +0 -0
  355. data/test/rails_root/public/images/service_icons/source/digg.png +0 -0
  356. data/test/rails_root/public/images/service_icons/source/diigo.png +0 -0
  357. data/test/rails_root/public/images/service_icons/source/facebook.png +0 -0
  358. data/test/rails_root/public/images/service_icons/source/feed.png +0 -0
  359. data/test/rails_root/public/images/service_icons/source/fireeagle.psd +0 -0
  360. data/test/rails_root/public/images/service_icons/source/flickr.png +0 -0
  361. data/test/rails_root/public/images/service_icons/source/fotolog.png +0 -0
  362. data/test/rails_root/public/images/service_icons/source/friendfeed.png +0 -0
  363. data/test/rails_root/public/images/service_icons/source/friendster.png +0 -0
  364. data/test/rails_root/public/images/service_icons/source/furl.png +0 -0
  365. data/test/rails_root/public/images/service_icons/source/goodreads.png +0 -0
  366. data/test/rails_root/public/images/service_icons/source/google.png +0 -0
  367. data/test/rails_root/public/images/service_icons/source/googleblog.png +0 -0
  368. data/test/rails_root/public/images/service_icons/source/googlenews.png +0 -0
  369. data/test/rails_root/public/images/service_icons/source/icerocket.png +0 -0
  370. data/test/rails_root/public/images/service_icons/source/icerocket.psd +0 -0
  371. data/test/rails_root/public/images/service_icons/source/identica.png +0 -0
  372. data/test/rails_root/public/images/service_icons/source/joost.png +0 -0
  373. data/test/rails_root/public/images/service_icons/source/lastfm.png +0 -0
  374. data/test/rails_root/public/images/service_icons/source/librarything.png +0 -0
  375. data/test/rails_root/public/images/service_icons/source/linkedin.png +0 -0
  376. data/test/rails_root/public/images/service_icons/source/livejournal.png +0 -0
  377. data/test/rails_root/public/images/service_icons/source/magnolia.png +0 -0
  378. data/test/rails_root/public/images/service_icons/source/mendeley.png +0 -0
  379. data/test/rails_root/public/images/service_icons/source/metacafe.png +0 -0
  380. data/test/rails_root/public/images/service_icons/source/metacafe.psd +0 -0
  381. data/test/rails_root/public/images/service_icons/source/mixx.png +0 -0
  382. data/test/rails_root/public/images/service_icons/source/myspace.png +0 -0
  383. data/test/rails_root/public/images/service_icons/source/netflix.png +0 -0
  384. data/test/rails_root/public/images/service_icons/source/netvibes.png +0 -0
  385. data/test/rails_root/public/images/service_icons/source/newsvine.png +0 -0
  386. data/test/rails_root/public/images/service_icons/source/oai.png +0 -0
  387. data/test/rails_root/public/images/service_icons/source/odeo.png +0 -0
  388. data/test/rails_root/public/images/service_icons/source/opml.png +0 -0
  389. data/test/rails_root/public/images/service_icons/source/pandora.png +0 -0
  390. data/test/rails_root/public/images/service_icons/source/photobucket.png +0 -0
  391. data/test/rails_root/public/images/service_icons/source/picasa.png +0 -0
  392. data/test/rails_root/public/images/service_icons/source/polyvore.png +0 -0
  393. data/test/rails_root/public/images/service_icons/source/pownce.png +0 -0
  394. data/test/rails_root/public/images/service_icons/source/reddit.png +0 -0
  395. data/test/rails_root/public/images/service_icons/source/simpy.png +0 -0
  396. data/test/rails_root/public/images/service_icons/source/smugmug.png +0 -0
  397. data/test/rails_root/public/images/service_icons/source/stumbleupon.png +0 -0
  398. data/test/rails_root/public/images/service_icons/source/tag.png +0 -0
  399. data/test/rails_root/public/images/service_icons/source/technorati.png +0 -0
  400. data/test/rails_root/public/images/service_icons/source/template.png +0 -0
  401. data/test/rails_root/public/images/service_icons/source/tumblr.png +0 -0
  402. data/test/rails_root/public/images/service_icons/source/twine.png +0 -0
  403. data/test/rails_root/public/images/service_icons/source/twine.psd +0 -0
  404. data/test/rails_root/public/images/service_icons/source/twitter.png +0 -0
  405. data/test/rails_root/public/images/service_icons/source/vimeo.png +0 -0
  406. data/test/rails_root/public/images/service_icons/source/webshots.png +0 -0
  407. data/test/rails_root/public/images/service_icons/source/wordpress.png +0 -0
  408. data/test/rails_root/public/images/service_icons/source/xanga.png +0 -0
  409. data/test/rails_root/public/images/service_icons/source/yahoo.png +0 -0
  410. data/test/rails_root/public/images/service_icons/source/yelp.png +0 -0
  411. data/test/rails_root/public/images/service_icons/source/youtube.png +0 -0
  412. data/test/rails_root/public/images/service_icons/source/zooomr.png +0 -0
  413. data/test/rails_root/public/images/service_icons/source/zotero.png +0 -0
  414. data/test/rails_root/public/stylesheets/styles.css +7 -0
  415. data/test/rails_root/test/unit/user_test.rb +0 -7
  416. metadata +492 -62
  417. data/test/rails_root/test/functional/contents_controller_test.rb +0 -41
  418. data/test/rails_root/test/unit/content_permission_test.rb +0 -32
  419. data/test/rails_root/test/unit/content_test.rb +0 -291
  420. 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.3
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': true,
4
+ 'hideOnContentClick': false,
5
5
  'overlayShow': true,
6
- 'frameWidth': 800,
7
- 'frameHeight': 600
6
+ 'frameWidth': 400,
7
+ 'frameHeight': 300
8
8
  });
9
9
  });
10
10
  <% end -%>
@@ -1,5 +1,7 @@
1
- <h1><%=translate('muck.oauth.you_are_already_connected_to', :service => params[:id].humanize) %></h1>
2
- <% form_tag oauth_consumer_path(params[:id]),:method=>:delete do %>
3
- <%=translate('muck.oauth.disconnect_or_reconnect', :disconnect => submit_tag(translate('muck.oauth.disconnect')),
4
- :reconnect => submit_tag(translate('muck.oauth.reconnect'))) %>
5
- <% end %>
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
- credentials[:google] = { :scope => "https://mail.google.com/mail/feed/atom/", # see http://code.google.com/apis/gdata/faq.html#AuthScopes
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", :dependent => :destroy
27
- has_one :google, :class_name => "GoogleToken", :dependent => :destroy
28
- has_one :linked_in, :class_name => "LinkedinToken", :dependent => :destroy
29
- has_one :yahoo, :class_name => "YahooToken", :dependent => :destroy
30
- has_one :fire_eagle, :class_name => "FireeagleToken", :dependent => :destroy
31
- has_one :flickr, :class_name => "FlickrToken", :dependent => :destroy
32
- has_one :friend_feed, :class_name => "FriendfeedToken", :dependent => :destroy
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}') ]
@@ -0,0 +1,5 @@
1
+ module MuckOauth
2
+ module Exceptions
3
+ class HTTPResultError < StandardError; end
4
+ end
5
+ end
@@ -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 => "/accounts/account/oauth/access_token",
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
- end
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(LinkedInToken.consumer.key, LinkedInToken.consumer.secret)
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
@@ -0,0 +1,2 @@
1
+ # https://www.plaxo.com/api/portablecontacts
2
+ # https://www.plaxo.com/pdata/testClient
@@ -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://www.yahoo.com",
5
- :request_token_url => "https://api.login.yahoo.com/oauth/v2/get_request_token",
6
- :authorize_url => "https://api.login.yahoo.com/oauth/v2/request_auth",
7
- :access_token_url => "https://api.login.yahoo.com/oauth/v2/get_token"
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
@@ -12,14 +12,14 @@ module MuckOauth
12
12
  def define
13
13
 
14
14
  namespace :muck do
15
- namespace :oauth do
15
+ namespace :sync do
16
16
  desc "Sync required files from muck oauth."
17
- task :sync do
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: "Име *"