muck-raker 0.1.37 → 0.1.38
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +4 -2
- data/VERSION +1 -1
- data/app/controllers/muck/aggregation_feeds_controller.rb +43 -0
- data/app/controllers/muck/aggregations_controller.rb +150 -260
- data/app/controllers/muck/topics_controller.rb +93 -0
- data/app/helpers/muck_raker_aggregations_helper.rb +21 -0
- data/app/helpers/muck_raker_feeds_helper.rb +0 -12
- data/app/helpers/muck_raker_google_helper.rb +70 -80
- data/app/models/aggregation.rb +63 -17
- data/app/models/aggregation_feed.rb +2 -1
- data/app/models/feed.rb +29 -2
- data/app/models/google_feed_request.rb +7 -1
- data/app/models/identity_feed.rb +2 -2
- data/app/models/service.rb +125 -31
- data/app/views/aggregations/_aggregation.html.erb +1 -0
- data/app/views/aggregations/_data_source.html.erb +2 -2
- data/app/views/aggregations/_feeds.html.erb +1 -0
- data/app/views/aggregations/_preview_form.html.erb +12 -0
- data/app/views/aggregations/edit.html.erb +60 -14
- data/app/views/aggregations/index.html.erb +17 -0
- data/app/views/aggregations/index.iphone.erb +0 -0
- data/app/views/aggregations/new.html.erb +3 -4
- data/app/views/aggregations/preview.html.erb +46 -0
- data/app/views/aggregations/preview.iphone.erb +0 -0
- data/app/views/aggregations/rss_discovery.html.erb +3 -0
- data/app/views/feeds/_form.html.erb +1 -1
- data/app/views/feeds/new.html.erb +1 -1
- data/app/views/feeds/new_extended.html.erb +1 -1
- data/app/views/feeds/new_oai_rss.html.erb +1 -1
- data/app/views/google/_feed.html.erb +33 -1
- data/app/views/google/_feeds_scripts.html.erb +19 -0
- data/app/views/raker_mailer/notification_feed_added.text.ar.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.ar.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.bg.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.bg.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.ca.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.ca.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.cs.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.cs.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.da.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.da.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.de.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.de.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.el.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.el.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.es.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.es.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.et.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.et.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.fa.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.fa.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.fi.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.fi.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.fr.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.fr.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.gl.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.gl.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.hi.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.hi.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.hr.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.hr.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.hu.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.hu.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.id.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.id.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.it.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.it.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.iw.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.iw.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.ja.html.erb +4 -3
- data/app/views/raker_mailer/notification_feed_added.text.ja.plain.erb +5 -3
- data/app/views/raker_mailer/notification_feed_added.text.ko.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.ko.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.lt.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.lt.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.lv.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.lv.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.mt.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.mt.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.nl.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.nl.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.no.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.no.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.pl.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.pl.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.pt-PT.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.pt-PT.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.ro.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.ro.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.ru.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.ru.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.sk.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.sk.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.sl.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.sl.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.sq.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.sq.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.sr.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.sr.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.sv.html.erb +1 -0
- data/app/views/raker_mailer/notification_feed_added.text.sv.plain.erb +2 -0
- data/app/views/raker_mailer/notification_feed_added.text.th.html.erb +4 -3
- data/app/views/raker_mailer/notification_feed_added.text.th.plain.erb +5 -3
- data/app/views/raker_mailer/notification_feed_added.text.tl.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.tl.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.tr.html.erb +3 -2
- data/app/views/raker_mailer/notification_feed_added.text.tr.plain.erb +4 -2
- data/app/views/raker_mailer/notification_feed_added.text.uk.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.uk.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.vi.html.erb +2 -1
- data/app/views/raker_mailer/notification_feed_added.text.vi.plain.erb +3 -1
- data/app/views/raker_mailer/notification_feed_added.text.zh-CN.html.erb +4 -3
- data/app/views/raker_mailer/notification_feed_added.text.zh-CN.plain.erb +5 -3
- data/app/views/raker_mailer/notification_feed_added.text.zh-TW.html.erb +4 -3
- data/app/views/raker_mailer/notification_feed_added.text.zh-TW.plain.erb +5 -3
- data/app/views/raker_mailer/notification_feed_added.text.zh.html.erb +4 -3
- data/app/views/raker_mailer/notification_feed_added.text.zh.plain.erb +5 -3
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ar.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ar.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.bg.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.bg.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ca.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ca.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.cs.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.cs.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.da.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.da.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.de.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.de.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.el.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.el.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.es.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.es.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.et.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.et.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.fa.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.fa.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.fi.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.fi.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.fr.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.fr.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.gl.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.gl.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.hi.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.hi.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.hr.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.hr.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.hu.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.hu.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.id.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.id.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.it.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.it.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.iw.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.iw.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ja.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ja.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ko.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ko.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.lt.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.lt.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.lv.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.lv.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.mt.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.mt.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.nl.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.nl.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.no.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.no.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.pl.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.pl.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.pt-PT.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.pt-PT.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ro.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ro.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ru.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.ru.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sk.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sk.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sl.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sl.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sq.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sq.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sr.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sr.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sv.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.sv.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.th.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.th.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.tl.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.tl.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.tr.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.tr.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.uk.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.uk.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.vi.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.vi.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.zh-CN.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.zh-CN.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.zh-TW.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.zh-TW.plain.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.zh.html.erb +4 -0
- data/app/views/raker_mailer/notification_oai_endpoint_added.text.zh.plain.erb +4 -0
- data/app/views/topics/_feed_preview.html.erb +18 -0
- data/app/views/topics/_form.html.erb +15 -0
- data/app/views/{opmls → topics}/_rss_discover.html.erb +0 -0
- data/app/views/{opmls → topics}/new.html.erb +7 -7
- data/app/views/topics/photos.html.erb +14 -0
- data/app/views/topics/show.html.erb +47 -0
- data/app/views/{opmls/index.opml.builder → topics/show.opml.builder} +0 -0
- data/app/views/topics/videos.html.erb +14 -0
- data/config/muck_raker_routes.rb +4 -3
- data/db/bootstrap/service_categories.yml +1 -1
- data/db/bootstrap/services.yml +15 -1
- data/db/migrate/20091006183742_add_feed_count_to_aggregation.rb +9 -0
- data/lib/muck_raker.rb +0 -4
- data/locales/ar.yml +27 -6
- data/locales/bg.yml +28 -7
- data/locales/ca.yml +30 -9
- data/locales/cs.yml +27 -6
- data/locales/da.yml +27 -6
- data/locales/de.yml +28 -7
- data/locales/el.yml +27 -6
- data/locales/en.yml +27 -6
- data/locales/es.yml +28 -7
- data/locales/et.yml +28 -7
- data/locales/fa.yml +27 -6
- data/locales/fi.yml +27 -6
- data/locales/fr.yml +27 -6
- data/locales/gl.yml +31 -10
- data/locales/hi.yml +27 -6
- data/locales/hr.yml +29 -8
- data/locales/hu.yml +29 -8
- data/locales/id.yml +27 -6
- data/locales/it.yml +29 -8
- data/locales/iw.yml +29 -8
- data/locales/ja.yml +29 -8
- data/locales/ko.yml +29 -8
- data/locales/lt.yml +30 -9
- data/locales/lv.yml +30 -9
- data/locales/mt.yml +32 -11
- data/locales/nl.yml +28 -7
- data/locales/no.yml +30 -9
- data/locales/pl.yml +27 -6
- data/locales/pt-PT.yml +27 -6
- data/locales/ro.yml +28 -7
- data/locales/ru.yml +27 -6
- data/locales/sk.yml +27 -6
- data/locales/sl.yml +30 -9
- data/locales/sq.yml +28 -7
- data/locales/sr.yml +27 -6
- data/locales/sv.yml +27 -6
- data/locales/th.yml +28 -7
- data/locales/tl.yml +27 -6
- data/locales/tr.yml +27 -6
- data/locales/uk.yml +27 -6
- data/locales/vi.yml +27 -6
- data/locales/zh-CN.yml +28 -7
- data/locales/zh-TW.yml +28 -7
- data/locales/zh.yml +28 -7
- data/muck-raker.gemspec +126 -13
- data/public/images/service_icons/16/metacafe.png +0 -0
- data/public/images/service_icons/24/metacafe.png +0 -0
- data/public/images/service_icons/48/metacafe.png +0 -0
- data/public/images/service_icons/60/metacafe.png +0 -0
- data/public/images/service_icons/source/bibsonomy.psd +0 -0
- data/public/images/service_icons/source/metacafe.psd +0 -0
- data/public/stylesheets/frame.css +10 -6
- data/public/stylesheets/muck-raker.css +77 -0
- data/test/rails_root/app/views/layouts/default.html.erb +1 -1
- data/test/rails_root/db/bootstrap/service_categories.yml +1 -1
- data/test/rails_root/db/bootstrap/services.yml +18 -2
- data/test/rails_root/db/migrate/20091006183742_add_feed_count_to_aggregation.rb +9 -0
- data/test/rails_root/public/images/service_icons/16/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/24/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/48/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/60/metacafe.png +0 -0
- data/test/rails_root/public/images/service_icons/source/bibsonomy.psd +0 -0
- data/test/rails_root/public/images/service_icons/source/metacafe.psd +0 -0
- data/test/rails_root/public/javascripts/muck_activities.js +1 -2
- data/test/rails_root/public/stylesheets/application.css +0 -117
- data/test/rails_root/public/stylesheets/frame.css +10 -6
- data/test/rails_root/public/stylesheets/muck-activities.css +39 -0
- data/test/rails_root/public/stylesheets/muck-raker.css +77 -0
- data/test/rails_root/test/factories.rb +5 -0
- data/test/rails_root/test/functional/aggregation_feeds_controller_test.rb +67 -0
- data/test/rails_root/test/functional/aggregations_controller_test.rb +37 -3
- data/test/rails_root/test/functional/topics_controller_test.rb +46 -0
- data/test/rails_root/test/unit/aggregation_feed_test.rb +8 -0
- data/test/rails_root/test/unit/aggregation_test.rb +95 -0
- data/test/rails_root/test/unit/comment_test.rb +1 -1
- data/test/rails_root/test/unit/entry_test.rb +3 -0
- data/test/rails_root/test/unit/feed_test.rb +3 -0
- data/test/rails_root/test/unit/oai_endpoint_test.rb +3 -0
- data/test/rails_root/test/unit/service_test.rb +81 -11
- metadata +126 -13
- data/app/controllers/muck/opmls_controller.rb +0 -28
- data/app/views/google/_feed_bookmarks.html.erb +0 -13
- data/app/views/google/_feed_display.html.erb +0 -13
- data/app/views/google/_feed_photos.html.erb +0 -13
- data/app/views/google/_feeds_display.html.erb +0 -2
- data/app/views/opmls/index.html.erb +0 -19
- data/test/rails_root/test/functional/opmls_controller_test.rb +0 -37
@@ -1,117 +0,0 @@
|
|
1
|
-
#fancy_outer{width:80%;height:80%;margin:auto auto;}
|
2
|
-
|
3
|
-
/* iFrame */
|
4
|
-
.framed_content{height:100%;margin-bottom:-1px;width:100%;}
|
5
|
-
#content_iframe{display:block;display:block;}
|
6
|
-
#toolbar{height:30px;background:#EFF1E5;border-bottom:1px solid #999;}
|
7
|
-
#toolbar .section{padding:5px 20px;}
|
8
|
-
#toolbar #profile{float:left;}
|
9
|
-
#toolbar #search{float:right;}
|
10
|
-
#toolbar #search input{font-size:1em;}
|
11
|
-
#toolbar #tools{float:right;}
|
12
|
-
#toolbar #tools a{margin-right:5px;padding-left:18px;font-weight:bolder;font-size:1em;color:#54493F;}
|
13
|
-
#toolbar #tools a:hover{text-decoration:underline;}
|
14
|
-
#toolbar #tools #share_login a{padding:0px;margin:0px;}
|
15
|
-
#toolbar #close{float:right;padding-right:5px;}
|
16
|
-
#toolbar .section a{text-decoration:none;}
|
17
|
-
a#close_frame{-moz-background-clip:border;-moz-background-inline-policy:continuous;-moz-background-origin:padding;background:transparent url('/images/icons/close.png') no-repeat scroll left top;display:block;height:19px;width:19px;}
|
18
|
-
a#close_frame:hover{background-position:left bottom;}
|
19
|
-
a#close_frame_text{display:none;}
|
20
|
-
a#comment{background:transparent url('/images/icons/comment.png') no-repeat scroll left top;}
|
21
|
-
a#share{background:transparent url('/images/icons/add.png') no-repeat scroll left top;}
|
22
|
-
#toolbar #search #search_go{display:none;}
|
23
|
-
#toolbar #search #search_box{width:150px;height:21px;background:transparent url('/images/icons/search_box.png') no-repeat scroll left bottom;}
|
24
|
-
#toolbar #search #search_box:hover{background:transparent url('/images/icons/search_box.png') no-repeat scroll left top;}
|
25
|
-
#toolbar #search #search_box input {-moz-background-clip:border;-moz-background-inline-policy:continuous;-moz-background-origin:padding;background:transparent none repeat scroll 0 0;border:0 none;width:125px;}
|
26
|
-
|
27
|
-
/* tools in frame */
|
28
|
-
.tool{width:25%;float:right;}
|
29
|
-
.tools_container{overflow:auto;width:100%;}
|
30
|
-
a.close_link{text-decoration:none;float:right;margin:5px;display:block;padding:0px 23px 1px 6px;color:#fff;font-weight:bold;background:transparent url('/images/icons/hide.png') no-repeat scroll left top;}
|
31
|
-
a.close_link:hover{background:transparent url('/images/icons/hide.png') no-repeat scroll left bottom;}
|
32
|
-
.close_link_wrapper{height:28px;}
|
33
|
-
.tool textarea{width:97%;height:75px;margin:5px auto;}
|
34
|
-
.tool input{font-size:1em;}
|
35
|
-
.tool label{font-size:1em;}
|
36
|
-
/* shares tool in frame */
|
37
|
-
#share_tool #shares_control{border:1px solid #ccc;margin:2px auto;padding:.5em;background-color:#eee;width:90%;}
|
38
|
-
/* comments tool in frame */
|
39
|
-
#comments_tool .comment_holder p{margin:0;}
|
40
|
-
#comments_tool .comment_holder .commentor-icon{width:40px;float:left;margin:0 5px 0 0;}
|
41
|
-
#comments_tool .comment_holder .commentor-icon img{width:40px;height:40px;}
|
42
|
-
#comments_tool .comment_holder .commentor a{font-size:.8em;}
|
43
|
-
#comments_tool .comment_holder .comment-time{color:#777777;font-size:.9em;}
|
44
|
-
#comments_tool .comment-form-wrapper, #comments_tool .comment_holder{border:1px solid #ccc;margin:2px auto;padding:.5em;background-color:#eee;width:90%;}
|
45
|
-
#comments_tool .comment-form-wrapper{height:116px;}
|
46
|
-
#comments_tool .comment-form input{float:right;}
|
47
|
-
#comments_tool form.comment-delete {position:relative;display:inline;float:right;}
|
48
|
-
#comments_tool form.comment-delete input{padding:0;margin:0;width:15px;height:15px;position:absolute;right:0px;top:0px;}
|
49
|
-
#comments_tool form.comment-delete{display:none;}
|
50
|
-
#comments_tool .comment-hover form.comment-delete{display:block;}
|
51
|
-
|
52
|
-
/* activity feed */
|
53
|
-
.activity{clear:both;display:block;}
|
54
|
-
#activity-feed{margin:15px 0 0 0;}
|
55
|
-
#activity-feed-content .activity{margin:8px 0 4px 0;}
|
56
|
-
#activity-feed-content .activity-time{font-size:1em;font-color:#eee;clear:left;}
|
57
|
-
#activity-icon, .actor-icon{width:50px;float:left;margin:0 10px 10px 0;}
|
58
|
-
#activity-feed-content .actor, #current-status-name{font-weight:bolder;font-size:1.3em;}
|
59
|
-
.activity-time, .status-time{color:#777777;font-size:.9em;}
|
60
|
-
p#current-status-text, .activity-content p{margin:0;}
|
61
|
-
form.activity-delete {position:relative;display:inline;float:right;display:none;}
|
62
|
-
form.activity-delete input{padding:0;margin:0;width:15px;height:15px;position:absolute;right:0px;bottom:0px;}
|
63
|
-
.activity .activity-hover form.activity-delete{display:block;}
|
64
|
-
.welcome_activity{font-size:14px;}
|
65
|
-
/* comments under activity feed */
|
66
|
-
.activity-comment{border:1px solid #ccc;margin:2px 50px 2px 60px;padding:.5em;background-color:#eee;}
|
67
|
-
.activity-comment .actor-icon{width:40px;}
|
68
|
-
.activity-comment .actor-icon img{width:40px;height:40px;}
|
69
|
-
.activity-comment textarea.max{width:80%;height:30px;}
|
70
|
-
.activity-comment textarea.min{height:15px;width:50%;}
|
71
|
-
.activity-comment p{margin:0;}
|
72
|
-
.activity-comment .actor a{font-size:.8em;}
|
73
|
-
.activity form.comment-delete {position:relative;display:inline;float:right;}
|
74
|
-
.activity form.comment-delete input{padding:0;margin:0;width:15px;height:15px;position:absolute;right:0px;top:0px;}
|
75
|
-
.activity form.comment-delete{display:none;}
|
76
|
-
.activity .comment-hover form.comment-delete{display:block;}
|
77
|
-
|
78
|
-
/* services */
|
79
|
-
#available-services{border:solid 1px #ccc;background-color:#eee;}
|
80
|
-
.services-main {float:left;display:inline-block;padding:10px;margin:10px;}
|
81
|
-
.services-main h3{margin:0;}
|
82
|
-
.services-main .service-category{margin:0 20px 20px 0;display:inline-block;float:left;height:190px;}
|
83
|
-
.services-main ul.services-list{margin:0;padding:0;list-style:none;}
|
84
|
-
.services-main a.service-link{display:inline-block;margin:2px 0;padding:2px 0 5px 28px;text-decoration:none;}
|
85
|
-
.services-main a:hover.service-link{text-decoration:underline;}
|
86
|
-
.identity-service{font-size:1em;font-weight:bold;}
|
87
|
-
.identity-service-title{font-size:1.2em;font-weight:bold;padding:2px 0 5px 28px;}
|
88
|
-
#identity-feed{margin:auto;}
|
89
|
-
#identity-feed input[type="text"] {width:380px;}
|
90
|
-
ul#my-services-list li {position:relative;}
|
91
|
-
ul#my-services-list li form {right:-25px;position:absolute;top:3px;}
|
92
|
-
ul.service-summary{margin:0;padding:0;list-style:none;}
|
93
|
-
ul.service-summary a.service-link{display:inline-block;margin:2px 0;padding:2px 0 5px 28px;text-decoration:none;}
|
94
|
-
.waiting{margin:3px 0;padding-left:20px;background:transparent url('/images/spinner.gif') no-repeat scroll left bottom;}
|
95
|
-
#sources-list ul {float:left;display:inline-block;height:170px;margin:0 20px;width:150px;}
|
96
|
-
#sources-list ul li{padding:2px 0 5px 25px;}
|
97
|
-
#sources-list ul li input{margin:0;}
|
98
|
-
#sources-list ul li.source-title{font-weight:bolder;font-size:1.4em;margin:10px 0 0 0;padding:0;}
|
99
|
-
|
100
|
-
/* css for google widgets */
|
101
|
-
.slide_show_content {width:250px;height:200px;margin-bottom:40px;padding:5px;}
|
102
|
-
|
103
|
-
#opml #opml-feeds{border:solid 1px #eee;}
|
104
|
-
#opml .feed{padding:0px 4px;}
|
105
|
-
#opml .feed-header{background-color:#eee;padding:3px;margin-top:20px;}
|
106
|
-
#opml .feed-header h3{margin:0;padding:2px 0 5px 25px;}
|
107
|
-
#opml .feed-header h3 a{text-decoration:none;color:#333;}
|
108
|
-
#opml .feed-header h3 a:hover{color:#000;}
|
109
|
-
#opml .feed-item{margin:0 15px 0 20px;}
|
110
|
-
#opml .feed-item h4{margin:0;padding:2px;}
|
111
|
-
#opml .feed-item h4 a{text-decoration:none;color:#555;}
|
112
|
-
#opml .feed-item h4 a:hover{color:#000;}
|
113
|
-
#opml .feed-item .hentry .entry{display:none;}
|
114
|
-
#opml .even{background-color:#f6f8f9;}
|
115
|
-
#opml .odd{background-color:#fff;}
|
116
|
-
#opml .feed-photos img{width:100px;height:100px;}
|
117
|
-
.entry-close{float:right;font-size:.8em;}
|
@@ -1,11 +1,12 @@
|
|
1
1
|
/* iFrame */
|
2
2
|
.framed_content{height:100%;margin-bottom:-1px;width:100%;}
|
3
3
|
#content_iframe{display:block;display:block;}
|
4
|
-
#toolbar{height:30px;border-bottom:1px solid #999;
|
5
|
-
#toolbar .section{padding:
|
6
|
-
#toolbar
|
4
|
+
#toolbar{height:30px;background:#EFF1E5;border-bottom:1px solid #999;}
|
5
|
+
#toolbar .section{padding:5px 20px;}
|
6
|
+
#toolbar #profile{float:left;}
|
7
7
|
#toolbar #search{float:right;padding:5px 0px;}
|
8
8
|
#toolbar #search input{font-size:1em;}
|
9
|
+
#toolbar-logo {float:left;margin-left:30px;}
|
9
10
|
#toolbar #tools{float:right;}
|
10
11
|
#toolbar #tools img{vertical-align:bottom;padding-right:4px;}
|
11
12
|
#toolbar #tools a{margin-right:5px;padding-left:18px;font-weight:bolder;font-size:1em;color:#54493F;}
|
@@ -16,6 +17,8 @@
|
|
16
17
|
a#close_frame{-moz-background-clip:border;-moz-background-inline-policy:continuous;-moz-background-origin:padding;background:transparent url('/images/icons/close.png') no-repeat scroll left top;display:block;height:19px;width:19px;}
|
17
18
|
a#close_frame:hover{background-position:left bottom;}
|
18
19
|
a#close_frame_text{display:none;}
|
20
|
+
a#comment{background:transparent url('/images/icons/comment.png') no-repeat scroll left top;}
|
21
|
+
a#share{background:transparent url('/images/icons/add.png') no-repeat scroll left top;}
|
19
22
|
#toolbar #search #search_go{display:none;}
|
20
23
|
#toolbar #search #search_box{width:150px;height:21px;background:transparent url('/images/icons/search_box.png') no-repeat scroll left bottom;}
|
21
24
|
#toolbar #search #search_box:hover{background:transparent url('/images/icons/search_box.png') no-repeat scroll left top;}
|
@@ -30,10 +33,10 @@ a.close_link:hover{background:transparent url('/images/icons/hide.png') no-repea
|
|
30
33
|
.tool input{font-size:1em;}
|
31
34
|
.tool label{font-size:1em;}
|
32
35
|
/* shares tool in frame */
|
33
|
-
#share_tool .share-form-wrapper{border:1px solid #ccc;margin:2px auto;padding:.5em;background-color:#eee;width:90%;}
|
36
|
+
#share_tool .share-form-wrapper, #share_tool #shares_control{border:1px solid #ccc;margin:2px auto;padding:.5em;background-color:#eee;width:90%;}
|
34
37
|
/* comments tool in frame */
|
35
38
|
#comments_tool #activity-icon, .actor-icon {margin:0 10px 0 0;}
|
36
|
-
#comments_tool .comment_holder{border:1px solid #ccc;margin:
|
39
|
+
#comments_tool .comment-form-wrapper, #comments_tool .comment_holder{border:1px solid #ccc;margin:2px auto;padding:.5em;background-color:#eee;width:90%;}
|
37
40
|
#comments_tool .comment_holder p{margin:0;}
|
38
41
|
#comments_tool .comment_holder .commentor-icon{width:40px;float:left;margin:0 5px 0 0;}
|
39
42
|
#comments_tool .comment_holder .commentor-icon img{width:40px;height:40px;}
|
@@ -41,6 +44,7 @@ a.close_link:hover{background:transparent url('/images/icons/hide.png') no-repea
|
|
41
44
|
#comments_tool .comment_holder .comment-time{color:#777777;font-size:.9em;}
|
42
45
|
#comments_tool #comments_control{border:1px solid #ccc;margin:2px auto;padding:.5em;background-color:#eee;width:90%;}
|
43
46
|
#comments_tool .comment-form-wrapper{height:116px;display:inline;}
|
47
|
+
#comments_tool .comment-form input{float:right;}
|
44
48
|
#comments_tool .activity-comment .comment-form textarea.max {height:50px;width:200px;margin:0px;}
|
45
49
|
#comments_tool .activity-comment .comment-form textarea.min {height:15px;width:90%;}
|
46
50
|
#comments_tool form.comment-delete {position:relative;display:inline;float:right;}
|
@@ -49,4 +53,4 @@ a.close_link:hover{background:transparent url('/images/icons/hide.png') no-repea
|
|
49
53
|
#comments_tool .comment-hover form.comment-delete{display:block;}
|
50
54
|
#comments_tool .activity-comment{margin:5px 10px 2px 60px;}
|
51
55
|
#comments_tool .activity{margin:8px 10px 2px 10px;}
|
52
|
-
#comments_tool #comments_control{margin:20px 5px;}
|
56
|
+
#comments_tool #comments_control{margin:20px 5px;}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
/* activity feed */
|
2
|
+
#activity-status-control{border:solid 1px #ccc;padding:10px 7px;background-color:#eee;}
|
3
|
+
#status-update-field{}
|
4
|
+
ul#status-menu{list-style:none;}
|
5
|
+
ul#status-menu li{float:left;display:inline;margin:0 5px;}
|
6
|
+
#status-update-button input{padding:0;}
|
7
|
+
.status-update-dim{}
|
8
|
+
.status-update-lit{}
|
9
|
+
ul#activity-filter{list-style:none;}
|
10
|
+
ul#activity-filter li{border-bottom:solid 1px #ccc;}
|
11
|
+
ul#activity-filter li a{text-decoration:none;}
|
12
|
+
ul#activity-filter li a:hover;{text-decoration:underline;}
|
13
|
+
ul#activity-filter li.current a{color:#5EAC18;}
|
14
|
+
.activity{clear:both;display:block;}
|
15
|
+
#activity-feed{margin:15px 0 0 0;}
|
16
|
+
#activity-feed-content .activity{margin:8px 0 4px 0;}
|
17
|
+
#activity-feed-content .activity-time{font-size:1em;font-color:#eee;clear:left;}
|
18
|
+
#activity-icon, .actor-icon{width:50px;float:left;margin:0 10px 10px 0;}
|
19
|
+
#activity-feed-content .actor, #current-status-name{font-weight:bolder;font-size:1.3em;}
|
20
|
+
.activity-time, .status-time{color:#777777;font-size:.9em;}
|
21
|
+
p#current-status-text, .activity-content p{margin:0;}
|
22
|
+
form.activity-delete {position:relative;display:inline;float:right;display:none;}
|
23
|
+
form.activity-delete input{padding:0;margin:0;width:15px;height:15px;position:absolute;right:0px;bottom:0px;}
|
24
|
+
.activity .activity-hover form.activity-delete{display:block;}
|
25
|
+
.welcome_activity{font-size:14px;}
|
26
|
+
a.upload-button{background:transparent url('/images/icons/button_background.png') no-repeat scroll left top;text-decoration:none;padding:0px 23px 1px 6px;color:#fff;font-weight:bold;}
|
27
|
+
a.upload-button:hover{background:transparent url('/images/icons/button_background.png') no-repeat scroll left bottom;}
|
28
|
+
/* comments under activity feed */
|
29
|
+
.activity-comment{border:1px solid #ccc;margin:2px 50px 2px 60px;padding:.5em;background-color:#eee;}
|
30
|
+
.activity-comment .actor-icon{width:40px;}
|
31
|
+
.activity-comment .actor-icon img{width:40px;height:40px;}
|
32
|
+
.activity-comment textarea.max{width:80%;height:30px;}
|
33
|
+
.activity-comment textarea.min{height:15px;width:50%;}
|
34
|
+
.activity-comment p{margin:0;}
|
35
|
+
.activity-comment .actor a{font-size:.8em;}
|
36
|
+
.activity form.comment-delete {position:relative;display:inline;float:right;}
|
37
|
+
.activity form.comment-delete input{padding:0;margin:0;width:15px;height:15px;position:absolute;right:0px;top:0px;}
|
38
|
+
.activity form.comment-delete{display:none;}
|
39
|
+
.activity .comment-hover form.comment-delete{display:block;}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
#fancy_outer{width:80%;height:80%;margin:auto auto;}
|
2
|
+
/* services */
|
3
|
+
#available-services{border:solid 1px #ccc;background-color:#eee;}
|
4
|
+
.services-main {float:left;display:inline-block;padding:10px;margin:10px;}
|
5
|
+
.services-main h3{margin:0;}
|
6
|
+
.services-main .service-category{margin:0 20px 20px 0;display:inline-block;float:left;height:160px;width:130px;}
|
7
|
+
.services-main ul.services-list{margin:0;padding:0;list-style:none;}
|
8
|
+
.services-main a.service-link{display:inline-block;margin:2px 0;padding:2px 0 5px 28px;text-decoration:none;}
|
9
|
+
.services-main a:hover.service-link{text-decoration:underline;}
|
10
|
+
.identity-service{font-size:1em;font-weight:bold;}
|
11
|
+
.identity-service-title{font-size:1.2em;font-weight:bold;padding:2px 0 5px 28px;}
|
12
|
+
#identity-feed{margin:auto;}
|
13
|
+
#identity-feed input[type="text"] {width:380px;}
|
14
|
+
ul#my-services-list li {position:relative;}
|
15
|
+
ul#my-services-list li form {right:-25px;position:absolute;top:3px;}
|
16
|
+
ul.service-summary{margin:0;padding:0;list-style:none;}
|
17
|
+
ul.service-summary a.service-link{display:inline-block;margin:2px 0;padding:2px 0 5px 28px;text-decoration:none;}
|
18
|
+
#data-sources #sources-list ul {float:left;display:inline-block;height:170px;margin:0 20px;width:150px;}
|
19
|
+
#edit-data-sources ul{}
|
20
|
+
#sources-list ul li{padding:2px 0 5px 25px;}
|
21
|
+
#sources-list ul li input{margin:0;}
|
22
|
+
#sources-list ul li.source-title{font-weight:bolder;font-size:1.4em;margin:10px 0 0 0;padding:0;}
|
23
|
+
/* feed formating */
|
24
|
+
.feed{padding:0px 4px;}
|
25
|
+
.feed-header{background-color:#f4f8fb;padding:3px;margin-top:20px;}
|
26
|
+
.feed-header h3{margin:0;padding:2px 0 10px 25px;}
|
27
|
+
.feed-header h3 a{text-decoration:none;color:#333;}
|
28
|
+
.feed-header h3 a:hover{color:#000;}
|
29
|
+
.feed-item{margin:0 15px 0 20px;}
|
30
|
+
.feed-item h4{margin:0;padding:2px;}
|
31
|
+
.feed-item h4 a{text-decoration:none;color:#555;}
|
32
|
+
.feed-item h4 a:hover{color:#000;}
|
33
|
+
.feed-item .hentry .entry{display:none;}
|
34
|
+
.even{background-color:#f6f8f9;}
|
35
|
+
.odd{background-color:#fff;}
|
36
|
+
.entry-close{float:right;font-size:.8em;}
|
37
|
+
.hentry{padding:0 10px;}
|
38
|
+
/* entry comment in activity feed */
|
39
|
+
.entry-comment-contents{font-weight:bolder;}
|
40
|
+
/* entries tag browsing */
|
41
|
+
fieldset{border:solid 1px #CCC;margin:0px;padding:10px;}
|
42
|
+
#tag-cloud{margin-top:0px;line-height:28px;}
|
43
|
+
#tag-cloud a{padding:6px;text-decoration:none;}
|
44
|
+
#tag-cloud a:visited{text-decoration:none;}
|
45
|
+
#tag-cloud a:hover{text-decoration:underline;}
|
46
|
+
.cloud1{font-size:15px;}
|
47
|
+
.cloud2{font-size:19px;}
|
48
|
+
.cloud3{font-size:23px;}
|
49
|
+
.cloud4{font-size:27px;}
|
50
|
+
.cloud5{font-size:31px;}
|
51
|
+
.cloud6{font-size:35px;}
|
52
|
+
.cloud7{font-size:39px;}
|
53
|
+
.cloud8{font-size:43px;}
|
54
|
+
.cloud9{font-size:47px;}
|
55
|
+
/* css for google widgets */
|
56
|
+
.slide_show_content {width:250px;height:200px;margin-bottom:40px;padding:5px;}
|
57
|
+
.datafeeds .calculated-feeds{border:solid 1px #eee;}
|
58
|
+
.datafeeds .feed{padding:0px 4px;}
|
59
|
+
.datafeeds .feed-header{background-color:#eee;padding:3px;margin-top:20px;}
|
60
|
+
.datafeeds .feed-header h3{margin:0;padding:2px 0 5px 25px;}
|
61
|
+
.datafeeds .feed-header h3 a{text-decoration:none;color:#333;}
|
62
|
+
.datafeeds .feed-header h3 a:hover{color:#000;}
|
63
|
+
.datafeeds .feed-item{margin:0 15px 0 20px;}
|
64
|
+
.datafeeds .feed-item h4{margin:0;padding:2px;}
|
65
|
+
.datafeeds .feed-item h4 a{text-decoration:none;color:#555;}
|
66
|
+
.datafeeds .feed-item h4 a:hover{color:#000;}
|
67
|
+
.datafeeds .feed-item .hentry .entry{display:none;}
|
68
|
+
.datafeeds .even{background-color:#f6f8f9;}
|
69
|
+
.datafeeds .odd{background-color:#fff;}
|
70
|
+
.datafeeds .feed-photos a, .datafeeds .feed-photos img{width:100px;height:100px;overflow:hidden;display:inline-block;}
|
71
|
+
.datafeeds .feed-photos {margin:0;}
|
72
|
+
.datafeeds .feed-videos img{width:100px;height:100px;}
|
73
|
+
.datafeeds .feed-videos {margin:0;}
|
74
|
+
.remove-feed{float:right;}
|
75
|
+
.entry-close{float:right;font-size:.8em;}
|
76
|
+
/* edit aggregation */
|
77
|
+
#edit-aggregation-controls .box{margin:10px 0;}
|
@@ -81,6 +81,11 @@ Factory.define :aggregation do |f|
|
|
81
81
|
f.ownable {|a| a.association(:user)}
|
82
82
|
end
|
83
83
|
|
84
|
+
Factory.define :aggregation_feed do |f|
|
85
|
+
f.feed {|a| a.association(:feed)}
|
86
|
+
f.aggregation {|a| a.association(:aggregation)}
|
87
|
+
end
|
88
|
+
|
84
89
|
Factory.define :oai_endpoint do |f|
|
85
90
|
f.contributor { |a| a.association(:user) }
|
86
91
|
f.uri { Factory.next(:uri) }
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class Muck::AggregationFeedsControllerTest < ActionController::TestCase
|
4
|
+
|
5
|
+
tests Muck::AggregationFeedsController
|
6
|
+
|
7
|
+
context "aggregation feeds controller" do
|
8
|
+
setup do
|
9
|
+
@aggregation = Factory(:aggregation)
|
10
|
+
@feed = Factory(:feed)
|
11
|
+
@aggregation.feeds << @feed
|
12
|
+
end
|
13
|
+
|
14
|
+
context "not logged in" do
|
15
|
+
context "DELETE destroy" do
|
16
|
+
setup do
|
17
|
+
delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id
|
18
|
+
end
|
19
|
+
should_redirect_to("login") { login_path }
|
20
|
+
should "set the flash to can't delete" do
|
21
|
+
ensure_flash_contains(I18n.t('muck.raker.cant_modify_aggregation'))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "DELETE destroy json" do
|
26
|
+
setup do
|
27
|
+
delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id, :format => 'json'
|
28
|
+
end
|
29
|
+
should_redirect_to("login") { login_path }
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
context "logged in with permissions" do
|
35
|
+
setup do
|
36
|
+
@admin = Factory(:user)
|
37
|
+
@admin_role = Factory(:role, :rolename => 'administrator')
|
38
|
+
@admin.roles << @admin_role
|
39
|
+
activate_authlogic
|
40
|
+
login_as @admin
|
41
|
+
end
|
42
|
+
|
43
|
+
context "DELETE destroy" do
|
44
|
+
setup do
|
45
|
+
delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id
|
46
|
+
end
|
47
|
+
should_redirect_to("aggregations path") { user_aggregation_path(@aggregation.ownable, @aggregation) }
|
48
|
+
should "set the flash to deleted" do
|
49
|
+
ensure_flash_contains(I18n.t('muck.raker.feed_remove'))
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context "DELETE destroy json" do
|
54
|
+
setup do
|
55
|
+
delete :destroy, :id => -1, :aggregation_id => @aggregation.id, :feed_id => @feed.id, :format => 'json'
|
56
|
+
end
|
57
|
+
should_respond_with :success
|
58
|
+
should "contain success:false in the result" do
|
59
|
+
JSON.parse(@response.body)['success'] == true
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
@@ -12,7 +12,16 @@ class Muck::AggregationsControllerTest < ActionController::TestCase
|
|
12
12
|
activate_authlogic
|
13
13
|
login_as @admin
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
|
+
context "GET index" do
|
17
|
+
setup do
|
18
|
+
get :index
|
19
|
+
end
|
20
|
+
should_not_set_the_flash
|
21
|
+
should_respond_with :success
|
22
|
+
should_render_template :index
|
23
|
+
end
|
24
|
+
|
16
25
|
context "GET new" do
|
17
26
|
setup do
|
18
27
|
get :new
|
@@ -44,10 +53,35 @@ class Muck::AggregationsControllerTest < ActionController::TestCase
|
|
44
53
|
|
45
54
|
context "POST create" do
|
46
55
|
setup do
|
47
|
-
|
56
|
+
@term = 'example'
|
57
|
+
post :create, :aggregation => { :terms => @term }
|
48
58
|
end
|
49
59
|
should_redirect_to("aggregation") { edit_aggregation_path(assigns(:aggregation)) }
|
50
|
-
|
60
|
+
should "set the flash to add feeds" do
|
61
|
+
ensure_flash_contains(I18n.t('muck.raker.add_feeds_to_aggregation', :title => @term))
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "PUT update" do
|
66
|
+
setup do
|
67
|
+
@aggregation = Factory(:aggregation)
|
68
|
+
put :update, :id => @aggregation.to_param, :aggregation => { :terms => 'fish' }
|
69
|
+
end
|
70
|
+
should_redirect_to("aggregation") { edit_user_aggregation_path(@aggregation.ownable, assigns(:aggregation)) }
|
71
|
+
should "set the flash to updated aggregation" do
|
72
|
+
ensure_flash_contains(I18n.t('muck.raker.aggregation_updated'))
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
context "DELETE destroy" do
|
77
|
+
setup do
|
78
|
+
@aggregation = Factory(:aggregation)
|
79
|
+
delete :destroy, :id => @aggregation.to_param
|
80
|
+
end
|
81
|
+
should_redirect_to("aggregations") { user_aggregations_path(@aggregation.ownable) }
|
82
|
+
should "set the flash to deleted" do
|
83
|
+
ensure_flash_contains(I18n.t('muck.raker.aggregation_deleted', :title => ''))
|
84
|
+
end
|
51
85
|
end
|
52
86
|
|
53
87
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class Muck::TopicsControllerTest < ActionController::TestCase
|
4
|
+
|
5
|
+
tests Muck::TopicsController
|
6
|
+
|
7
|
+
context "topics controller" do
|
8
|
+
|
9
|
+
context "GET new" do
|
10
|
+
setup do
|
11
|
+
get :new
|
12
|
+
end
|
13
|
+
should_not_set_the_flash
|
14
|
+
should_respond_with :success
|
15
|
+
should_render_template :new
|
16
|
+
end
|
17
|
+
|
18
|
+
context "GET rss_discovery with term defined" do
|
19
|
+
setup do
|
20
|
+
get :rss_discovery, :id => 'ruby,rails'
|
21
|
+
end
|
22
|
+
should_not_set_the_flash
|
23
|
+
should_respond_with :success
|
24
|
+
should_render_template :rss_discovery
|
25
|
+
end
|
26
|
+
|
27
|
+
context "GET show with term defined" do
|
28
|
+
setup do
|
29
|
+
get :show, :id => 'ruby,rails'
|
30
|
+
end
|
31
|
+
should_not_set_the_flash
|
32
|
+
should_respond_with :success
|
33
|
+
should_render_template :show
|
34
|
+
end
|
35
|
+
|
36
|
+
context "GET show without terms" do
|
37
|
+
setup do
|
38
|
+
get :show, :id => ''
|
39
|
+
end
|
40
|
+
should_set_the_flash_to(I18n.t('muck.raker.no_terms_error'))
|
41
|
+
should_redirect_to("new topic") { new_topic_path }
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -10,8 +10,16 @@
|
|
10
10
|
require File.dirname(__FILE__) + '/../test_helper'
|
11
11
|
|
12
12
|
class AggregationFeedTest < ActiveSupport::TestCase
|
13
|
+
|
13
14
|
context "aggregation feed" do
|
15
|
+
setup do
|
16
|
+
@aggregation_feed = Factory(:aggregation_feed)
|
17
|
+
end
|
18
|
+
|
19
|
+
subject { @aggregation_feed }
|
20
|
+
|
14
21
|
should_belong_to :aggregation
|
15
22
|
should_belong_to :feed
|
16
23
|
end
|
24
|
+
|
17
25
|
end
|
@@ -16,9 +16,104 @@
|
|
16
16
|
require File.dirname(__FILE__) + '/../test_helper'
|
17
17
|
|
18
18
|
class AggregationTest < ActiveSupport::TestCase
|
19
|
+
|
19
20
|
context "aggregation" do
|
21
|
+
setup do
|
22
|
+
@aggregation = Factory(:aggregation)
|
23
|
+
end
|
24
|
+
|
25
|
+
subject { @aggregation }
|
26
|
+
|
20
27
|
should_belong_to :ownable
|
21
28
|
should_have_many :aggregation_feeds
|
22
29
|
should_have_many :feeds
|
30
|
+
|
31
|
+
context "named scope" do
|
32
|
+
context "by_title" do
|
33
|
+
setup do
|
34
|
+
Aggregation.delete_all
|
35
|
+
@first = Factory(:aggregation, :title => 'a')
|
36
|
+
@second = Factory(:aggregation, :title => 'b')
|
37
|
+
end
|
38
|
+
should "sort by title" do
|
39
|
+
assert_equal @first, Aggregation.by_title[0]
|
40
|
+
assert_equal @second, Aggregation.by_title[1]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
context "recent" do
|
44
|
+
setup do
|
45
|
+
Aggregation.delete_all
|
46
|
+
@recent = Factory(:aggregation)
|
47
|
+
@not_recent = Factory(:aggregation, :created_at => 10.weeks.ago)
|
48
|
+
end
|
49
|
+
should "get recent aggregations" do
|
50
|
+
assert Aggregation.recent.include?(@recent)
|
51
|
+
end
|
52
|
+
should "not get recent aggregations" do
|
53
|
+
assert !Aggregation.recent.include?(@not_recent)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
context "newest" do
|
57
|
+
setup do
|
58
|
+
Aggregation.delete_all
|
59
|
+
@first = Factory(:aggregation, :created_at => 1.day.ago)
|
60
|
+
@second = Factory(:aggregation, :created_at => 1.week.ago)
|
61
|
+
end
|
62
|
+
should "sort by created_at" do
|
63
|
+
assert_equal @first, Aggregation.newest[0]
|
64
|
+
assert_equal @second, Aggregation.newest[1]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
context "filter feed types" do
|
70
|
+
setup do
|
71
|
+
Aggregation.delete_all
|
72
|
+
@aggregation = Factory(:aggregation, :terms => 'autumn')
|
73
|
+
@aggregation.add_feeds # Generate all feeds
|
74
|
+
end
|
75
|
+
should "get all feeds" do
|
76
|
+
assert @aggregation.all_feeds.length > 0
|
77
|
+
assert @aggregation.all_feeds.any?{ |feed| feed.service.photo? }
|
78
|
+
assert @aggregation.all_feeds.any?{ |feed| feed.service.video? }
|
79
|
+
assert @aggregation.all_feeds.any?{ |feed| feed.service.bookmark? }
|
80
|
+
assert @aggregation.all_feeds.any?{ |feed| feed.service.general? }
|
81
|
+
end
|
82
|
+
should "only get photo feeds" do
|
83
|
+
assert @aggregation.photo_feeds.length > 0
|
84
|
+
assert @aggregation.photo_feeds.all?{ |feed| feed.service.photo? }
|
85
|
+
end
|
86
|
+
should "only get video feeds" do
|
87
|
+
assert @aggregation.video_feeds.length > 0
|
88
|
+
assert @aggregation.video_feeds.all?{ |feed| feed.service.video? }
|
89
|
+
end
|
90
|
+
should "only get bookmark feeds" do
|
91
|
+
assert @aggregation.bookmark_feeds.length > 0
|
92
|
+
assert @aggregation.bookmark_feeds.all?{ |feed| feed.service.bookmark? }
|
93
|
+
end
|
94
|
+
should "only get music feeds" do
|
95
|
+
assert @aggregation.music_feeds.length > 0
|
96
|
+
assert @aggregation.music_feeds.all?{ |feed| feed.service.music? }
|
97
|
+
end
|
98
|
+
should "only get general feeds" do
|
99
|
+
assert @aggregation.general_feeds.length > 0
|
100
|
+
assert @aggregation.general_feeds.all?{ |feed| feed.service.general? }
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
104
|
+
|
105
|
+
context "add_feeds_by_uri" do
|
106
|
+
setup do
|
107
|
+
@uris = ['http://www.example.com', 'http://www.justinball.com']
|
108
|
+
@aggregation = Factory(:aggregation)
|
109
|
+
@aggregation.add_feeds_by_uri(nil, uris)
|
110
|
+
@aggregation.reload
|
111
|
+
end
|
112
|
+
should "add feeds" do
|
113
|
+
assert_equal @uris.length, @aggregation.feeds.length
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
23
117
|
end
|
118
|
+
|
24
119
|
end
|