enju_loc 0.2.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/MIT-LICENSE +0 -0
- data/README.md +15 -0
- data/Rakefile +1 -1
- data/app/assets/config/enju_loc_manifest.js +0 -0
- data/app/controllers/loc_search_controller.rb +8 -9
- data/app/helpers/loc_search_helper.rb +2 -2
- data/app/models/loc_search.rb +23 -23
- data/lib/enju_loc/loc_search.rb +344 -330
- data/lib/enju_loc/version.rb +1 -1
- data/spec/cassette_library/LocSearch/_ModsRecord/should_parse_MODS_metadata.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_create_a_valid_manifestation.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_create_lcsh_subjects_only.yml +17 -16
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_create_multiple_series_statements.yml +10 -10
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_distinguish_title_information_with_subject.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_a_manifestation_that_has_invalid_classification.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_another_serial.yml +33 -29
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_audio_book.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_e-resource.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_e-resource_packaged_.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_extent.yml +17 -16
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_lccn_exact_math.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_notated_music.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_note_fields.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_publication_year.yml +26 -21
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_serial.yml +30 -29
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_import_video_publication.yml +7 -7
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_parse_title_information_properly.yml +20 -19
- data/spec/cassette_library/LocSearch/_import_from_sru_response/should_support_name_and_title_subjects.yml +7 -7
- data/spec/cassette_library/LocSearch/_search/should_return_a_search_result.yml +189 -184
- data/spec/cassette_library/LocSearchController/GET_index/should_get_index.yml +189 -184
- data/spec/cassette_library/LocSearchController/GET_index/should_get_index_with_page_parameter.yml +177 -171
- data/spec/cassette_library/LocSearchController/POST_create/should_create_a_bibliographic_record_if_lccn_is_set.yml +19 -22
- data/spec/cassette_library/LocSearchController/POST_create/should_not_create_a_bibliographic_record_if_lccn_is_not_set.yml +5 -5
- data/spec/cassette_library/loc_search/index/loc_search_menu/should_reflect_query_params_for_views.yml +140 -155
- data/spec/controllers/loc_search_controller_spec.rb +16 -16
- data/spec/dummy/app/models/application_record.rb +3 -0
- data/spec/dummy/bin/rails +1 -1
- data/spec/dummy/bin/setup +21 -12
- data/spec/dummy/bin/update +29 -0
- data/spec/dummy/bin/yarn +11 -0
- data/spec/dummy/config/application.rb +5 -17
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/database.yml +17 -22
- data/spec/dummy/config/environment.rb +1 -1
- data/spec/dummy/config/environments/development.rb +24 -11
- data/spec/dummy/config/environments/production.rb +28 -16
- data/spec/dummy/config/environments/test.rb +6 -8
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +14 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +2 -2
- data/spec/dummy/config/puma.rb +56 -0
- data/spec/dummy/config/secrets.yml +15 -5
- data/spec/dummy/config/spring.rb +6 -0
- data/spec/dummy/config/sunspot.yml +23 -0
- data/spec/dummy/db/migrate/001_create_agents.rb +7 -7
- data/spec/dummy/db/migrate/002_devise_create_users.rb +1 -1
- data/spec/dummy/db/migrate/005_create_manifestations.rb +10 -10
- data/spec/dummy/db/migrate/006_create_items.rb +6 -6
- data/spec/dummy/db/migrate/012_create_owns.rb +3 -3
- data/spec/dummy/db/migrate/015_create_creates.rb +3 -3
- data/spec/dummy/db/migrate/029_create_subjects.rb +1 -1
- data/spec/dummy/db/migrate/041_create_roles.rb +1 -1
- data/spec/dummy/db/migrate/047_create_produces.rb +3 -3
- data/spec/dummy/db/migrate/059_create_libraries.rb +8 -10
- data/spec/dummy/db/migrate/069_create_shelves.rb +4 -5
- data/spec/dummy/db/migrate/073_create_carrier_types.rb +2 -2
- data/spec/dummy/db/migrate/077_create_user_groups.rb +2 -2
- data/spec/dummy/db/migrate/080_create_library_groups.rb +3 -4
- data/spec/dummy/db/migrate/112_create_frequencies.rb +2 -2
- data/spec/dummy/db/migrate/117_create_form_of_works.rb +2 -2
- data/spec/dummy/db/migrate/120_create_baskets.rb +3 -4
- data/spec/dummy/db/migrate/124_create_bookstores.rb +2 -2
- data/spec/dummy/db/migrate/125_create_donates.rb +3 -3
- data/spec/dummy/db/migrate/130_create_request_status_types.rb +2 -2
- data/spec/dummy/db/migrate/131_create_request_types.rb +2 -2
- data/spec/dummy/db/migrate/133_create_agent_merges.rb +2 -2
- data/spec/dummy/db/migrate/134_create_agent_merge_lists.rb +1 -1
- data/spec/dummy/db/migrate/142_create_classifications.rb +1 -1
- data/spec/dummy/db/migrate/144_create_classification_types.rb +1 -1
- data/spec/dummy/db/migrate/145_create_subject_heading_types.rb +1 -1
- data/spec/dummy/db/migrate/146_create_subject_types.rb +1 -1
- data/spec/dummy/db/migrate/149_create_message_templates.rb +1 -1
- data/spec/dummy/db/migrate/154_create_messages.rb +1 -1
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +1 -1
- data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +3 -3
- data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +1 -1
- data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +2 -2
- data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +5 -8
- data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +5 -6
- data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +6 -6
- data/spec/dummy/db/migrate/20081025083323_create_countries.rb +5 -5
- data/spec/dummy/db/migrate/20081025083905_create_languages.rb +6 -6
- data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +2 -2
- data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20090719201843_create_extents.rb +1 -1
- data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +2 -2
- data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +2 -2
- data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +2 -2
- data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +1 -1
- data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +2 -2
- data/spec/dummy/db/migrate/20091202124834_create_versions.rb +1 -1
- data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +1 -1
- data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +1 -1
- data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +1 -1
- data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +1 -1
- data/spec/dummy/db/migrate/20100606065209_create_user_has_roles.rb +1 -1
- data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +1 -1
- data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +2 -2
- data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +1 -1
- data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +1 -1
- data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +2 -2
- data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +1 -1
- data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
- data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +1 -1
- data/spec/dummy/db/migrate/20110913120629_add_lft_and_rgt_to_classification.rb +1 -1
- data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +1 -1
- data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +1 -1
- data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +1 -1
- data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +2 -2
- data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +4 -7
- data/spec/dummy/db/migrate/20120406020752_add_url_to_subject.rb +1 -1
- data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +2 -2
- data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +1 -1
- data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +1 -1
- data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130504133816_add_manifestation_id_to_subject.rb +1 -1
- data/spec/dummy/db/migrate/20130504143515_add_manifestation_id_to_classification.rb +1 -1
- data/spec/dummy/db/migrate/20130504195916_add_subject_heading_type_id_to_subject.rb +1 -1
- data/spec/dummy/db/migrate/20130506175303_create_identifier_types.rb +1 -1
- data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +3 -3
- data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +2 -2
- data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +3 -3
- data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +1 -1
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +2 -3
- data/spec/dummy/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +1 -1
- data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +1 -1
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +2 -2
- data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +2 -2
- data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +2 -2
- data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +2 -2
- data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140817155043_add_extent_of_text_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140821151023_create_colors.rb +2 -4
- data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +1 -1
- data/spec/dummy/db/migrate/20140823083524_add_extent_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +1 -1
- data/spec/dummy/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +1 -1
- data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +1 -1
- data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +4 -6
- data/spec/dummy/db/migrate/20151125004028_add_profile_id_to_agent.rb +1 -1
- data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +12 -7
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +16 -3
- data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20160813191647_add_max_number_of_results_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813191733_add_family_name_first_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813192542_add_pub_year_facet_range_interval_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813203039_add_user_id_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160820004638_add_attachment_attachment_to_carrier_types.rb +1 -1
- data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +5 -0
- data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +5 -0
- data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +5 -0
- data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20190713114940_add_profile_id_to_user.rb +5 -0
- data/spec/dummy/db/migrate/20190713115451_add_full_name_translations_to_profile.rb +5 -0
- data/spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb +5 -0
- data/spec/dummy/db/migrate/20191219122214_create_custom_properties.rb +12 -0
- data/spec/dummy/db/schema.rb +688 -692
- data/spec/models/loc_search_spec.rb +143 -143
- data/spec/rails_helper.rb +1 -4
- metadata +321 -251
- data/README.rdoc +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6696223bb3ce8643658c537e98b2cb28d1e9efc81f0fdc0375410e068bbde018
|
4
|
+
data.tar.gz: 3ee3afaf8dbbf0855bca7b76480035c4deb617785d367b158b37b329dc3e083e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 195657c2ff5e432af9b2e585ae15d97d036b0b2fe4ae97b378979487d305e628c5eb409abf51723b90e2189a7c917583bd406a86915aa2b1de3e7d5f78755b37
|
7
|
+
data.tar.gz: 506af0bec37ecc62ab58545533d3756d36a15147b20a8e4c93704b88294ae7e14cf727089b131dc9d7810d1b2b101650d5c448ab27850a1d7ceec0868d342780
|
data/MIT-LICENSE
CHANGED
File without changes
|
data/README.md
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# EnjuLoc
|
2
|
+
[<img src="https://travis-ci.com/next-l/enju_ndl.svg?branch=1.3" alt="Build
|
3
|
+
Status" />](https://travis-ci.com/next-l/enju_ndl) [<img
|
4
|
+
src="https://coveralls.io/repos/next-l/enju_ndl/badge.svg?branch=1.3&service=g
|
5
|
+
ithub" alt="Coverage Status"
|
6
|
+
/>](https://coveralls.io/github/next-l/enju_ndl?branch=1.3) [<img
|
7
|
+
src="https://hakiri.io/github/next-l/enju_loc/1.3.svg" alt="security"
|
8
|
+
/>](https://hakiri.io/github/next-l/enju_loc/1.3)
|
9
|
+
|
10
|
+
This project rocks and uses MIT-LICENSE.
|
11
|
+
|
12
|
+
## 製作者・貢献者 (Authors and contributors)
|
13
|
+
* [TAKAKU, Masao](https://github.com/masao) ([@tmasao](https://twitter.com/tmasao))
|
14
|
+
* [TANABE, Kosuke](https://github.com/nabeta) ([@nabeta](https://twitter.com/nabeta))
|
15
|
+
* [Project Next-L](https://www.next-l.jp) ([@ProjectNextL](https://twitter.com/ProjectNextL))
|
data/Rakefile
CHANGED
File without changes
|
@@ -8,11 +8,10 @@ class LocSearchController < ApplicationController
|
|
8
8
|
page = params[:page].to_i
|
9
9
|
end
|
10
10
|
@query = params[ :query ].to_s.strip
|
11
|
-
books = LocSearch.search( @query, { :
|
11
|
+
books = LocSearch.search( @query, { page: page } )
|
12
12
|
@books = Kaminari.paginate_array(
|
13
13
|
books[:items],
|
14
|
-
:
|
15
|
-
:page => page
|
14
|
+
total_count: books[ :total_entries ]
|
16
15
|
).page( page ).per( 10 )
|
17
16
|
respond_to do |format|
|
18
17
|
format.html
|
@@ -21,19 +20,19 @@ class LocSearchController < ApplicationController
|
|
21
20
|
|
22
21
|
def create
|
23
22
|
begin
|
24
|
-
@manifestation = LocSearch.import_from_sru_response(params[:book][
|
23
|
+
@manifestation = LocSearch.import_from_sru_response(params[:book].try(:[], 'lccn'))
|
25
24
|
rescue EnjuLoc::RecordNotFound
|
26
25
|
end
|
27
26
|
respond_to do |format|
|
28
27
|
if @manifestation.try(:save)
|
29
|
-
flash[:notice] = t('controller.successfully_created', :
|
28
|
+
flash[:notice] = t('controller.successfully_created', model: t('activerecord.models.manifestation'))
|
30
29
|
format.html { redirect_to manifestation_url(@manifestation) }
|
31
30
|
else
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
if @manifestation and not @manifestation.valid?
|
32
|
+
flash[:notice] = @manifestation.errors.messages
|
33
|
+
else
|
35
34
|
flash[:notice] = t('enju_loc.record_not_found')
|
36
|
-
|
35
|
+
end
|
37
36
|
format.html { redirect_to loc_search_index_url }
|
38
37
|
end
|
39
38
|
end
|
@@ -3,9 +3,9 @@ module LocSearchHelper
|
|
3
3
|
if lccn.blank?
|
4
4
|
t('enju_loc.not_available')
|
5
5
|
else
|
6
|
-
identifier_type = IdentifierType.where(:
|
6
|
+
identifier_type = IdentifierType.where(name: 'lccn').first
|
7
7
|
if identifier_type
|
8
|
-
manifestation = Identifier.where(:
|
8
|
+
manifestation = Identifier.where(body: lccn, identifier_type_id: identifier_type
|
9
9
|
.id).first.try(:manifestation)
|
10
10
|
end
|
11
11
|
unless manifestation
|
data/app/models/loc_search.rb
CHANGED
@@ -1,56 +1,56 @@
|
|
1
1
|
class LocSearch
|
2
|
-
def initialize(
|
2
|
+
def initialize(node)
|
3
3
|
@node = node
|
4
4
|
end
|
5
5
|
class ModsRecord < LocSearch
|
6
6
|
MODS_NS = { "mods" => "http://www.loc.gov/mods/v3" }
|
7
7
|
def title
|
8
|
-
title = @node.xpath(
|
9
|
-
subtitle = @node.xpath(
|
8
|
+
title = @node.xpath('.//mods:titleInfo/mods:title', MODS_NS).first.content
|
9
|
+
subtitle = @node.xpath('.//mods:titleInfo/mods:subTitle', MODS_NS).first
|
10
10
|
title += " : #{ subtitle.content }" if subtitle
|
11
11
|
title
|
12
12
|
end
|
13
13
|
def lccn
|
14
|
-
@node.xpath(
|
14
|
+
@node.xpath('.//mods:mods/mods:identifier[@type="lccn"]', MODS_NS).first.try(:content)
|
15
15
|
end
|
16
16
|
def isbn
|
17
|
-
@node.xpath(
|
17
|
+
@node.xpath('.//mods:mods/mods:identifier[@type="isbn"]', MODS_NS).first.try(:content)
|
18
18
|
end
|
19
19
|
def creator
|
20
|
-
statement_of_responsibility = @node.at('.//mods:note[@type="statement of responsibility"]',MODS_NS).try(:content)
|
20
|
+
statement_of_responsibility = @node.at('.//mods:note[@type="statement of responsibility"]', MODS_NS).try(:content)
|
21
21
|
if statement_of_responsibility
|
22
22
|
statement_of_responsibility
|
23
23
|
else
|
24
|
-
names = @node.xpath(
|
24
|
+
names = @node.xpath('.//mods:name', MODS_NS)
|
25
25
|
creator = names.map do |name|
|
26
|
-
name.xpath(
|
26
|
+
name.xpath('.//mods:namePart', MODS_NS).map do |part|
|
27
27
|
if part.content
|
28
28
|
part.content
|
29
29
|
else
|
30
30
|
nil
|
31
31
|
end
|
32
|
-
end.compact.join(
|
33
|
-
end.join(
|
32
|
+
end.compact.join(", ")
|
33
|
+
end.join(" ; ")
|
34
34
|
creator
|
35
35
|
end
|
36
36
|
end
|
37
37
|
def publisher
|
38
|
-
@node.xpath(
|
38
|
+
@node.xpath('.//mods:publisher', MODS_NS).map do |e|
|
39
39
|
e.content
|
40
|
-
end.join(
|
40
|
+
end.join(", ")
|
41
41
|
end
|
42
42
|
def pubyear
|
43
|
-
@node.xpath(
|
43
|
+
@node.xpath('.//mods:dateIssued', MODS_NS).first.try(:content)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
47
|
class DCRecord < LocSearch
|
48
48
|
DC_NS = { "dc" => "http://purl.org/dc/elements/1.1/" }
|
49
49
|
def title
|
50
|
-
@node.xpath(
|
50
|
+
@node.xpath('.//dc:title', DC_NS).first.content
|
51
51
|
end
|
52
52
|
def lccn
|
53
|
-
@node.xpath(
|
53
|
+
@node.xpath('.//dc:identifier[@type="lccn"]', DC_NS).first.content
|
54
54
|
end
|
55
55
|
def creator
|
56
56
|
end
|
@@ -58,21 +58,21 @@ class LocSearch
|
|
58
58
|
|
59
59
|
# http://www.loc.gov/z3950/lcserver.html
|
60
60
|
LOC_SRU_BASEURL = "http://lx2.loc.gov:210/LCDB"
|
61
|
-
def self.make_sru_request_uri(
|
61
|
+
def self.make_sru_request_uri(query, options = {})
|
62
62
|
if options[ :page ]
|
63
63
|
page = options[ :page ].to_i
|
64
|
-
options[ :startRecord ] = (
|
64
|
+
options[ :startRecord ] = (page - 1) * 10 + 1
|
65
65
|
options.delete :page
|
66
66
|
end
|
67
67
|
options = { maximumRecords: 10, recordSchema: :mods }.merge(options)
|
68
|
-
options = options.merge(
|
68
|
+
options = options.merge({ query: query, version: "1.1", operation: "searchRetrieve" })
|
69
69
|
params = options.map do |k, v|
|
70
|
-
"#{ URI.escape(
|
71
|
-
end.join(
|
70
|
+
"#{ URI.escape(k.to_s) }=#{ URI.escape(v.to_s) }"
|
71
|
+
end.join('&')
|
72
72
|
uri = "#{ LOC_SRU_BASEURL }?#{ params }"
|
73
73
|
end
|
74
74
|
|
75
|
-
def self.search(
|
75
|
+
def self.search(query, options = {})
|
76
76
|
if query and !query.empty?
|
77
77
|
url = make_sru_request_uri(query, options)
|
78
78
|
doc = Nokogiri::XML(Faraday.get(url).body)
|
@@ -91,10 +91,10 @@ class LocSearch
|
|
91
91
|
return if identifier
|
92
92
|
url = make_sru_request_uri("bath.lccn=\"^#{ lccn }\"")
|
93
93
|
response = Nokogiri::XML(Faraday.get(url).body)
|
94
|
-
record = response.at(
|
94
|
+
record = response.at('//zs:recordData', {"zs" => "http://www.loc.gov/zing/srw/"})
|
95
95
|
return unless record.try(:content)
|
96
96
|
doc = Nokogiri::XML::Document.new
|
97
|
-
doc << record.at(
|
97
|
+
doc << record.at("//mods:mods", { "mods" => "http://www.loc.gov/mods/v3" })
|
98
98
|
Manifestation.import_record_from_loc(doc)
|
99
99
|
end
|
100
100
|
end
|