overlord 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/LICENSE +20 -0
- data/README.rdoc +7 -0
- data/Rakefile +73 -0
- data/VERSION +1 -0
- data/app/helpers/overlord_google_helper.rb +298 -0
- data/app/views/google/_combined_feed.html.erb +54 -0
- data/app/views/google/_dynamic_feeds_vertical.html.erb +22 -0
- data/app/views/google/_feed.html.erb +43 -0
- data/app/views/google/_feed_search.html.erb +26 -0
- data/app/views/google/_feeds_scripts.html.erb +36 -0
- data/app/views/google/_hot_trends.html.erb +5 -0
- data/app/views/google/_search.html.erb +39 -0
- data/app/views/google/_slide_show.html.erb +14 -0
- data/lib/overlord.rb +3 -0
- data/lib/overlord/google_feed_request.rb +116 -0
- data/rails/init.rb +5 -0
- data/test/rails_root/.gitignore +8 -0
- data/test/rails_root/.rake_tasks +103 -0
- data/test/rails_root/Rakefile +18 -0
- data/test/rails_root/app/controllers/application_controller.rb +9 -0
- data/test/rails_root/app/controllers/default_controller.rb +27 -0
- data/test/rails_root/app/helpers/application_helper.rb +3 -0
- data/test/rails_root/app/models/.keep +0 -0
- data/test/rails_root/app/views/default/index.html.erb +0 -0
- data/test/rails_root/app/views/layouts/default.html.erb +43 -0
- data/test/rails_root/config/amazon_s3.yml +14 -0
- data/test/rails_root/config/boot.rb +109 -0
- data/test/rails_root/config/database.yml +17 -0
- data/test/rails_root/config/environment.rb +19 -0
- data/test/rails_root/config/environments/cucumber.rb +21 -0
- data/test/rails_root/config/environments/development.rb +36 -0
- data/test/rails_root/config/environments/production.rb +1 -0
- data/test/rails_root/config/environments/test.rb +34 -0
- data/test/rails_root/config/global_config.yml +31 -0
- data/test/rails_root/config/initializers/inflections.rb +10 -0
- data/test/rails_root/config/initializers/mime_types.rb +5 -0
- data/test/rails_root/config/initializers/requires.rb +13 -0
- data/test/rails_root/config/initializers/session_store.rb +8 -0
- data/test/rails_root/config/routes.rb +5 -0
- data/test/rails_root/db/.keep +0 -0
- data/test/rails_root/db/migrate/20091031181115_create_sessions.rb +16 -0
- data/test/rails_root/features/feeds.feature +13 -0
- data/test/rails_root/features/step_definitions/common_steps.rb +93 -0
- data/test/rails_root/features/step_definitions/visit_steps.rb +6 -0
- data/test/rails_root/features/step_definitions/webrat_steps.rb +128 -0
- data/test/rails_root/features/support/env.rb +14 -0
- data/test/rails_root/features/support/paths.rb +36 -0
- data/test/rails_root/features/visit.feature +10 -0
- data/test/rails_root/lib/tasks/cucumber.rake +20 -0
- data/test/rails_root/public/.htaccess +40 -0
- data/test/rails_root/public/404.html +30 -0
- data/test/rails_root/public/422.html +30 -0
- data/test/rails_root/public/500.html +30 -0
- data/test/rails_root/public/dispatch.rb +10 -0
- data/test/rails_root/public/ecs_to_rss-wishlist.xslt +41 -0
- data/test/rails_root/public/favicon.ico +0 -0
- data/test/rails_root/public/images/arrow_left.gif +0 -0
- data/test/rails_root/public/images/arrow_right.gif +0 -0
- data/test/rails_root/public/images/blue/preview.gif +0 -0
- data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
- data/test/rails_root/public/images/icons/accept.png +0 -0
- data/test/rails_root/public/images/icons/add.png +0 -0
- data/test/rails_root/public/images/icons/blue_guy.png +0 -0
- data/test/rails_root/public/images/icons/cancel.png +0 -0
- data/test/rails_root/public/images/icons/close.png +0 -0
- data/test/rails_root/public/images/icons/comment.png +0 -0
- data/test/rails_root/public/images/icons/delete.png +0 -0
- data/test/rails_root/public/images/icons/exclaim.png +0 -0
- data/test/rails_root/public/images/icons/grey_guy.png +0 -0
- data/test/rails_root/public/images/icons/hide.png +0 -0
- data/test/rails_root/public/images/icons/information.png +0 -0
- data/test/rails_root/public/images/icons/minus.png +0 -0
- data/test/rails_root/public/images/icons/question.png +0 -0
- data/test/rails_root/public/images/icons/search_box.png +0 -0
- data/test/rails_root/public/images/icons/star.png +0 -0
- data/test/rails_root/public/images/icons/stop.png +0 -0
- data/test/rails_root/public/images/icons/thumb_down.png +0 -0
- data/test/rails_root/public/images/icons/thumb_up.png +0 -0
- data/test/rails_root/public/images/icons/vote.png +0 -0
- data/test/rails_root/public/images/loading.gif +0 -0
- data/test/rails_root/public/images/profile_default.jpg +0 -0
- data/test/rails_root/public/images/rails.png +0 -0
- data/test/rails_root/public/images/red/preview.gif +0 -0
- data/test/rails_root/public/images/service_icons/16/amazon.png +0 -0
- data/test/rails_root/public/images/service_icons/16/ask.png +0 -0
- data/test/rails_root/public/images/service_icons/16/bibsonomy.png +0 -0
- data/test/rails_root/public/images/service_icons/16/bing.png +0 -0
- data/test/rails_root/public/images/service_icons/16/blogger.png +0 -0
- data/test/rails_root/public/images/service_icons/16/bloglines.png +0 -0
- data/test/rails_root/public/images/service_icons/16/citeulike.png +0 -0
- data/test/rails_root/public/images/service_icons/16/clipmarks.png +0 -0
- data/test/rails_root/public/images/service_icons/16/connotea.png +0 -0
- data/test/rails_root/public/images/service_icons/16/dailymotion.png +0 -0
- data/test/rails_root/public/images/service_icons/16/delicious.png +0 -0
- data/test/rails_root/public/images/service_icons/16/digg.png +0 -0
- data/test/rails_root/public/images/service_icons/16/diigo.png +0 -0
- data/test/rails_root/public/images/service_icons/16/facebook.png +0 -0
- data/test/rails_root/public/images/service_icons/16/feed.png +0 -0
- data/test/rails_root/public/images/service_icons/16/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/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/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/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/ReadMe.rtf +52 -0
- data/test/rails_root/public/images/service_icons/amazon.png +0 -0
- data/test/rails_root/public/images/service_icons/facebook_friend_links.jpg +0 -0
- data/test/rails_root/public/images/service_icons/facebook_my_links.jpg +0 -0
- data/test/rails_root/public/images/service_icons/source/Aquaticus_Social_Icon_template_by_jwloh.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/Google.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/Quake 9 Design.webloc b/data/test/rails_root/public/images/service_icons/source/Quake 9 → Design.webloc +0 -0
- data/test/rails_root/public/images/service_icons/source/ReadMe.rtf +52 -0
- data/test/rails_root/public/images/service_icons/source/aquaticus.social.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.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/bing.psd +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.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/icerocket.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/metacafe.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/netflix.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/simpy.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/twine.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/xanga.png +0 -0
- data/test/rails_root/public/images/spinner.gif +0 -0
- data/test/rails_root/public/images/sprites.png +0 -0
- data/test/rails_root/public/javascripts/application.js +2 -0
- data/test/rails_root/public/javascripts/builder.js +136 -0
- data/test/rails_root/public/javascripts/controls.js +963 -0
- data/test/rails_root/public/javascripts/dragdrop.js +972 -0
- data/test/rails_root/public/javascripts/effects.js +1120 -0
- data/test/rails_root/public/javascripts/fancyzoom.min.js +1 -0
- data/test/rails_root/public/javascripts/jquery-ui.js +188 -0
- data/test/rails_root/public/javascripts/jquery.js +19 -0
- data/test/rails_root/public/javascripts/jquery/jquery-ui.js +273 -0
- data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
- data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +9 -0
- data/test/rails_root/public/javascripts/jquery/jquery.form.js +637 -0
- data/test/rails_root/public/javascripts/jquery/jquery.jgrowl.js +2 -0
- data/test/rails_root/public/javascripts/jquery/jquery.js +19 -0
- data/test/rails_root/public/javascripts/jquery/jquery.tips.js +69 -0
- data/test/rails_root/public/javascripts/jquery/jrails.js +1 -0
- data/test/rails_root/public/javascripts/jrails.js +1 -0
- data/test/rails_root/public/javascripts/muck.js +81 -0
- data/test/rails_root/public/javascripts/muck_activities.js +107 -0
- data/test/rails_root/public/javascripts/muck_raker.js +94 -0
- data/test/rails_root/public/javascripts/prototype.js +4225 -0
- data/test/rails_root/public/javascripts/scriptaculous.js +58 -0
- data/test/rails_root/public/javascripts/slider.js +277 -0
- data/test/rails_root/public/javascripts/sound.js +60 -0
- data/test/rails_root/public/robots.txt +1 -0
- data/test/rails_root/public/stylesheets/.keep +0 -0
- data/test/rails_root/public/stylesheets/admin.css +12 -0
- data/test/rails_root/public/stylesheets/application.css +0 -0
- data/test/rails_root/public/stylesheets/blueprint/ie.css +26 -0
- data/test/rails_root/public/stylesheets/blueprint/liquid_screen.css +203 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/cross.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/key.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/tick.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/readme.txt +32 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/screen.css +97 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/readme.txt +14 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/screen.css +71 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/email.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/external.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/im.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/readme.txt +18 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/screen.css +40 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/liquid.css +134 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/src/liquid.css +197 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/readme.txt +10 -0
- data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/screen.css +109 -0
- data/test/rails_root/public/stylesheets/blueprint/print.css +30 -0
- data/test/rails_root/public/stylesheets/blueprint/screen.css +251 -0
- data/test/rails_root/public/stylesheets/blueprint/sprite.css +1 -0
- data/test/rails_root/public/stylesheets/blueprint/src/forms.css +49 -0
- data/test/rails_root/public/stylesheets/blueprint/src/grid.css +213 -0
- data/test/rails_root/public/stylesheets/blueprint/src/grid.png +0 -0
- data/test/rails_root/public/stylesheets/blueprint/src/ie.css +59 -0
- data/test/rails_root/public/stylesheets/blueprint/src/print.css +85 -0
- data/test/rails_root/public/stylesheets/blueprint/src/reset.css +38 -0
- data/test/rails_root/public/stylesheets/blueprint/src/typography.css +105 -0
- data/test/rails_root/public/stylesheets/frame.css +56 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_100_f0f0f0_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_50_99c2ff_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_80_e6e6e6_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-soft_100_e7eef3_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_222222_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2694e8_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_72a7cf_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_888888_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_ffffff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/cupertino/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +44 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_217bc0_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_469bdd_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/redmond/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/smoothness/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/jquery/ui-lightness/jquery-ui-1.7.1.custom.css +404 -0
- data/test/rails_root/public/stylesheets/reset.css +0 -0
- data/test/rails_root/public/stylesheets/styles.css +84 -0
- data/test/rails_root/script/about +3 -0
- data/test/rails_root/script/breakpointer +3 -0
- data/test/rails_root/script/console +3 -0
- data/test/rails_root/script/create_project.rb +52 -0
- data/test/rails_root/script/cucumber +8 -0
- data/test/rails_root/script/dbconsole +3 -0
- data/test/rails_root/script/destroy +3 -0
- data/test/rails_root/script/generate +3 -0
- data/test/rails_root/script/performance/benchmarker +3 -0
- data/test/rails_root/script/performance/profiler +3 -0
- data/test/rails_root/script/performance/request +3 -0
- data/test/rails_root/script/plugin +3 -0
- data/test/rails_root/script/process/inspector +3 -0
- data/test/rails_root/script/process/reaper +3 -0
- data/test/rails_root/script/process/spawner +3 -0
- data/test/rails_root/script/runner +3 -0
- data/test/rails_root/script/server +3 -0
- data/test/rails_root/test/factories.rb +31 -0
- data/test/rails_root/test/functional/.keep +0 -0
- data/test/rails_root/test/functional/default_controller_test.rb +74 -0
- data/test/rails_root/test/integration/.keep +0 -0
- data/test/rails_root/test/mocks/development/.keep +0 -0
- data/test/rails_root/test/mocks/test/.keep +0 -0
- data/test/rails_root/test/shoulda_macros/controller.rb +49 -0
- data/test/rails_root/test/shoulda_macros/forms.rb +32 -0
- data/test/rails_root/test/shoulda_macros/models.rb +50 -0
- data/test/rails_root/test/shoulda_macros/pagination.rb +53 -0
- data/test/rails_root/test/shoulda_macros/plugins.rb +34 -0
- data/test/rails_root/test/test_helper.rb +30 -0
- data/test/rails_root/test/unit/.keep +0 -0
- data/test/rails_root/test/unit/google_feed_request_test.rb +57 -0
- data/test/test_helper.rb +10 -0
- metadata +641 -0
data/.document
ADDED
data/LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2009 Justin Ball
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
data/Rakefile
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'rake'
|
|
3
|
+
require 'rake/testtask'
|
|
4
|
+
require 'rake/rdoctask'
|
|
5
|
+
|
|
6
|
+
begin
|
|
7
|
+
require 'jeweler'
|
|
8
|
+
Jeweler::Tasks.new do |gem|
|
|
9
|
+
gem.name = "overlord"
|
|
10
|
+
gem.summary = "Talk with our Google overlords"
|
|
11
|
+
gem.description = "Code to interact with the google ajax apis on the server and the client."
|
|
12
|
+
gem.email = "justinball@gmail.com"
|
|
13
|
+
gem.homepage = "http://github.com/jbasdf/overlord"
|
|
14
|
+
gem.authors = ["Justin Ball"]
|
|
15
|
+
gem.add_development_dependency "thoughtbot-shoulda"
|
|
16
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
|
17
|
+
end
|
|
18
|
+
Jeweler::GemcutterTasks.new
|
|
19
|
+
rescue LoadError
|
|
20
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
desc 'Test overlord.'
|
|
24
|
+
Rake::TestTask.new(:test) do |t|
|
|
25
|
+
t.libs << 'lib'
|
|
26
|
+
t.libs << 'test/rails_root/test'
|
|
27
|
+
t.pattern = 'test/rails_root/test/**/*_test.rb'
|
|
28
|
+
t.verbose = true
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
begin
|
|
32
|
+
require 'rcov/rcovtask'
|
|
33
|
+
Rcov::RcovTask.new do |t|
|
|
34
|
+
#t.libs << 'lib'
|
|
35
|
+
t.libs << 'test/rails_root/lib'
|
|
36
|
+
t.pattern = 'test/rails_root/test/**/*_test.rb'
|
|
37
|
+
t.verbose = true
|
|
38
|
+
t.output_dir = 'coverage'
|
|
39
|
+
t.rcov_opts << '--exclude "gems/*"'
|
|
40
|
+
end
|
|
41
|
+
rescue LoadError
|
|
42
|
+
task :rcov do
|
|
43
|
+
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
task :test => :check_dependencies
|
|
48
|
+
|
|
49
|
+
desc 'Run default tests.'
|
|
50
|
+
task :default => :test
|
|
51
|
+
|
|
52
|
+
require 'rake/rdoctask'
|
|
53
|
+
desc 'Generate documentation for the recommender plugin.'
|
|
54
|
+
Rake::RDocTask.new do |rdoc|
|
|
55
|
+
if File.exist?('VERSION')
|
|
56
|
+
version = File.read('VERSION')
|
|
57
|
+
else
|
|
58
|
+
version = ""
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
62
|
+
rdoc.title = "overlord #{version}"
|
|
63
|
+
rdoc.rdoc_files.include('README*')
|
|
64
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
desc 'Translate this gem'
|
|
68
|
+
task :translate do
|
|
69
|
+
file = File.join(File.dirname(__FILE__), 'locales', 'en.yml')
|
|
70
|
+
system("babelphish -o -y #{file}")
|
|
71
|
+
path = File.join(File.dirname(__FILE__), 'app', 'views', 'raker_mailer')
|
|
72
|
+
system("babelphish -o -h #{path} -l en")
|
|
73
|
+
end
|
data/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.1.0
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
module OverlordGoogleHelper
|
|
2
|
+
|
|
3
|
+
# Render a google custom search control. If feeds are provided then the search will be restricted to the
|
|
4
|
+
# 'display_url' for each feed. If search_for is specified then a default search will be executed.
|
|
5
|
+
# It is not recommended that you provide feeds and locale since the overlap between the feeds provided
|
|
6
|
+
# and the languages might be nothing.
|
|
7
|
+
# Examples:
|
|
8
|
+
#
|
|
9
|
+
# Create a custom search over a specific set of feeds:
|
|
10
|
+
# <%= google_search('Google Search (Search within these results)', [], '', %w{web}, 'google_restricted_search') %>
|
|
11
|
+
#
|
|
12
|
+
# Create a general google search based on the current locale:
|
|
13
|
+
# <%= google_search('Google Search', [], @terms, %w{web video blog news image local book patent}, 'google_search', I18n.locale) %>
|
|
14
|
+
#
|
|
15
|
+
# feeds: An array of feeds to render each with a property 'display_uri' defined
|
|
16
|
+
# search_for: Terms to search for by default. If none are specified then no default search will be performed.
|
|
17
|
+
# search_types: Types of google searches to add to the dialog. Valid values are web video blog news image local book patent
|
|
18
|
+
# content_id: Name of the div that will hold the widget google generates.
|
|
19
|
+
# If this method is called more than once on a given page then you will need to
|
|
20
|
+
# specify different content_ids for each call.
|
|
21
|
+
# locale: Locale to restrict searches. For example, to restrict the search to only German sites specify 'de'
|
|
22
|
+
# A complete set of valid Google languages can be found here:
|
|
23
|
+
# http://code.google.com/apis/ajaxlanguage/documentation/#SupportedLanguages
|
|
24
|
+
# For a list of valid codes you can also look at the babelphish gem. Codes can be found in languages.rb.
|
|
25
|
+
def google_search(title, feeds = [], search_for = '', search_types = %w{web video blog news image local book patent}, content_id = 'google_search', locale = nil)
|
|
26
|
+
render :partial => 'google/search', :locals => { :title => title,
|
|
27
|
+
:feeds => feeds,
|
|
28
|
+
:search_for => search_for,
|
|
29
|
+
:search_types => search_types,
|
|
30
|
+
:content_id => content_id,
|
|
31
|
+
:locale => locale }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Utility method for generating scripts required to to build google search
|
|
35
|
+
# type: Type of Google search. Should be one of web video blog news image local book patent
|
|
36
|
+
# feeds: An array of feeds to render each with a property 'display_uri' defined
|
|
37
|
+
# locale: Locale to restrict searches. For example, to restrict the search to only German sites specify 'de'
|
|
38
|
+
# A complete set of valid Google languages can be found here:
|
|
39
|
+
# http://code.google.com/apis/ajaxlanguage/documentation/#SupportedLanguages
|
|
40
|
+
# For a list of valid codes you can also look at the babelphish gem. Codes can be found in languages.rb.
|
|
41
|
+
def google_typed_search(type, feeds = [], locale = nil)
|
|
42
|
+
content = "var #{type}Search = new google.search.#{type.capitalize}Search();\n"
|
|
43
|
+
if !['video', 'blog'].include?(type)
|
|
44
|
+
if !locale.blank?
|
|
45
|
+
content << "#{type}Search.setRestriction(google.search.Search.RESTRICT_EXTENDED_ARGS, {lr:'lang_#{locale}'});\n"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
if !['video', 'local', 'patent', 'book'].include?(type)
|
|
49
|
+
feeds.each do |feed|
|
|
50
|
+
if !feed.display_uri.blank?
|
|
51
|
+
content << "#{type}Search.setSiteRestriction('#{feed.display_uri}');\n"
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
content << "searchControl.addSearcher(#{type}Search);\n"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Render feeds using Google's api
|
|
59
|
+
# feeds: Feed object.
|
|
60
|
+
# show_controls: Indicates whether or not to show editing controls. ie Remove
|
|
61
|
+
# number_of_items: Number of items to display for the given feed.
|
|
62
|
+
# number_of_images: Number of images to get from the feed.
|
|
63
|
+
# number_of_videos: Number of videos to get from the feed.
|
|
64
|
+
# use_uri_for_control: If set to true then a hidden field will be generated containing the feed's uri. If false then the hidden field will contain the feed's service id. This is used to
|
|
65
|
+
# regenerate the feed after submission to the server.
|
|
66
|
+
# javascript_callback: Name of a javascript method to call after the feed has finished loading. The
|
|
67
|
+
# method should accept the feed uri and the content id. ie feed_callback(uri, content_id).
|
|
68
|
+
def google_feeds(feeds, show_controls = false, number_of_items = 6, number_of_images = 20, number_of_videos = 6,
|
|
69
|
+
use_uri_for_control = false, run_load_scripts = false, javascript_callback = 'google_load_complete')
|
|
70
|
+
render :partial => 'google/feed', :collection => feeds, :locals => {:number_of_items => number_of_items,
|
|
71
|
+
:number_of_images => number_of_images,
|
|
72
|
+
:number_of_videos => number_of_videos,
|
|
73
|
+
:javascript_callback => javascript_callback,
|
|
74
|
+
:show_controls => show_controls,
|
|
75
|
+
:use_uri_for_control => use_uri_for_control,
|
|
76
|
+
:run_load_scripts => run_load_scripts}
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Render combined feed using Google's api
|
|
80
|
+
#
|
|
81
|
+
# feeds: Array of feeds that have attribute 'uri' defined.
|
|
82
|
+
# content_id: Name of the div that will hold the widget google generates.
|
|
83
|
+
# If this method is called more than once on a given page then you will need to
|
|
84
|
+
# specify different content_ids for each call.
|
|
85
|
+
# javascript_callback: Name of a javascript method to call after the feed has finished loading. The
|
|
86
|
+
# method should accept the feed uri and the content id. ie feed_callback(uri, content_id).
|
|
87
|
+
def google_combined_feeds(feeds, content_id = 'google_combined_feed', javascript_callback = nil)
|
|
88
|
+
render :partial => 'google/combined_feed', :locals => { :feeds => feeds, :content_id => content_id, :javascript_callback => javascript_callback }
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Render a google dynamic feed control.
|
|
92
|
+
#
|
|
93
|
+
# feeds: An array of feeds to render each with a property 'title' and 'uri' defined
|
|
94
|
+
# content_id: Name of the div that will hold the widget google generates.
|
|
95
|
+
# If this method is called more than once on a given page then you will need to
|
|
96
|
+
# specify different content_ids for each call.
|
|
97
|
+
# options: A hash containing the values to pass to the Google widget. The available options are defined here:
|
|
98
|
+
# http://www.google.com/uds/solutions/dynamicfeed/reference.html.
|
|
99
|
+
def google_dynamic_feeds_vertical(feeds,
|
|
100
|
+
content_id = 'dynamic_feed_vertical_content',
|
|
101
|
+
options = { :numResults => 20, :stacked => true, :horizontal => false })
|
|
102
|
+
render :partial => 'google/dynamic_feeds_vertical', :locals => { :feeds => feeds, :content_id => content_id, :options => options }
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Find and output feeds related to the given query
|
|
106
|
+
#
|
|
107
|
+
# query: A tag or search query to pass to Google. Google will find feeds that match this value.
|
|
108
|
+
# content_id: Name of the div that will hold the widget google generates.
|
|
109
|
+
# If this method is called more than once on a given page then you will need to
|
|
110
|
+
# specify different content_ids for each call.
|
|
111
|
+
def google_feed_search(query, content_id = 'feed_search_content')
|
|
112
|
+
render :partial => 'google/feed_search', :locals => { :query => query, :content_id => content_id }
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Generate a slide show from a feed
|
|
116
|
+
# feed: Url for which to generate the feed.
|
|
117
|
+
# content_id: Name of the div that will hold the widget google generates.
|
|
118
|
+
# If this method is called more than once on a given page then you will need to
|
|
119
|
+
# specify different content_ids for each call.
|
|
120
|
+
# options: A hash containing the values to pass to the Google widget. The available options are defined here:
|
|
121
|
+
# http://www.google.com/uds/solutions/slideshow/index.html
|
|
122
|
+
def google_slide_show(feed,
|
|
123
|
+
content_id = 'slide_show_content',
|
|
124
|
+
options = { :displayTime => 2000, :transistionTime => 600, :scaleImages => true, :fullControlPanel => true })
|
|
125
|
+
render :partial => 'google/slide_show', :locals => { :feed => feed, :content_id => content_id, :options => options }
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Given a feed attempts to assign an appropriate class
|
|
129
|
+
def feed_class(feed)
|
|
130
|
+
if feed.service.photo?
|
|
131
|
+
"feed-photos"
|
|
132
|
+
elsif feed.service.bookmark?
|
|
133
|
+
"feed-bookmarks"
|
|
134
|
+
elsif feed.service.video?
|
|
135
|
+
"feed-videos"
|
|
136
|
+
elsif feed.service.music?
|
|
137
|
+
"feed-music"
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# Generates a valid dom id for the feed
|
|
142
|
+
def feed_content_id(feed)
|
|
143
|
+
"feed_#{feed.id}_#{feed.title.parameterize}_#{feed.service.name.parameterize}".gsub('+', '-')
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Outputs the appropriate script for handling the google response once the feed is loaded
|
|
147
|
+
# feed: Url for which to generate the feed.
|
|
148
|
+
# content_id: Name of the div that will hold the widget google generates.
|
|
149
|
+
# If this method is called more than once on a given page then you will need to
|
|
150
|
+
# specify different content_ids for each call.
|
|
151
|
+
# javascript_callback: Name of a javascript method to call after the feed has finished loading. The
|
|
152
|
+
# method should accept the feed uri and the content id. ie feed_callback(uri, content_id).
|
|
153
|
+
def google_muck_load_script(feed, content_id = nil, javascript_callback = nil)
|
|
154
|
+
if feed.service.photo?
|
|
155
|
+
google_load_images_script(javascript_callback, feed.uri, content_id)
|
|
156
|
+
elsif feed.service.bookmark?
|
|
157
|
+
google_load_bookmarks_script(javascript_callback, feed.uri, content_id)
|
|
158
|
+
elsif feed.service.video?
|
|
159
|
+
google_load_videos_script(javascript_callback, feed.uri, content_id)
|
|
160
|
+
elsif feed.service.music?
|
|
161
|
+
# TODO need to get music feeds into tag system so that we can search for music feeds and then integrate in a way that can play the tunes.
|
|
162
|
+
google_load_entries_script(javascript_callback, feed.uri, content_id)
|
|
163
|
+
else
|
|
164
|
+
google_load_entries_script(javascript_callback, feed.uri, content_id)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def google_muck_load_callback_script(feed, content_id, number_of_items = 4, number_of_images = 6, number_of_videos = 6)
|
|
169
|
+
if feed.service.photo?
|
|
170
|
+
"google_load_images('#{feed.uri}', '#{content_id}', #{number_of_images});"
|
|
171
|
+
elsif feed.service.bookmark?
|
|
172
|
+
"google_load_bookmarks('#{feed.uri}', '#{content_id}', #{number_of_items});"
|
|
173
|
+
elsif feed.service.video?
|
|
174
|
+
"google_load_videos('#{feed.uri}', '#{content_id}', #{number_of_videos});"
|
|
175
|
+
elsif feed.service.music?
|
|
176
|
+
"google_load_entries('#{feed.uri}', '#{content_id}', #{number_of_items});"
|
|
177
|
+
else
|
|
178
|
+
"google_load_entries('#{feed.uri}', '#{content_id}', #{number_of_items});"
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
def google_load_videos_script(javascript_callback, uri, content_id)
|
|
183
|
+
google_load_template_script 'google_load_videos', javascript_callback, uri, content_id do
|
|
184
|
+
%Q{var link = jQuery(item.content).find('img').parent('a');
|
|
185
|
+
link.attr('rel', '#{content_id}');
|
|
186
|
+
link.addClass('feed-video');
|
|
187
|
+
jQuery('#' + content_id).append(link);}
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def google_load_images_script(javascript_callback, uri, content_id)
|
|
192
|
+
google_load_template_script 'google_load_images', javascript_callback, uri, content_id do
|
|
193
|
+
%Q{var link = jQuery(item.content).find('img').parent('a');
|
|
194
|
+
link.attr('rel', '#{content_id}');
|
|
195
|
+
link.addClass('feed-photo');
|
|
196
|
+
jQuery('#' + content_id).append(link);}
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
def google_load_entries_script(javascript_callback, uri, content_id)
|
|
201
|
+
google_load_template_script 'google_load_entries', javascript_callback, uri, content_id do
|
|
202
|
+
%Q{var status_class = 'even';
|
|
203
|
+
if(i%2 > 0) { status_class = 'odd'; }
|
|
204
|
+
jQuery('#' + content_id).append('<div class="hentry ' + status_class + '"><h4 class="title"><a class="entry-link" href="#" target="blank">' + item.title + '</a><span class="entry-close"><a class="entry-link-close" href="#">#{t('muck.raker.close')}</a></span></h4><div class="entry">' + item.content + ' <p><a href="' + item.link + '">#{t('muck.raker.read_more')}</a></p></div></div>');}
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
def google_load_bookmarks_script(javascript_callback, uri, content_id)
|
|
209
|
+
google_load_template_script 'google_load_bookmarks', javascript_callback, uri, content_id do
|
|
210
|
+
%Q{var status_class = 'even';
|
|
211
|
+
if(i%2 > 0) { status_class = 'odd'; }
|
|
212
|
+
jQuery('#' + content_id).append('<div class="hentry ' + status_class + '"><h4 class="title"><a class="bookmark-link" href="' + item.link + '" target="_blank">' + item.title + '</a></h4></div>');}
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Generates the template code used by all the calls to google.
|
|
217
|
+
def google_load_template_script(method_name, javascript_callback, uri, content_id)
|
|
218
|
+
included_name = "@#{method_name}_included"
|
|
219
|
+
return '' if instance_variable_get(included_name) rescue false
|
|
220
|
+
instance_variable_set(included_name, true)
|
|
221
|
+
%Q{<script type="text/javascript">
|
|
222
|
+
function #{method_name}(uri, content_id, number_of_items){
|
|
223
|
+
jQuery('#' + content_id).html('');
|
|
224
|
+
var feed = new google.feeds.Feed(uri);
|
|
225
|
+
feed.setNumEntries(number_of_items);
|
|
226
|
+
feed.load(function(result) {
|
|
227
|
+
if (!result.error) {
|
|
228
|
+
jQuery.each(result.feed.entries, function(i,item){
|
|
229
|
+
#{yield}
|
|
230
|
+
#{javascript_callback}('#{uri}', '#{content_id}');
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
if (result.error || result.feed.entries.length <= 0) {
|
|
234
|
+
jQuery('#' + content_id).append('<div class="hentry">#{t('muck.raker.no_entries_found')}</div>');
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
</script>}
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
# Renders a partial with the latest trends from google.
|
|
242
|
+
def google_hot_trends(limit = 10)
|
|
243
|
+
feed = Feed.fetch_feed('http://www.google.com/trends/hottrends/atom/hourly')
|
|
244
|
+
result = Nokogiri::HTML(feed.entries[0].content)
|
|
245
|
+
google_hot_trends_terms = result.css('a').collect{ |a| change_chars(a.text) }.compact
|
|
246
|
+
render :partial => 'google/hot_trends', :locals => { :google_hot_trends_terms => google_hot_trends_terms[0, limit] }
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
# Outputs include script for google ajax api
|
|
250
|
+
def google_ajax_api_scripts
|
|
251
|
+
return '' if defined?(@google_ajax_api_scripts_included)
|
|
252
|
+
script = '<script type="text/javascript" src="http://www.google.com/jsapi'
|
|
253
|
+
script << "?key=#{GlobalConfig.google_ajax_api_key}" if GlobalConfig.google_ajax_api_key
|
|
254
|
+
script << '"></script>'
|
|
255
|
+
@google_ajax_api_scripts_included = true
|
|
256
|
+
script
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
# Output include script for google slideshows
|
|
260
|
+
def google_ajax_slideshow_scripts
|
|
261
|
+
return '' if defined?(@google_ajax_slideshow_scripts_included)
|
|
262
|
+
@google_ajax_slideshow_scripts_included = true
|
|
263
|
+
'<script src="http://www.google.com/uds/solutions/slideshow/gfslideshow.js" type="text/javascript"></script>'
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
# Output include script for google feeds
|
|
267
|
+
def google_load_feeds
|
|
268
|
+
return '' if defined?(@google_load_feeds_included)
|
|
269
|
+
@google_load_feeds_included = true
|
|
270
|
+
google_ajax_api_scripts + '<script type="text/javascript">google.load("feeds", "1");</script>'
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
# Output include script for google search
|
|
274
|
+
def google_load_search
|
|
275
|
+
return '' if defined?(@google_load_search_included)
|
|
276
|
+
@google_load_search_included = true
|
|
277
|
+
google_ajax_api_scripts + '<script type="text/javascript">google.load("search", "1");</script>'
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
# Output include script to load jquery from google
|
|
281
|
+
def google_load_jquery
|
|
282
|
+
return '' if defined?(@google_load_jquery_included)
|
|
283
|
+
@google_load_jquery_included = true
|
|
284
|
+
google_ajax_api_scripts + '<script type="text/javascript">google.load("jquery", "1");</script>'
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
# Output include script to load jquery ui from google
|
|
288
|
+
def google_load_jquery_ui
|
|
289
|
+
return '' if defined?(@google_load_jquery_ui_included)
|
|
290
|
+
@google_load_jquery_ui_included = true
|
|
291
|
+
google_ajax_api_scripts + '<script type="text/javascript">google.load("jqueryui", "1");</script>'
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
def change_chars(term)
|
|
295
|
+
term.gsub('+', ' ').gsub('.', '-')
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<% content_for :head do -%>
|
|
2
|
+
<%= google_ajax_api_scripts -%>
|
|
3
|
+
<%= google_load_feeds -%>
|
|
4
|
+
<% end -%>
|
|
5
|
+
|
|
6
|
+
<script type="text/javascript">
|
|
7
|
+
entries = [];
|
|
8
|
+
function feed_loaded(result) {
|
|
9
|
+
if (!result.error) {
|
|
10
|
+
jQuery('#<%= content_id %> .waiting').hide();
|
|
11
|
+
jQuery('#<%= content_id %> ul').html('');
|
|
12
|
+
new_entries = result.feed.entries;
|
|
13
|
+
for (var i=0; i<new_entries.length; i++){
|
|
14
|
+
new_entries[i].feed = result.feed;
|
|
15
|
+
}
|
|
16
|
+
entries = jQuery.merge(entries, new_entries);
|
|
17
|
+
entries = entries.sort(function(a,b){
|
|
18
|
+
return a.publishedDate > b.publishedDate;
|
|
19
|
+
});
|
|
20
|
+
for (var i=0; i<entries.length; i++) {
|
|
21
|
+
var html = '<li class="feed-item" style="background: transparent url(/images/service_icons/24/' + get_service_name(entries[i]) + ') no-repeat scroll left top;">';
|
|
22
|
+
html += '<div class="feed-title"><a href="' + entries[i].link + '" target="_blank">' + entries[i].title + '</a></div>';
|
|
23
|
+
html += '<div class="feed-content" style="display:none;">';
|
|
24
|
+
html += '<h3><a href="' + entries[i].link + '" target="_blank">' + entries[i].title + '</a></h3>';
|
|
25
|
+
html += entries[i].content;
|
|
26
|
+
html += '</div>';
|
|
27
|
+
html += '</li>';
|
|
28
|
+
jQuery('#<%= content_id %> ul').append(html);
|
|
29
|
+
}
|
|
30
|
+
apply_show_entry_content();
|
|
31
|
+
<%= "#{javascript_callback}('#{content_id}');" if javascript_callback -%>
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
google.setOnLoadCallback(function(){
|
|
35
|
+
<% feeds.each do |feed| -%>
|
|
36
|
+
new google.feeds.Feed("<%=feed.uri%>").load(feed_loaded);
|
|
37
|
+
<% end -%>
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
function get_service_name(entry) {
|
|
41
|
+
var services = eval(<%= Service.all.to_json(:only => [ :uri_key, :icon ]) %>);
|
|
42
|
+
for(var i=0; i<services.length; i++){
|
|
43
|
+
if(services[i].uri_key && (entry.link.indexOf(services[i].uri_key) >= 0 || entry.feed.link.indexOf(services[i].uri_key) >= 0)){
|
|
44
|
+
return services[i].icon;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return 'feed.png';
|
|
48
|
+
}
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<div id="<%= content_id %>" class="combined-feed">
|
|
52
|
+
<span class="waiting"><%= t('muck.raker.loading_message') %></span>
|
|
53
|
+
<ul class="combined-feed-list"></ul>
|
|
54
|
+
</div>
|