muck-services 0.1.47 → 3.0.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/.gitignore +2 -1
- data/LICENSE +1 -1
- data/README.rdoc +32 -48
- data/Rakefile +14 -16
- data/VERSION +1 -1
- data/app/controllers/admin/muck/feeds_controller.rb +1 -1
- data/app/controllers/muck/aggregations_controller.rb +4 -6
- data/app/controllers/muck/feed_previews_controller.rb +2 -10
- data/app/controllers/muck/feeds_controller.rb +1 -1
- data/app/controllers/muck/identity_feeds_controller.rb +2 -6
- data/app/controllers/muck/topics_controller.rb +3 -3
- data/app/controllers/muck/visits_controller.rb +3 -3
- data/app/helpers/muck_services_feeds_helper.rb +3 -3
- data/app/helpers/muck_services_service_helper.rb +2 -2
- data/app/models/aggregation.rb +4 -18
- data/app/models/entry.rb +2 -2
- data/app/models/feed.rb +7 -9
- data/app/models/oai_endpoint.rb +6 -6
- data/app/models/personal_recommendation.rb +4 -5
- data/app/models/service.rb +6 -6
- data/app/models/service_category.rb +1 -1
- data/app/models/services_mailer.rb +10 -12
- data/app/views/activity_templates/{_entry_comment.html.erb → _entry_comment.erb} +0 -0
- data/app/views/activity_templates/{_entry_share.html.erb → _entry_share.erb} +0 -0
- data/app/views/admin/feeds/index.html.erb +8 -9
- data/app/views/admin/oai_endpoints/index.html.erb +4 -4
- data/app/views/aggregations/{_feeds.html.erb → _feeds.erb} +0 -0
- data/app/views/aggregations/edit.html.erb +3 -3
- data/app/views/aggregations/index.html.erb +1 -1
- data/app/views/aggregations/new.html.erb +1 -1
- data/app/views/aggregations/preview.html.erb +1 -1
- data/app/views/feed_previews/{new.html.erb → new.erb} +0 -0
- data/app/views/feed_previews/{select_feeds.html.erb → select_feeds.erb} +0 -0
- data/app/views/feeds/_feed.html.erb +1 -1
- data/app/views/feeds/_feed_row.html.erb +1 -1
- data/app/views/feeds/_form.html.erb +2 -2
- data/app/views/feeds/edit.html.erb +2 -2
- data/app/views/feeds/index.html.erb +7 -8
- data/app/views/feeds/new.html.erb +2 -2
- data/app/views/feeds/new_extended.html.erb +2 -2
- data/app/views/feeds/new_oai_rss.html.erb +2 -2
- data/app/views/identity_feeds/{_form.html.erb → _form.erb} +1 -1
- data/app/views/oai_endpoints/_form.html.erb +2 -2
- data/app/views/oai_endpoints/_oai_endpoint_row.html.erb +1 -1
- data/app/views/parts/_add_feed.html.erb +1 -1
- data/app/views/services_mailer/{notification_feed_added.text.html.erb → notification_feed_added.html.erb} +0 -0
- data/app/views/services_mailer/{notification_feed_added.text.plain.erb → notification_feed_added.text.erb} +0 -0
- data/app/views/services_mailer/{notification_oai_endpoint_added.text.html.erb → notification_oai_endpoint_added.html.erb} +0 -0
- data/app/views/services_mailer/{notification_oai_endpoint_added.text.plain.erb → notification_oai_endpoint_added.text.erb} +0 -0
- data/app/views/topics/_form.html.erb +1 -1
- data/app/views/topics/new.html.erb +1 -1
- data/app/views/visits/_toolbar.html.erb +3 -3
- data/{locales → config/locales}/ar.yml +34 -34
- data/{locales → config/locales}/bg.yml +34 -34
- data/{locales → config/locales}/ca.yml +34 -34
- data/{locales → config/locales}/cs.yml +34 -34
- data/{locales → config/locales}/da.yml +34 -34
- data/{locales → config/locales}/de.yml +34 -34
- data/{locales → config/locales}/el.yml +34 -34
- data/{locales → config/locales}/en.yml +34 -36
- data/{locales → config/locales}/es.yml +34 -34
- data/{locales → config/locales}/et.yml +34 -34
- data/{locales → config/locales}/fa.yml +34 -34
- data/{locales → config/locales}/fi.yml +34 -34
- data/{locales → config/locales}/fr.yml +34 -34
- data/{locales → config/locales}/gl.yml +34 -34
- data/{locales → config/locales}/hi.yml +34 -34
- data/{locales → config/locales}/hr.yml +34 -34
- data/{locales → config/locales}/hu.yml +34 -34
- data/{locales → config/locales}/id.yml +34 -34
- data/{locales → config/locales}/it.yml +34 -34
- data/{locales → config/locales}/iw.yml +34 -34
- data/{locales → config/locales}/ja.yml +34 -34
- data/{locales → config/locales}/ko.yml +34 -34
- data/{locales → config/locales}/lt.yml +34 -34
- data/{locales → config/locales}/lv.yml +34 -34
- data/{locales → config/locales}/mt.yml +34 -34
- data/{locales → config/locales}/nl.yml +34 -34
- data/{locales → config/locales}/no.yml +34 -34
- data/{locales → config/locales}/pl.yml +34 -34
- data/{locales → config/locales}/pt-PT.yml +34 -34
- data/{locales → config/locales}/ro.yml +34 -34
- data/{locales → config/locales}/ru.yml +34 -34
- data/{locales → config/locales}/sk.yml +34 -34
- data/{locales → config/locales}/sl.yml +34 -34
- data/{locales → config/locales}/sq.yml +34 -34
- data/{locales → config/locales}/sr.yml +34 -34
- data/{locales → config/locales}/sv.yml +34 -34
- data/{locales → config/locales}/th.yml +34 -34
- data/{locales → config/locales}/tl.yml +34 -34
- data/{locales → config/locales}/tr.yml +34 -34
- data/{locales → config/locales}/uk.yml +34 -34
- data/{locales → config/locales}/vi.yml +34 -34
- data/{locales → config/locales}/zh-CN.yml +34 -34
- data/{locales → config/locales}/zh-TW.yml +34 -34
- data/{locales → config/locales}/zh.yml +34 -34
- data/config/routes.rb +73 -0
- data/lib/muck-services.rb +24 -0
- data/lib/muck-services/config.rb +36 -0
- data/lib/muck-services/engine.rb +32 -0
- data/lib/{muck_services → muck-services}/exceptions.rb +0 -0
- data/lib/{muck_services → muck-services}/languages.rb +0 -0
- data/lib/muck-services/models/aggregation_owner.rb +17 -0
- data/lib/muck-services/models/feed_owner.rb +24 -0
- data/lib/muck-services/models/feed_parent.rb +18 -0
- data/lib/muck-services/models/recommendation.rb +14 -0
- data/lib/muck-services/models/recommendation_owner.rb +15 -0
- data/lib/muck-services/models/services_comment.rb +24 -0
- data/lib/muck-services/models/services_share.rb +18 -0
- data/lib/{muck_services → muck-services}/muck_custom_form_builder.rb +1 -3
- data/lib/{muck_services → muck-services}/services.rb +0 -0
- data/lib/tasks/muck_services.rake +101 -0
- data/muck-services.gemspec +364 -520
- data/test/{rails_root → rails_test}/app/controllers/application_controller.rb +1 -9
- data/test/{rails_root → rails_test}/app/controllers/default_controller.rb +0 -0
- data/test/{rails_root → rails_test}/app/helpers/application_helper.rb +0 -0
- data/test/{rails_root → rails_test}/app/models/activity.rb +1 -1
- data/test/{rails_root → rails_test}/app/models/comment.rb +3 -3
- data/test/rails_test/app/models/country.rb +13 -0
- data/test/rails_test/app/models/language.rb +15 -0
- data/test/{rails_root → rails_test}/app/models/share.rb +3 -3
- data/test/rails_test/app/models/state.rb +13 -0
- data/test/{rails_root → rails_test}/app/models/user.rb +8 -8
- data/test/{rails_root → rails_test}/app/models/user_session.rb +0 -0
- data/test/rails_test/config/application.rb +42 -0
- data/test/rails_test/config/boot.rb +13 -0
- data/test/rails_test/config/environment.rb +5 -0
- data/test/rails_test/config/environments/development.rb +26 -0
- data/test/rails_test/config/environments/production.rb +49 -0
- data/test/rails_test/config/environments/test.rb +35 -0
- data/test/rails_test/config/initializers/backtrace_silencers.rb +7 -0
- data/test/{rails_root → rails_test}/config/initializers/inflections.rb +2 -2
- data/test/rails_test/config/initializers/mce_options.rb +83 -0
- data/test/{rails_root → rails_test}/config/initializers/mime_types.rb +0 -0
- data/test/rails_test/config/initializers/muck.rb +66 -0
- data/test/rails_test/config/initializers/secret_token.rb +7 -0
- data/test/rails_test/config/initializers/session_store.rb +8 -0
- data/test/rails_test/config/routes.rb +12 -0
- data/test/{rails_root → rails_test}/db/migrate/20090320174818_create_muck_permissions_and_roles.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090327231918_create_users.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090402033319_add_muck_activities.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090402234137_create_languages.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090426041056_create_countries.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090426041103_create_states.rb +0 -0
- data/test/rails_test/db/migrate/20090512013727_create_profiles.rb +21 -0
- data/test/rails_test/db/migrate/20090517040220_create_uploads.rb +38 -0
- data/test/{rails_root → rails_test}/db/migrate/20090602191243_create_muck_raker.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090613173314_create_comments.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090619211125_create_tag_clouds.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090623181458_add_grain_size_to_entries.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090623193525_add_grain_size_to_tag_clouds.rb +0 -0
- data/test/rails_test/db/migrate/20090703055724_add_contents.rb +49 -0
- data/test/{rails_root → rails_test}/db/migrate/20090703175825_denormalize_entries_subjects.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090704220055_create_slugs.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090716035935_change_tag_cloud_grain_sizes.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090717173900_add_contributor_to_feeds.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090717175825_normalize_entries_subjects.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090721043213_change_services_title_to_name.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090721054927_remove_services_not_null_from_feeds.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090723050510_create_feed_parents.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090728165716_add_etag_to_feeds.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090730044139_add_comment_cache.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090730045848_add_comment_cache_to_entries.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090730154102_allow_null_user.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090803185323_create_shares.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090804184247_add_comment_count_to_shares.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090804211240_add_entry_id_to_shares.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090804231857_add_shares_uri_index.rb +0 -0
- data/test/rails_test/db/migrate/20090806230610_add_layout_to_contents.rb +9 -0
- data/test/rails_test/db/migrate/20090808175401_add_contents_comment_counter_cache.rb +9 -0
- data/test/{rails_root → rails_test}/db/migrate/20090818204527_add_activity_indexes.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090819030523_add_attachable_to_activities.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090826220530_change_services_sequence_to_sort.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090826225652_create_identity_feeds.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090827005105_add_identity_fields_to_services.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090827015308_create_service_categories.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090827221502_add_prompt_and_template_to_services.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090915041650_aggregations_to_polymorphic.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090922174200_update_oai_endpoints.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090922231552_add_dates_to_oai_endpoints.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090923150807_rename_name_in_aggregation.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20090924200750_add_uri_data_template_to_services.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20091006183742_add_feed_count_to_aggregation.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20091022150615_add_uri_key_to_services.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20091115011828_add_aggregations_for_personal_recs.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20091116094447_rename_action_table.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20091118203605_add_default_feed_type_to_aggregation_feed.rb +0 -0
- data/test/rails_test/db/migrate/20091124203137_add_location_to_profiles.rb +15 -0
- data/test/rails_test/db/migrate/20091124205819_add_fields_to_profiles.rb +21 -0
- data/test/{rails_root → rails_test}/db/migrate/20100123035450_create_access_codes.rb +0 -0
- data/test/{rails_root → rails_test}/db/migrate/20100123233654_create_access_code_requests.rb +0 -0
- data/test/rails_test/db/migrate/20100206000906_remove_name_fields.rb +15 -0
- data/test/rails_test/db/migrate/20100903205928_add_dead_entry_fields.rb +13 -0
- data/test/{rails_root → rails_test}/features/step_definitions/common_steps.rb +0 -0
- data/test/{rails_root → rails_test}/features/step_definitions/visit_steps.rb +0 -0
- data/test/rails_test/features/step_definitions/web_steps.rb +219 -0
- data/test/{rails_root → rails_test}/features/step_definitions/webrat_steps.rb +0 -0
- data/test/rails_test/features/support/custom_env.rb +19 -0
- data/test/rails_test/features/support/env.rb +58 -0
- data/test/rails_test/features/support/paths.rb +33 -0
- data/test/rails_test/lib/daemons/amazonaws.rb +36 -0
- data/test/{rails_root → rails_test}/public/dispatch.rb +0 -0
- data/test/rails_test/spec/controllers/admin/feeds_controller_spec.rb +38 -0
- data/test/rails_test/spec/controllers/admin/oai_endpoints_controller_spec.rb +30 -0
- data/test/{rails_root/test/functional/aggregation_feeds_controller_test.rb → rails_test/spec/controllers/aggregation_feeds_controller_spec.rb} +24 -24
- data/test/rails_test/spec/controllers/aggregations_controller_spec.rb +89 -0
- data/test/rails_test/spec/controllers/feed_previews_controller_spec.rb +32 -0
- data/test/rails_test/spec/controllers/feeds_controller_spec.rb +78 -0
- data/test/{rails_root/test/functional/identity_feeds_controller_test.rb → rails_test/spec/controllers/identity_feeds_controller_spec.rb} +44 -44
- data/test/rails_test/spec/controllers/oai_endpoints_controller_spec.rb +42 -0
- data/test/rails_test/spec/controllers/topics_controller_spec.rb +50 -0
- data/test/rails_test/spec/controllers/visits_controller_spec.rb +21 -0
- data/test/{rails_root/test → rails_test/spec}/factories.rb +6 -1
- data/test/rails_test/spec/mailers/services_mailer_spec.rb +31 -0
- data/test/{rails_root/test/unit/aggregation_feed_test.rb → rails_test/spec/models/aggregation_feed_spec.rb} +6 -9
- data/test/{rails_root/test/unit/aggregation_test.rb → rails_test/spec/models/aggregation_spec.rb} +23 -23
- data/test/{rails_root/test/unit/entry_test.rb → rails_test/spec/models/entry_spec.rb} +70 -74
- data/test/{rails_root/test/unit/feed_parent_test.rb → rails_test/spec/models/feed_parent_spec.rb} +5 -5
- data/test/{rails_root/test/unit/feed_test.rb → rails_test/spec/models/feed_spec.rb} +77 -81
- data/test/{rails_root/test/unit/identity_feed_test.rb → rails_test/spec/models/identity_feed_spec.rb} +5 -5
- data/test/rails_test/spec/models/oai_endpoint_spec.rb +78 -0
- data/test/rails_test/spec/models/personal_recommendation_spec.rb +60 -0
- data/test/{rails_root/test/unit/recommendation_test.rb → rails_test/spec/models/recommendation_spec.rb} +6 -8
- data/test/rails_test/spec/models/service_category_spec.rb +19 -0
- data/test/rails_test/spec/models/service_spec.rb +383 -0
- data/test/{rails_root/test/unit/share_test.rb → rails_test/spec/models/share_spec.rb} +8 -11
- data/test/{rails_root/test/unit/tag_cloud_test.rb → rails_test/spec/models/tag_cloud_spec.rb} +4 -4
- data/test/{rails_root/test/unit/user_test.rb → rails_test/spec/models/user_spec.rb} +9 -11
- data/test/{rails_root/test/test_helper.rb → rails_test/spec/spec_helper.rb} +8 -19
- metadata +345 -470
- data/app/views/services_mailer/notification_feed_added.text.ar.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.ar.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.bg.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.bg.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.ca.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.ca.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.cs.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.cs.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.da.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.da.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.de.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.de.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.el.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.el.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.es.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.es.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.et.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.et.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.fa.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.fa.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.fi.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.fi.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.fr.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.fr.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.gl.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.gl.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.hi.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.hi.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.hr.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.hr.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.hu.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.hu.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.id.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.id.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.it.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.it.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.iw.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.iw.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.ja.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.ja.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.ko.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.ko.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.lt.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.lt.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.lv.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.lv.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.mt.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.mt.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.nl.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.nl.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.no.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.no.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.pl.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.pl.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.pt-PT.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.pt-PT.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.ro.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.ro.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.ru.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.ru.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.sk.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.sk.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.sl.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.sl.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.sq.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.sq.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.sr.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.sr.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.sv.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.sv.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.th.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.th.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.tl.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.tl.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.tr.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.tr.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.uk.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.uk.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.vi.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.vi.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.zh-CN.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.zh-CN.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.zh-TW.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.zh-TW.plain.erb +0 -7
- data/app/views/services_mailer/notification_feed_added.text.zh.html.erb +0 -4
- data/app/views/services_mailer/notification_feed_added.text.zh.plain.erb +0 -7
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ar.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ar.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.bg.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.bg.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ca.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ca.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.cs.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.cs.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.da.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.da.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.de.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.de.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.el.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.el.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.es.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.es.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.et.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.et.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.fa.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.fa.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.fi.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.fi.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.fr.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.fr.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.gl.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.gl.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.hi.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.hi.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.hr.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.hr.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.hu.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.hu.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.id.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.id.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.it.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.it.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.iw.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.iw.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ja.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ja.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ko.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ko.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.lt.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.lt.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.lv.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.lv.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.mt.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.mt.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.nl.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.nl.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.no.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.no.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.pl.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.pl.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.pt-PT.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.pt-PT.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ro.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ro.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ru.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.ru.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sk.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sk.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sl.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sl.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sq.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sq.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sr.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sr.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sv.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.sv.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.th.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.th.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.tl.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.tl.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.tr.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.tr.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.uk.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.uk.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.vi.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.vi.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-CN.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-CN.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-TW.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.zh-TW.plain.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.zh.html.erb +0 -4
- data/app/views/services_mailer/notification_oai_endpoint_added.text.zh.plain.erb +0 -4
- data/config/muck_services_routes.rb +0 -43
- data/lib/active_record/acts/muck_aggregation_owner.rb +0 -30
- data/lib/active_record/acts/muck_feed_owner.rb +0 -36
- data/lib/active_record/acts/muck_feed_parent.rb +0 -23
- data/lib/active_record/acts/muck_recommendations.rb +0 -24
- data/lib/active_record/acts/muck_services_comment.rb +0 -40
- data/lib/active_record/acts/muck_services_share.rb +0 -32
- data/lib/muck_services.rb +0 -23
- data/lib/muck_services/initialize_routes.rb +0 -8
- data/lib/muck_services/tasks.rb +0 -117
- data/rails/init.rb +0 -18
- data/test/rails_root/config/boot.rb +0 -109
- data/test/rails_root/config/environment.rb +0 -41
- data/test/rails_root/config/environments/cucumber.rb +0 -21
- data/test/rails_root/config/environments/development.rb +0 -37
- data/test/rails_root/config/environments/production.rb +0 -1
- data/test/rails_root/config/environments/test.rb +0 -24
- data/test/rails_root/config/initializers/requires.rb +0 -13
- data/test/rails_root/config/initializers/session_store.rb +0 -8
- data/test/rails_root/config/routes.rb +0 -11
- data/test/rails_root/db/schema.rb +0 -504
- data/test/rails_root/features/support/env.rb +0 -14
- data/test/rails_root/features/support/paths.rb +0 -36
- data/test/rails_root/script/create_project.rb +0 -52
- data/test/rails_root/test/functional/admin/feeds_controller_test.rb +0 -37
- data/test/rails_root/test/functional/admin/oai_endpoints_controller_test.rb +0 -30
- data/test/rails_root/test/functional/aggregations_controller_test.rb +0 -89
- data/test/rails_root/test/functional/feed_previews_controller_test.rb +0 -32
- data/test/rails_root/test/functional/feeds_controller_test.rb +0 -78
- data/test/rails_root/test/functional/oai_endpoints_controller_test.rb +0 -42
- data/test/rails_root/test/functional/topics_controller_test.rb +0 -50
- data/test/rails_root/test/functional/visits_controller_test.rb +0 -21
- data/test/rails_root/test/unit/comment_test.rb +0 -38
- data/test/rails_root/test/unit/oai_endpoint_test.rb +0 -84
- data/test/rails_root/test/unit/personal_recommendation_test.rb +0 -78
- data/test/rails_root/test/unit/service_category_test.rb +0 -19
- data/test/rails_root/test/unit/service_test.rb +0 -386
- data/test/rails_root/test/unit/services_mailer_test.rb +0 -35
- data/test/rails_root/vendor/plugins/jrails/init.rb +0 -1
- data/test/rails_root/vendor/plugins/jrails/install.rb +0 -9
- data/test/rails_root/vendor/plugins/jrails/lib/jrails.rb +0 -421
- data/test/rails_root/vendor/plugins/jrails/rails/init.rb +0 -15
- data/test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +0 -62
- data/test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb +0 -132
|
@@ -13,7 +13,7 @@ zh:
|
|
|
13
13
|
add_feed_advanced: 添加饲料(高级)
|
|
14
14
|
add_feed_title: 添加新的饲料
|
|
15
15
|
add_feed_url: 网址:
|
|
16
|
-
add_feeds_to_aggregation: "
|
|
16
|
+
add_feeds_to_aggregation: "添加供稿%{title}"
|
|
17
17
|
add_more_sources: 添加源
|
|
18
18
|
add_new_feed_title: 添加新的饲料
|
|
19
19
|
add_oai: 添加醪河
|
|
@@ -23,11 +23,11 @@ zh:
|
|
|
23
23
|
add_rss_feed: 添加RSS提要
|
|
24
24
|
add_sources_by_tag: 饲料添加更多的标签。
|
|
25
25
|
added_date: 新增
|
|
26
|
-
aggregation_deleted: "{
|
|
26
|
+
aggregation_deleted: "%{title}删除"
|
|
27
27
|
aggregation_updated: 聚合更新
|
|
28
28
|
all_resources: 所有资源
|
|
29
|
-
already_added_uri_feed: "你已经添加的url {
|
|
30
|
-
already_added_username_feed: "
|
|
29
|
+
already_added_uri_feed: "你已经添加的url %{uri}"
|
|
30
|
+
already_added_username_feed: "你已经添加的用户名%{service}} 1 %{username}帐户"
|
|
31
31
|
already_shared: 您以前共享的这一页。
|
|
32
32
|
amazon_prompt: 请输入您的电子邮件使用Amazon.com
|
|
33
33
|
approval_status: 核准
|
|
@@ -51,10 +51,10 @@ zh:
|
|
|
51
51
|
collections_long: 索引的集合
|
|
52
52
|
comment_entries_count:
|
|
53
53
|
one: 1条评论
|
|
54
|
-
other: "{
|
|
54
|
+
other: "%{count}评论"
|
|
55
55
|
contributor: 投稿
|
|
56
|
-
course_search_results: "课程<b
|
|
57
|
-
course_tag_results: "课程<b
|
|
56
|
+
course_search_results: "课程<b>%{first}} -</b>在<b>%{last}} %{total}}</b>搜索<b>%{terms}</b>"
|
|
57
|
+
course_tag_results: "课程<b>%{first}} -</b>在<b>%{last}}</b>标签<b>%{total}} %{terms}</b>"
|
|
58
58
|
courses_tag_cloud_label: "使用标签浏览课程<a href=\"/resources\">[浏览所有资源]</a>"
|
|
59
59
|
default_language: 语言
|
|
60
60
|
demo: 演示
|
|
@@ -66,21 +66,21 @@ zh:
|
|
|
66
66
|
discover_feed_message: 寻找关于您所提供的信息。请稍候。
|
|
67
67
|
display_address: 显示地址
|
|
68
68
|
display_url: 要显示的网址:
|
|
69
|
-
download_opml: "下载OPML
|
|
69
|
+
download_opml: "下载OPML文件的%{terms}"
|
|
70
70
|
edit_aggregation: 编辑聚合
|
|
71
|
-
edit_aggregation_title: "
|
|
71
|
+
edit_aggregation_title: "编辑%{title}"
|
|
72
72
|
entries_count: 参赛作品
|
|
73
|
-
entry_commment_contents: "
|
|
74
|
-
explore: "
|
|
73
|
+
entry_commment_contents: "评论%{resource}"
|
|
74
|
+
explore: "搜寻%{topic}"
|
|
75
75
|
facebook: 脸谱
|
|
76
76
|
facebook_instructions: "在我的链接页面,右键点击'我的链接,然后复制该链接。我们会自动包括地位,链接和说明。"
|
|
77
|
-
facebook_link: "你可以找到你的Facebook我的链接页面上的网址。 {
|
|
77
|
+
facebook_link: "你可以找到你的Facebook我的链接页面上的网址。 %{link},然后点击'我的链接'"
|
|
78
78
|
facebook_notes: Facebook的注释
|
|
79
79
|
facebook_notifications: Facebook的通知
|
|
80
80
|
facebook_prompt: 您的Facebook我的链接网址
|
|
81
81
|
facebook_shares: Facebook的共享链接
|
|
82
82
|
failed_harvests: 失败的收成
|
|
83
|
-
failed_last_request: "
|
|
83
|
+
failed_last_request: "失败的最后一个请求:%{error}"
|
|
84
84
|
feed: 喂养
|
|
85
85
|
feed_banned_message: 饲料被取缔。
|
|
86
86
|
feed_display_address: 饲料网址
|
|
@@ -97,7 +97,7 @@ zh:
|
|
|
97
97
|
finding_topics: 查阅有关的故事...
|
|
98
98
|
for: 为了
|
|
99
99
|
friendfeed_prompt: "的FriendFeed RSS网址"
|
|
100
|
-
friendfeed_rss: "
|
|
100
|
+
friendfeed_rss: "您可以在您的%{link}.底部您的网址"
|
|
101
101
|
generate_new_topic: 生成一个新课题
|
|
102
102
|
generating_topic_message: 搜索。这可能需要1分钟左右....
|
|
103
103
|
get_recommendations: 获得建议
|
|
@@ -110,16 +110,16 @@ zh:
|
|
|
110
110
|
hide: 隐藏
|
|
111
111
|
identity_feed_removed: 删除服务
|
|
112
112
|
identity_feeds: 身份求职
|
|
113
|
-
import_service: "
|
|
113
|
+
import_service: "进口%{service}"
|
|
114
114
|
language_not_supported: 所要求的语言不支持
|
|
115
115
|
latest_aggregations: 最新的聚合
|
|
116
116
|
linkedin_prompt: LinkedIn公开个人资料的网址
|
|
117
|
-
linkedin_rss: "
|
|
117
|
+
linkedin_rss: "您可以在您的%{link}.底部您的网址"
|
|
118
118
|
loading_content_image: "“%=吨('muck.services.loading_image')%”"
|
|
119
119
|
loading_image: 加载图像
|
|
120
120
|
loading_message: 载入中...
|
|
121
121
|
login: 注册
|
|
122
|
-
login_or_signup_prompt: "{
|
|
122
|
+
login_or_signup_prompt: "%{signup}}或%{login}进行讨论和分享资源。"
|
|
123
123
|
login_to_comment: 登录以添加评论
|
|
124
124
|
metadata: 元数据
|
|
125
125
|
metadata_prefix: 元数据前缀
|
|
@@ -127,9 +127,9 @@ zh:
|
|
|
127
127
|
my_services: 我的服务
|
|
128
128
|
narrow_further: 进一步缩小结果
|
|
129
129
|
netflix_prompt: Netflix的队列RSS网址
|
|
130
|
-
netflix_rss: "
|
|
130
|
+
netflix_rss: "你可以在你%{link}.您的网址请注意,有几个可以用您的资讯Netflix的队列页(队列,建议书,电影评论等)。添加多达你喜欢!"
|
|
131
131
|
new_aggregation: 新的聚合
|
|
132
|
-
new_global_feed: "
|
|
132
|
+
new_global_feed: "一种新的饲料已被添加到%{application_name}"
|
|
133
133
|
new_search: 新的搜索
|
|
134
134
|
new_topic_title: 寻找一个新的课题和建立结果页。
|
|
135
135
|
next: 下一个
|
|
@@ -138,10 +138,10 @@ zh:
|
|
|
138
138
|
no_feeds_at_uri: 我们无法找到给定的URL
|
|
139
139
|
no_feeds_found: 没有饲料被发现
|
|
140
140
|
no_feeds_from_username: 我们无法找到给定的帐户
|
|
141
|
-
no_hits: "您的搜索- <b
|
|
141
|
+
no_hits: "您的搜索- <b>%{search}}</b> -没有任何符合<b>%{resource_type}。</b>请尝试不同的搜索或选择不同的语言。"
|
|
142
142
|
no_recommendations: 发现任何建议。
|
|
143
|
-
no_tagged_courses: "没有<b>课程</b>被发现与<b
|
|
144
|
-
no_tagged_resources: "没有<b>资源</b>被发现与<b
|
|
143
|
+
no_tagged_courses: "没有<b>课程</b>被发现与<b>%{tags}}</b>标签。 <a href='/resources'>重新开始</a>或显示<a href='/resources/tags/%{tags}}'>标记%{tags}的所有资源</a> 。"
|
|
144
|
+
no_tagged_resources: "没有<b>资源</b>被发现与<b>%{tags}</b>标签。 <a href='/resources'>重新开始</a> 。"
|
|
145
145
|
no_tags: 还没有标签可用
|
|
146
146
|
no_terms_error: 请指定一个术语或术语清单。
|
|
147
147
|
oai_endpoint_successfully_created: 成功将醪河终点
|
|
@@ -149,8 +149,8 @@ zh:
|
|
|
149
149
|
of: 的
|
|
150
150
|
ok: 行
|
|
151
151
|
only_courses: 只有课程
|
|
152
|
-
opml_feeds_for: "
|
|
153
|
-
opml_generated: "
|
|
152
|
+
opml_feeds_for: "供稿%{terms}"
|
|
153
|
+
opml_generated: "供稿%{terms}"
|
|
154
154
|
personal_recommendations: 建议
|
|
155
155
|
photos: 照片
|
|
156
156
|
please_specify_url: 请指定URL
|
|
@@ -171,8 +171,8 @@ zh:
|
|
|
171
171
|
repository: 元数据
|
|
172
172
|
repository_short_title: 仓库简称:
|
|
173
173
|
repository_title: 库标题:
|
|
174
|
-
resource_search_results: "资源<b
|
|
175
|
-
resource_tag_results: "资源<b
|
|
174
|
+
resource_search_results: "资源<b>%{first}} -</b>在<b>%{last}} %{total}}</b>搜索<b>%{terms}</b>"
|
|
175
|
+
resource_tag_results: "资源<b>%{first}} -</b>在<b>%{last}}</b>标签<b>%{total}} %{terms}</b>"
|
|
176
176
|
resources_tag_cloud_label: "使用标签浏览资源<a href=\"/resources?grain_size=course\">[浏览只有课程]</a>"
|
|
177
177
|
results: 结果
|
|
178
178
|
rss: 的RSS
|
|
@@ -187,8 +187,8 @@ zh:
|
|
|
187
187
|
searching_for_feed: 搜索供稿...
|
|
188
188
|
select_feeds_prompt: 选择供稿您想补充:
|
|
189
189
|
select_service_prompt: 请选择服务
|
|
190
|
-
service_feed_name: "{
|
|
191
|
-
service_username: "{
|
|
190
|
+
service_feed_name: "%{term}}的%{service}"
|
|
191
|
+
service_username: "%{service}用户名"
|
|
192
192
|
setup_aggregation: 安装聚合
|
|
193
193
|
share: 共享
|
|
194
194
|
short_title: 简称:
|
|
@@ -196,21 +196,21 @@ zh:
|
|
|
196
196
|
show_tagged_courses: 只显示课程
|
|
197
197
|
show_tagged_resources: 显示任何类型的资源
|
|
198
198
|
signup: 注册
|
|
199
|
-
signup_to_save_aggreation: "{
|
|
199
|
+
signup_to_save_aggreation: "%{login}}或%{signup}保存的搜索结果"
|
|
200
200
|
spinner_image: 轮候形象
|
|
201
201
|
start_over: 重新开始
|
|
202
202
|
status: 身份
|
|
203
203
|
submitting_feed_message: 提交您的供稿...
|
|
204
|
-
successfully_added_uri_feed: "
|
|
205
|
-
successfully_added_username_feed: "
|
|
204
|
+
successfully_added_uri_feed: "成功将%{uri}"
|
|
205
|
+
successfully_added_username_feed: "成功将%{service}"
|
|
206
206
|
tags: 标签
|
|
207
207
|
terms_instructions: 新增许多标签或短语,你想。分隔每一个逗号。即食品,食谱,吃最好的地方,有机
|
|
208
208
|
title: 标题
|
|
209
|
-
topic_feeds_for: "
|
|
210
|
-
topic_generated: "
|
|
209
|
+
topic_feeds_for: "供稿%{terms}"
|
|
210
|
+
topic_generated: "结果`%{terms}`."
|
|
211
211
|
type_of_metadata: 元数据类型:
|
|
212
212
|
uri: 网址
|
|
213
|
-
url_not_in_index: "在<a href='{
|
|
213
|
+
url_not_in_index: "在<a href='%{uri}'>您要求的资源提出建议</a>并没有被索引。请新增一个存放设施,为资源的元数据,将其添加到索引中。"
|
|
214
214
|
validate_feed: 马克饲料有效
|
|
215
215
|
videos: 视频
|
|
216
216
|
visit: 访问
|
data/config/routes.rb
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Rails.application.routes.draw do
|
|
2
|
+
# admin
|
|
3
|
+
namespace :admin do
|
|
4
|
+
resources :feeds, :controller => 'muck/feeds'
|
|
5
|
+
resources :oai_endpoints, :controller => 'muck/oai_endpoints'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
match '/feed_list' => 'muck/feeds#selection_list'
|
|
9
|
+
|
|
10
|
+
match 'resources/search' => 'muck/entries#search'
|
|
11
|
+
match 'resources/search.:format' => 'muck/entries#search'
|
|
12
|
+
match 'search/results.:format' => 'muck/entries#search'
|
|
13
|
+
match 'resources/tags/*tags' => 'muck/entries#browse_by_tags'
|
|
14
|
+
resources :resources, :controller => 'muck/entries'
|
|
15
|
+
|
|
16
|
+
match 'r' => 'muck/entries#track_clicks'
|
|
17
|
+
match 'collections' => 'muck/entries#collections'
|
|
18
|
+
|
|
19
|
+
resources :visits, :controller => 'muck/visits'
|
|
20
|
+
resources :feed_previews, :controller => 'muck/feed_previews' do
|
|
21
|
+
collection do
|
|
22
|
+
post :select_feeds
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
resources :entries, :controller => 'muck/entries' do
|
|
27
|
+
collection do
|
|
28
|
+
get :search
|
|
29
|
+
end
|
|
30
|
+
# have to map into the muck/comments controller or rails can't find the comments
|
|
31
|
+
resources :comments, :controller => 'muck/comments'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
resources :oai_endpoints, :controller => 'muck/oai_endpoints' do
|
|
35
|
+
resources :feeds
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
resources :feeds, :controller => 'muck/feeds' do
|
|
39
|
+
collection do
|
|
40
|
+
get :new_extended
|
|
41
|
+
get :new_oai_rss
|
|
42
|
+
end
|
|
43
|
+
resources :entries
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
match 'recommendations/real_time.:format' => 'muck/recommendations#real_time'
|
|
47
|
+
match 'recommendations/get_button' => 'muck/recommendations#get_button'
|
|
48
|
+
match 'recommendations/greasemonkey.user.js' => 'muck/recommendations#greasemonkey_script'
|
|
49
|
+
resources :recommendations, :controller => 'muck/recommendations'
|
|
50
|
+
|
|
51
|
+
resources :identity_feeds, :controller => 'muck/identity_feeds'
|
|
52
|
+
resources :aggregations, :controller => 'muck/aggregations' do
|
|
53
|
+
collection do
|
|
54
|
+
get :preview
|
|
55
|
+
end
|
|
56
|
+
member do
|
|
57
|
+
get :rss_discovery
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
resources :aggregation_feeds, :controller => 'muck/aggregation_feeds'
|
|
62
|
+
|
|
63
|
+
resources :topics, :controller => 'muck/topics' do
|
|
64
|
+
member do
|
|
65
|
+
get :rss_discovery
|
|
66
|
+
get :photos
|
|
67
|
+
get :videos
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
#match 'topics/*terms' => 'muck/topics#show'
|
|
72
|
+
|
|
73
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'nokogiri'
|
|
2
|
+
require 'httparty'
|
|
3
|
+
require 'river'
|
|
4
|
+
require 'feedbag'
|
|
5
|
+
require 'feedzirra'
|
|
6
|
+
|
|
7
|
+
require 'acts_as_solr'
|
|
8
|
+
|
|
9
|
+
require 'muck-services/config'
|
|
10
|
+
|
|
11
|
+
require 'muck-services/muck_custom_form_builder'
|
|
12
|
+
require 'muck-services/services'
|
|
13
|
+
require 'muck-services/languages'
|
|
14
|
+
require 'muck-services/exceptions'
|
|
15
|
+
|
|
16
|
+
require 'muck-services/models/aggregation_owner'
|
|
17
|
+
require 'muck-services/models/feed_owner'
|
|
18
|
+
require 'muck-services/models/feed_parent'
|
|
19
|
+
require 'muck-services/models/recommendation'
|
|
20
|
+
require 'muck-services/models/recommendation_owner'
|
|
21
|
+
require 'muck-services/models/services_comment'
|
|
22
|
+
require 'muck-services/models/services_share'
|
|
23
|
+
|
|
24
|
+
require 'muck-services/engine'
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'ostruct'
|
|
2
|
+
|
|
3
|
+
module MuckServices
|
|
4
|
+
|
|
5
|
+
def self.configuration
|
|
6
|
+
# In case the user doesn't setup a configure block we can always return default settings:
|
|
7
|
+
@configuration ||= Configuration.new
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.configure
|
|
11
|
+
self.configuration ||= Configuration.new
|
|
12
|
+
yield(configuration)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class Configuration
|
|
16
|
+
|
|
17
|
+
attr_accessor :enable_services_shares
|
|
18
|
+
attr_accessor :inform_admin_of_global_feed
|
|
19
|
+
attr_accessor :enable_services_comments
|
|
20
|
+
attr_accessor :render_feeds_client_side
|
|
21
|
+
attr_accessor :show_google_search # Determines whether or not a google search is displayed on the topic page
|
|
22
|
+
attr_accessor :combine_feeds_on_server # Combines feeds loaded on the server
|
|
23
|
+
attr_accessor :load_feeds_on_server # Determines whether feeds on a topic page are loaded on the server or the client. Loading on the server can take a while
|
|
24
|
+
|
|
25
|
+
def initialize
|
|
26
|
+
self.enable_services_shares = true
|
|
27
|
+
self.inform_admin_of_global_feed = true
|
|
28
|
+
self.enable_services_comments = true
|
|
29
|
+
self.render_feeds_client_side = true
|
|
30
|
+
self.show_google_search = true
|
|
31
|
+
self.combine_feeds_on_server = false
|
|
32
|
+
self.load_feeds_on_server = false
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'muck-services'
|
|
2
|
+
require 'rails'
|
|
3
|
+
|
|
4
|
+
module MuckServices
|
|
5
|
+
class Engine < ::Rails::Engine
|
|
6
|
+
|
|
7
|
+
def muck_name
|
|
8
|
+
'muck-services'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
initializer 'muck-services.helpers' do |app|
|
|
12
|
+
ActiveSupport.on_load(:action_view) do
|
|
13
|
+
include MuckServicesHelper
|
|
14
|
+
|
|
15
|
+
include MuckServicesFeedsHelper
|
|
16
|
+
include MuckServicesServiceHelper
|
|
17
|
+
include MuckServicesAggregationsHelper
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
initializer 'muck-services.i18n' do |app|
|
|
22
|
+
ActiveSupport.on_load(:i18n) do
|
|
23
|
+
I18n.load_path += Dir[ File.join(File.dirname(__FILE__), '..', '..', 'config', 'locales', '*.{rb,yml}') ]
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
initializer 'muck-services.form' do
|
|
28
|
+
MuckEngine::FormBuilder.send :include, MuckServicesCustomFormBuilder
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
end
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# include MuckServices::Models::MuckAggregationOwner
|
|
2
|
+
module MuckServices
|
|
3
|
+
module Models
|
|
4
|
+
module MuckAggregationOwner
|
|
5
|
+
# Adds identity aggregations to a given object. The aggregations
|
|
6
|
+
# attached to the object in this way are then assumed to be produced by the object.
|
|
7
|
+
# For example, if a user writes a blog the blog could be associated with the user in this way.
|
|
8
|
+
|
|
9
|
+
extend ActiveSupport::Concern
|
|
10
|
+
|
|
11
|
+
included do
|
|
12
|
+
has_many :aggregations, :as => :ownable
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# include MuckServices::Models::MuckFeedOwner
|
|
2
|
+
module MuckServices
|
|
3
|
+
module Models
|
|
4
|
+
module MuckFeedOwner
|
|
5
|
+
|
|
6
|
+
# Adds identity feeds to a given object. The feeds
|
|
7
|
+
# attached to the object in this way are then assumed to be produced by the object.
|
|
8
|
+
# For example, if a user writes a blog the blog could be associated with the user in this way.
|
|
9
|
+
|
|
10
|
+
extend ActiveSupport::Concern
|
|
11
|
+
|
|
12
|
+
included do
|
|
13
|
+
has_many :identity_feeds, :as => :ownable
|
|
14
|
+
has_many :own_feeds, :through => :identity_feeds, :source => :feed, :order => 'created_at desc'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Override this method to define whether or not a user can add feeds.
|
|
18
|
+
def can_add_feeds?
|
|
19
|
+
false
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# include MuckServices::Models::MuckFeedParent
|
|
2
|
+
module MuckServices
|
|
3
|
+
module Models
|
|
4
|
+
module MuckFeedParent
|
|
5
|
+
# Gives the class it is called on access to feeds.
|
|
6
|
+
# Retrieve feeds via object.feeds. ie @user.feeds.
|
|
7
|
+
# This is used to indicate which feeds a user would like to have access to.
|
|
8
|
+
|
|
9
|
+
extend ActiveSupport::Concern
|
|
10
|
+
|
|
11
|
+
included do
|
|
12
|
+
has_many :feed_parents, :as => :ownable
|
|
13
|
+
has_many :feeds, :through => :feed_parents, :order => 'created_at desc'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# include MuckServices::Models::MuckRecommendation
|
|
2
|
+
module MuckServices
|
|
3
|
+
module Models
|
|
4
|
+
module MuckRecommendation
|
|
5
|
+
|
|
6
|
+
extend ActiveSupport::Concern
|
|
7
|
+
|
|
8
|
+
included do
|
|
9
|
+
has_many :recommended_to, :as => :destination, :class_name => 'PersonalRecommendation'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# include MuckServices::Models::MuckRecommendationOwner
|
|
2
|
+
module MuckServices
|
|
3
|
+
module Models
|
|
4
|
+
module MuckRecommendationOwner
|
|
5
|
+
|
|
6
|
+
# gives the class it is called on personalized recommendations
|
|
7
|
+
extend ActiveSupport::Concern
|
|
8
|
+
|
|
9
|
+
included do
|
|
10
|
+
has_many :personal_recommendations, :as => :personal_recommendable
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# include MuckServices::Models::MuckServicesComment
|
|
2
|
+
module MuckServices
|
|
3
|
+
module Models
|
|
4
|
+
module MuckServicesComment
|
|
5
|
+
|
|
6
|
+
extend ActiveSupport::Concern
|
|
7
|
+
|
|
8
|
+
def after_create
|
|
9
|
+
if self.commentable.is_a?(Entry)
|
|
10
|
+
return if self.user.blank?
|
|
11
|
+
# Create a new entry_comment activity. Attach the activity to the entry via self.commentable
|
|
12
|
+
# Include all users in the discussion ie all users from all comments attached to self.commentable
|
|
13
|
+
feed_to = []
|
|
14
|
+
feed_to << self.user.feed_to
|
|
15
|
+
self.commentable.comments.each do |c|
|
|
16
|
+
feed_to << c.user if !c.user.blank?
|
|
17
|
+
end
|
|
18
|
+
add_activity(feed_to, self.user, self, 'entry_comment', '', '', nil, self.commentable)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|