enju_seed 0.3.6 → 0.4.0.beta.1
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.
- checksums.yaml +5 -5
- data/README.md +9 -7
- data/Rakefile +16 -7
- data/app/controllers/profiles_controller.rb +33 -33
- data/app/controllers/roles_controller.rb +3 -2
- data/app/models/concerns/enju_seed/enju_user.rb +27 -31
- data/app/models/concerns/master_model.rb +2 -13
- data/app/models/identity.rb +3 -3
- data/app/models/profile.rb +14 -14
- data/app/models/role.rb +11 -27
- data/app/models/user_has_role.rb +6 -3
- data/app/policies/user_export_file_policy.rb +21 -0
- data/app/policies/user_import_file_policy.rb +21 -0
- data/app/policies/user_import_result_policy.rb +21 -0
- data/app/views/profiles/show.html.erb +1 -1
- data/app/views/roles/_form.html.erb +1 -1
- data/app/views/roles/show.html.erb +6 -1
- data/db/migrate/041_create_roles.rb +6 -7
- data/db/migrate/20100606065209_create_user_has_roles.rb +3 -3
- data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +2 -2
- data/db/migrate/20140122054321_create_profiles.rb +5 -8
- data/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
- data/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +1 -1
- data/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +1 -1
- data/db/migrate/20150421023923_create_identities.rb +4 -6
- data/db/migrate/20151126005552_add_provider_to_identity.rb +2 -2
- data/db/migrate/20170114174536_add_profile_id_to_user.rb +5 -0
- data/lib/enju_seed/engine.rb +2 -3
- data/lib/enju_seed/localized_name.rb +1 -3
- data/lib/enju_seed/version.rb +1 -1
- data/lib/enju_seed.rb +2 -3
- data/lib/tasks/enju_seed_tasks.rake +4 -8
- data/spec/controllers/my_accounts_controller_spec.rb +45 -56
- data/spec/controllers/profiles_controller_spec.rb +147 -152
- data/spec/controllers/roles_controller_spec.rb +35 -35
- data/spec/dummy/Rakefile +1 -1
- data/spec/dummy/app/models/user.rb +3 -3
- data/spec/dummy/bin/rails +1 -1
- data/spec/dummy/bin/setup +10 -19
- data/spec/dummy/config/application.rb +1 -6
- data/spec/dummy/config/database.yml +70 -10
- data/spec/dummy/config/environments/development.rb +1 -1
- data/spec/dummy/config/environments/production.rb +3 -8
- data/spec/dummy/config/environments/test.rb +1 -1
- data/spec/dummy/config/initializers/assets.rb +4 -7
- data/spec/dummy/config/initializers/cookies_serializer.rb +0 -2
- data/spec/dummy/config/initializers/friendly_id.rb +75 -75
- data/spec/dummy/config/initializers/wrap_parameters.rb +2 -2
- data/spec/dummy/config/routes.rb +0 -4
- data/spec/dummy/config/secrets.yml +5 -15
- data/spec/dummy/config.ru +1 -2
- data/spec/dummy/db/migrate/001_create_agents.rb +7 -7
- data/spec/dummy/db/migrate/002_devise_create_users.rb +3 -4
- data/spec/dummy/db/migrate/005_create_manifestations.rb +4 -5
- data/spec/dummy/db/migrate/006_create_items.rb +3 -4
- data/spec/dummy/db/migrate/012_create_owns.rb +3 -5
- data/spec/dummy/db/migrate/015_create_creates.rb +3 -5
- data/spec/dummy/db/migrate/032_create_checkins.rb +1 -1
- data/spec/dummy/db/migrate/033_create_checkouts.rb +1 -1
- data/spec/dummy/db/migrate/035_create_reserves.rb +1 -1
- data/spec/dummy/db/migrate/047_create_produces.rb +3 -5
- data/spec/dummy/db/migrate/059_create_libraries.rb +8 -7
- data/spec/dummy/db/migrate/069_create_shelves.rb +3 -3
- data/spec/dummy/db/migrate/073_create_carrier_types.rb +2 -2
- data/spec/dummy/db/migrate/077_create_user_groups.rb +4 -4
- data/spec/dummy/db/migrate/080_create_library_groups.rb +6 -6
- 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 +2 -2
- data/spec/dummy/db/migrate/121_create_checked_items.rb +1 -1
- data/spec/dummy/db/migrate/124_create_bookstores.rb +3 -3
- data/spec/dummy/db/migrate/125_create_donates.rb +3 -3
- data/spec/dummy/db/migrate/127_create_use_restrictions.rb +1 -1
- data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +1 -1
- data/spec/dummy/db/migrate/130_create_request_status_types.rb +3 -3
- data/spec/dummy/db/migrate/131_create_request_types.rb +3 -3
- data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +1 -1
- 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/20080830154109_create_realizes.rb +3 -5
- data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +11 -0
- data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +2 -2
- data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +5 -3
- data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +3 -4
- 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/20081030023412_create_checkout_types.rb +1 -1
- data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +1 -1
- data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +1 -1
- data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +1 -1
- data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +1 -1
- data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +1 -1
- data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +1 -1
- data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.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/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/20091214131723_create_series_statements.rb +1 -1
- data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +4 -7
- data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +2 -2
- 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 +4 -6
- 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/20110301134521_add_expire_date_to_reserve.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/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +1 -1
- 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/20110621093332_remove_expire_date_from_reserve.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/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.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/20111129044509_add_pickup_location_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.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 -4
- 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/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/20120424103932_add_librarian_id_to_checked_item.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/20130303124821_add_retained_at_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.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/20130506175303_create_identifier_types.rb +1 -1
- data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +2 -3
- data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +1 -1
- data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +3 -3
- data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +3 -3
- data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +3 -2
- data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +4 -4
- data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +4 -4
- data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +5 -5
- data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +5 -5
- data/spec/dummy/db/migrate/20140529014410_create_item_transitions.rb +15 -0
- data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +1 -2
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +3 -3
- 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 -3
- 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 +2 -3
- data/spec/dummy/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +1 -1
- data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140821151023_create_colors.rb +4 -2
- 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/20141014065831_add_shelf_id_to_checkout.rb +1 -1
- data/spec/dummy/db/migrate/20141020120523_add_library_id_to_checkout.rb +1 -1
- data/spec/dummy/db/migrate/20141029131633_create_periodicals.rb +11 -0
- data/spec/dummy/db/migrate/20150106001709_create_demands.rb +1 -1
- data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20150302110310_add_attachment_id_to_manifestation.rb +7 -0
- data/spec/dummy/db/migrate/20150304183215_add_picture_id_to_picture_file.rb +7 -0
- data/spec/dummy/db/migrate/20150305025906_add_resource_import_id_to_resource_import_file.rb +7 -0
- data/spec/dummy/db/migrate/20150305030046_add_resource_export_id_to_resource_export_file.rb +8 -0
- data/spec/dummy/db/migrate/20150305031709_add_agent_import_id_to_agent_import_file.rb +7 -0
- data/spec/dummy/db/migrate/20150305105231_add_attachment_fingerprint_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20150420145354_add_attachment_to_carrier_type.rb +8 -0
- data/spec/dummy/db/migrate/20150420145420_add_attachment_to_content_type.rb +8 -0
- data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +4 -4
- 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 +11 -5
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +3 -20
- data/spec/dummy/db/migrate/20151216123621_create_doi_records.rb +12 -0
- data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +2 -1
- data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +2 -1
- data/spec/dummy/db/migrate/20160513000929_create_agent_names.rb +18 -0
- 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/20160703184619_add_most_recent_to_reserve_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_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/20160813191533_add_book_jacket_source_to_library_group.rb +5 -0
- 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/20160813191820_add_screenshot_generator_to_library_group.rb +5 -0
- 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/20161111175127_add_attachment_data_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20161111193255_add_attachment_data_to_carrier_type.rb +5 -0
- data/spec/dummy/db/migrate/20161111193346_add_attachment_data_to_content_type.rb +5 -0
- data/spec/dummy/db/migrate/20161112122706_add_attachment_data_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20161112122750_add_attachment_data_to_resource_export_file.rb +5 -0
- data/spec/dummy/db/migrate/20161112122814_add_attachment_data_to_agent_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20161114083857_add_image_data_to_picture_file.rb +5 -0
- data/spec/dummy/db/migrate/20161115184747_add_attachment_data_to_user_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20161115184756_add_attachment_data_to_user_export_file.rb +5 -0
- data/spec/dummy/db/schema.rb +401 -450
- data/spec/factories/profile.rb +8 -8
- data/spec/factories/user.rb +25 -22
- data/spec/factories/user_group.rb +1 -1
- data/spec/fixtures/libraries.yml +37 -37
- data/spec/fixtures/library_groups.yml +27 -19
- data/spec/fixtures/profiles.yml +27 -35
- data/spec/fixtures/roles.yml +12 -12
- data/spec/fixtures/user_groups.yml +20 -10
- data/spec/fixtures/user_has_roles.yml +2 -2
- data/spec/fixtures/users.yml +7 -0
- data/spec/models/profile_spec.rb +17 -18
- data/spec/models/role_spec.rb +17 -18
- data/spec/models/user_has_role_spec.rb +4 -5
- data/spec/models/user_spec.rb +14 -16
- data/spec/rails_helper.rb +4 -9
- data/spec/requests/profiles_spec.rb +3 -3
- data/spec/routing/profiles_routing_spec.rb +16 -18
- data/spec/routing/roles_routing_spec.rb +16 -18
- data/spec/routing/users_spec.rb +6 -7
- data/spec/spec_helper.rb +47 -49
- data/spec/support/controller_macros.rb +6 -6
- data/spec/views/my_accounts/show.html.erb_spec.rb +6 -6
- data/spec/views/profiles/edit.html.erb_spec.rb +7 -7
- data/spec/views/profiles/index.html.erb_spec.rb +3 -3
- data/spec/views/profiles/new.html.erb_spec.rb +5 -6
- data/spec/views/profiles/show.html.erb_spec.rb +4 -4
- metadata +297 -454
- data/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +0 -11
- data/lib/generators/enju_seed/setup/setup_generator.rb +0 -9
- data/lib/generators/enju_seed/setup/templates/db/fixtures/roles.yml +0 -38
- data/lib/generators/enju_seed/update/update_generator.rb +0 -9
- data/spec/dummy/app/models/application_record.rb +0 -3
- data/spec/dummy/bin/update +0 -29
- data/spec/dummy/bin/yarn +0 -11
- data/spec/dummy/config/cable.yml +0 -10
- data/spec/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/spec/dummy/config/puma.rb +0 -56
- data/spec/dummy/config/spring.rb +0 -6
- data/spec/dummy/config/webpack/development.js +0 -5
- data/spec/dummy/config/webpack/environment.js +0 -11
- data/spec/dummy/config/webpack/production.js +0 -5
- data/spec/dummy/config/webpack/test.js +0 -5
- data/spec/dummy/config/webpacker.yml +0 -95
- data/spec/dummy/db/migrate/149_create_message_templates.rb +0 -18
- data/spec/dummy/db/migrate/154_create_messages.rb +0 -23
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +0 -18
- data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +0 -21
- data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +0 -11
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +0 -6
- data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +0 -5
- data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +0 -5
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +0 -18
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +0 -18
- data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +0 -5
- data/spec/dummy/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +0 -5
- data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +0 -5
- data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +0 -9
- data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +0 -5
- data/spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.rb +0 -6
- data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +0 -9
- data/spec/dummy/db/migrate/20160820004638_add_attachment_attachment_to_carrier_types.rb +0 -11
- data/spec/dummy/db/migrate/20170116134107_create_issn_record_and_manifestations.rb +0 -11
- data/spec/dummy/db/migrate/20170116134120_create_isbn_record_and_manifestations.rb +0 -11
- data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +0 -5
- data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +0 -5
- data/spec/dummy/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +0 -5
- data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +0 -5
- data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +0 -5
- data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +0 -5
- data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107162659_add_constraints_to_most_recent_for_message_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107162711_add_constraints_to_most_recent_for_message_request_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20181026064038_add_login_banner_to_library_group.rb +0 -6
- data/spec/dummy/db/migrate/20181030072731_add_not_null_to_position_on_carrier_type.rb +0 -14
- data/spec/dummy/db/migrate/20181030074920_add_not_null_to_position_on_library.rb +0 -14
- data/spec/dummy/db/migrate/20190208135957_create_active_storage_tables.active_storage.rb +0 -27
- data/spec/dummy/db/migrate/20190311154610_create_periodicals.rb +0 -10
- data/spec/dummy/db/migrate/20190314151124_add_full_name_translations_to_create.rb +0 -7
- data/spec/dummy/package.json +0 -5
- data/spec/fixtures/message_requests.yml +0 -26
- data/spec/fixtures/message_templates.yml +0 -98
- data/spec/fixtures/messages.yml +0 -56
- data/spec/system/profiles_spec.rb +0 -39
- data/spec/views/roles/edit.html.erb_spec.rb +0 -18
- data/spec/views/roles/index.html.erb_spec.rb +0 -14
- data/spec/views/roles/new.html.erb_spec.rb +0 -18
- data/spec/views/roles/show.html.erb_spec.rb +0 -14
@@ -1,57 +1,57 @@
|
|
1
|
-
require '
|
1
|
+
require 'rails_helper'
|
2
2
|
|
3
3
|
describe RolesController do
|
4
4
|
fixtures :all
|
5
5
|
|
6
|
-
describe
|
7
|
-
describe
|
6
|
+
describe 'GET index' do
|
7
|
+
describe 'When logged in as Administrator' do
|
8
8
|
login_fixture_admin
|
9
9
|
|
10
|
-
it
|
10
|
+
it 'assigns all roles as @roles' do
|
11
11
|
get :index
|
12
12
|
expect(assigns(:roles)).to eq(Role.order(:position))
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
describe
|
16
|
+
describe 'When logged in as Librarian' do
|
17
17
|
login_fixture_librarian
|
18
18
|
|
19
|
-
it
|
19
|
+
it 'assigns all roles as @roles' do
|
20
20
|
get :index
|
21
21
|
expect(assigns(:roles)).to eq(Role.order(:position))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
describe
|
25
|
+
describe 'When logged in as User' do
|
26
26
|
login_fixture_user
|
27
27
|
|
28
|
-
it
|
28
|
+
it 'assigns all roles as @roles' do
|
29
29
|
get :index
|
30
30
|
expect(assigns(:roles)).to be_nil
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
describe
|
35
|
-
it
|
34
|
+
describe 'When not logged in' do
|
35
|
+
it 'assigns all roles as @roles' do
|
36
36
|
get :index
|
37
37
|
expect(assigns(:roles)).to be_nil
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
describe
|
43
|
-
describe
|
42
|
+
describe 'GET show' do
|
43
|
+
describe 'When logged in as Administrator' do
|
44
44
|
login_fixture_admin
|
45
45
|
|
46
|
-
it
|
46
|
+
it 'assigns the requested role as @role' do
|
47
47
|
role = Role.find(1)
|
48
48
|
get :show, params: { id: role.id }
|
49
49
|
expect(assigns(:role)).to eq(role)
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
describe
|
54
|
-
it
|
53
|
+
describe 'When not logged in' do
|
54
|
+
it 'assigns the requested role as @role' do
|
55
55
|
role = Role.find(1)
|
56
56
|
get :show, params: { id: role.id }
|
57
57
|
expect(assigns(:role)).to eq(role)
|
@@ -59,19 +59,19 @@ describe RolesController do
|
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
|
-
describe
|
63
|
-
describe
|
62
|
+
describe 'GET edit' do
|
63
|
+
describe 'When logged in as Administrator' do
|
64
64
|
login_fixture_admin
|
65
65
|
|
66
|
-
it
|
66
|
+
it 'assigns the requested role as @role' do
|
67
67
|
role = Role.find(1)
|
68
68
|
get :edit, params: { id: role.id }
|
69
69
|
expect(assigns(:role)).to eq(role)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
-
describe
|
74
|
-
it
|
73
|
+
describe 'When not logged in' do
|
74
|
+
it 'should not assign the requested role as @role' do
|
75
75
|
role = Role.find(1)
|
76
76
|
get :edit, params: { id: role.id }
|
77
77
|
expect(response).to redirect_to(new_user_session_url)
|
@@ -79,54 +79,54 @@ describe RolesController do
|
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
|
-
describe
|
82
|
+
describe 'PUT update' do
|
83
83
|
before(:each) do
|
84
84
|
@role = Role.find(1)
|
85
85
|
@attrs = { display_name: 'guest user' }
|
86
86
|
@invalid_attrs = { name: '' }
|
87
87
|
end
|
88
88
|
|
89
|
-
describe
|
89
|
+
describe 'When logged in as Administrator' do
|
90
90
|
login_fixture_admin
|
91
91
|
|
92
|
-
describe
|
93
|
-
it
|
92
|
+
describe 'with valid params' do
|
93
|
+
it 'updates the requested role' do
|
94
94
|
put :update, params: { id: @role.id, role: @attrs }
|
95
95
|
end
|
96
96
|
|
97
|
-
it
|
97
|
+
it 'assigns the requested role as @role' do
|
98
98
|
put :update, params: { id: @role.id, role: @attrs }
|
99
99
|
expect(assigns(:role)).to eq(@role)
|
100
100
|
end
|
101
101
|
|
102
|
-
it
|
102
|
+
it 'moves its position when specified' do
|
103
103
|
put :update, params: { id: @role.id, role: @attrs, move: 'lower' }
|
104
104
|
expect(response).to redirect_to(roles_url)
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
-
describe
|
109
|
-
it
|
108
|
+
describe 'with invalid params' do
|
109
|
+
it 'assigns the requested role as @role' do
|
110
110
|
put :update, params: { id: @role.id, role: @invalid_attrs }
|
111
|
-
expect(response).to render_template(
|
111
|
+
expect(response).to render_template('edit')
|
112
112
|
end
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
|
-
describe
|
117
|
-
describe
|
118
|
-
it
|
116
|
+
describe 'When not logged in' do
|
117
|
+
describe 'with valid params' do
|
118
|
+
it 'updates the requested role' do
|
119
119
|
put :update, params: { id: @role.id, role: @attrs }
|
120
120
|
end
|
121
121
|
|
122
|
-
it
|
122
|
+
it 'should be forbidden' do
|
123
123
|
put :update, params: { id: @role.id, role: @attrs }
|
124
124
|
expect(response).to redirect_to(new_user_session_url)
|
125
125
|
end
|
126
126
|
end
|
127
127
|
|
128
|
-
describe
|
129
|
-
it
|
128
|
+
describe 'with invalid params' do
|
129
|
+
it 'assigns the requested role as @role' do
|
130
130
|
put :update, params: { id: @role.id, role: @invalid_attrs }
|
131
131
|
expect(response).to redirect_to(new_user_session_url)
|
132
132
|
end
|
data/spec/dummy/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
2
2
|
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
3
3
|
|
4
|
-
|
4
|
+
require File.expand_path('../config/application', __FILE__)
|
5
5
|
|
6
6
|
Rails.application.load_tasks
|
@@ -1,7 +1,7 @@
|
|
1
|
-
class User <
|
1
|
+
class User < ActiveRecord::Base
|
2
2
|
devise :database_authenticatable, #:registerable,
|
3
|
-
|
4
|
-
|
3
|
+
:recoverable, :rememberable, :trackable, # , :validatable
|
4
|
+
:lockable, lock_strategy: :none, unlock_strategy: :none
|
5
5
|
|
6
6
|
include EnjuSeed::EnjuUser
|
7
7
|
end
|
data/spec/dummy/bin/rails
CHANGED
data/spec/dummy/bin/setup
CHANGED
@@ -1,38 +1,29 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'pathname'
|
3
|
-
require 'fileutils'
|
4
|
-
include FileUtils
|
5
3
|
|
6
4
|
# path to your application root.
|
7
5
|
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
8
6
|
|
9
|
-
|
10
|
-
system(*args) || abort("\n== Command #{args} failed ==")
|
11
|
-
end
|
12
|
-
|
13
|
-
chdir APP_ROOT do
|
7
|
+
Dir.chdir APP_ROOT do
|
14
8
|
# This script is a starting point to setup your application.
|
15
|
-
# Add necessary setup steps to this file
|
9
|
+
# Add necessary setup steps to this file:
|
16
10
|
|
17
11
|
puts '== Installing dependencies =='
|
18
|
-
system
|
19
|
-
system
|
20
|
-
|
21
|
-
# Install JavaScript dependencies if using Yarn
|
22
|
-
# system('bin/yarn')
|
23
|
-
|
12
|
+
system 'gem install bundler --conservative'
|
13
|
+
system 'bundle check || bundle install'
|
24
14
|
|
25
15
|
# puts "\n== Copying sample files =="
|
26
|
-
# unless File.exist?(
|
27
|
-
# cp
|
16
|
+
# unless File.exist?("config/database.yml")
|
17
|
+
# system "cp config/database.yml.sample config/database.yml"
|
28
18
|
# end
|
29
19
|
|
30
20
|
puts "\n== Preparing database =="
|
31
|
-
system
|
21
|
+
system 'bin/rake db:setup'
|
32
22
|
|
33
23
|
puts "\n== Removing old logs and tempfiles =="
|
34
|
-
system
|
24
|
+
system 'rm -f log/*'
|
25
|
+
system 'rm -rf tmp/cache'
|
35
26
|
|
36
27
|
puts "\n== Restarting application server =="
|
37
|
-
system
|
28
|
+
system 'touch tmp/restart.txt'
|
38
29
|
end
|
@@ -3,17 +3,12 @@ require_relative 'boot'
|
|
3
3
|
require 'rails/all'
|
4
4
|
|
5
5
|
Bundler.require(*Rails.groups)
|
6
|
-
require
|
7
|
-
require "enju_leaf"
|
6
|
+
require 'enju_seed'
|
8
7
|
|
9
8
|
module Dummy
|
10
9
|
class Application < Rails::Application
|
11
|
-
# Initialize configuration defaults for originally generated Rails version.
|
12
|
-
config.load_defaults 5.2
|
13
|
-
|
14
10
|
# Settings in config/environments/* take precedence over those specified here.
|
15
11
|
# Application configuration should go into files in config/initializers
|
16
12
|
# -- all .rb files in that directory are automatically loaded.
|
17
13
|
end
|
18
14
|
end
|
19
|
-
|
@@ -1,25 +1,85 @@
|
|
1
|
-
#
|
2
|
-
# gem install sqlite3
|
1
|
+
# PostgreSQL. Versions 9.1 and up are supported.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
# gem
|
3
|
+
# Install the pg driver:
|
4
|
+
# gem install pg
|
5
|
+
# On OS X with Homebrew:
|
6
|
+
# gem install pg -- --with-pg-config=/usr/local/bin/pg_config
|
7
|
+
# On OS X with MacPorts:
|
8
|
+
# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
|
9
|
+
# On Windows:
|
10
|
+
# gem install pg
|
11
|
+
# Choose the win32 build.
|
12
|
+
# Install PostgreSQL and put its /bin directory on your path.
|
13
|
+
#
|
14
|
+
# Configure Using Gemfile
|
15
|
+
# gem 'pg'
|
6
16
|
#
|
7
17
|
default: &default
|
8
|
-
adapter:
|
9
|
-
|
10
|
-
|
18
|
+
adapter: postgresql
|
19
|
+
encoding: unicode
|
20
|
+
# For details on connection pooling, see rails configuration guide
|
21
|
+
# http://guides.rubyonrails.org/configuring.html#database-pooling
|
22
|
+
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
11
23
|
|
12
24
|
development:
|
13
25
|
<<: *default
|
14
|
-
database:
|
26
|
+
database: enju_seed_dummy_development
|
27
|
+
|
28
|
+
# The specified database role being used to connect to postgres.
|
29
|
+
# To create additional roles in postgres see `$ createuser --help`.
|
30
|
+
# When left blank, postgres will use the default role. This is
|
31
|
+
# the same name as the operating system user that initialized the database.
|
32
|
+
#username: dummy
|
33
|
+
|
34
|
+
# The password associated with the postgres role (username).
|
35
|
+
#password:
|
36
|
+
|
37
|
+
# Connect on a TCP socket. Omitted by default since the client uses a
|
38
|
+
# domain socket that doesn't need configuration. Windows does not have
|
39
|
+
# domain sockets, so uncomment these lines.
|
40
|
+
#host: localhost
|
41
|
+
|
42
|
+
# The TCP port the server listens on. Defaults to 5432.
|
43
|
+
# If your server runs on a different port number, change accordingly.
|
44
|
+
#port: 5432
|
45
|
+
|
46
|
+
# Schema search path. The server defaults to $user,public
|
47
|
+
#schema_search_path: myapp,sharedapp,public
|
48
|
+
|
49
|
+
# Minimum log levels, in increasing order:
|
50
|
+
# debug5, debug4, debug3, debug2, debug1,
|
51
|
+
# log, notice, warning, error, fatal, and panic
|
52
|
+
# Defaults to warning.
|
53
|
+
#min_messages: notice
|
15
54
|
|
16
55
|
# Warning: The database defined as "test" will be erased and
|
17
56
|
# re-generated from your development database when you run "rake".
|
18
57
|
# Do not set this db to the same as development or production.
|
19
58
|
test:
|
20
59
|
<<: *default
|
21
|
-
database:
|
60
|
+
database: enju_seed_dummy_test
|
22
61
|
|
62
|
+
# As with config/secrets.yml, you never want to store sensitive information,
|
63
|
+
# like your database password, in your source code. If your source code is
|
64
|
+
# ever seen by anyone, they now have access to your database.
|
65
|
+
#
|
66
|
+
# Instead, provide the password as a unix environment variable when you boot
|
67
|
+
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
|
68
|
+
# for a full rundown on how to provide these environment variables in a
|
69
|
+
# production deployment.
|
70
|
+
#
|
71
|
+
# On Heroku and other platform providers, you may have a full connection URL
|
72
|
+
# available as an environment variable. For example:
|
73
|
+
#
|
74
|
+
# DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase"
|
75
|
+
#
|
76
|
+
# You can use this database configuration with:
|
77
|
+
#
|
78
|
+
# production:
|
79
|
+
# url: <%= ENV['DATABASE_URL'] %>
|
80
|
+
#
|
23
81
|
production:
|
24
82
|
<<: *default
|
25
|
-
database:
|
83
|
+
database: enju_seed_dummy_production
|
84
|
+
username: dummy
|
85
|
+
password: <%= ENV['DUMMY_DATABASE_PASSWORD'] %>
|
@@ -18,7 +18,7 @@ Rails.application.configure do
|
|
18
18
|
|
19
19
|
config.cache_store = :memory_store
|
20
20
|
config.public_file_server.headers = {
|
21
|
-
'Cache-Control' =>
|
21
|
+
'Cache-Control' => 'public, max-age=172800'
|
22
22
|
}
|
23
23
|
else
|
24
24
|
config.action_controller.perform_caching = false
|
@@ -14,11 +14,6 @@ Rails.application.configure do
|
|
14
14
|
config.consider_all_requests_local = false
|
15
15
|
config.action_controller.perform_caching = true
|
16
16
|
|
17
|
-
# Attempt to read encrypted secrets from `config/secrets.yml.enc`.
|
18
|
-
# Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
|
19
|
-
# `config/secrets.yml.key`.
|
20
|
-
config.read_encrypted_secrets = true
|
21
|
-
|
22
17
|
# Disable serving static files from the `/public` folder by default since
|
23
18
|
# Apache or NGINX already handles this.
|
24
19
|
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
@@ -52,7 +47,7 @@ Rails.application.configure do
|
|
52
47
|
config.log_level = :debug
|
53
48
|
|
54
49
|
# Prepend all log lines with the following tags.
|
55
|
-
config.log_tags = [
|
50
|
+
config.log_tags = [:request_id]
|
56
51
|
|
57
52
|
# Use a different cache store in production.
|
58
53
|
# config.cache_store = :mem_cache_store
|
@@ -80,10 +75,10 @@ Rails.application.configure do
|
|
80
75
|
# require 'syslog/logger'
|
81
76
|
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
82
77
|
|
83
|
-
if ENV[
|
78
|
+
if ENV['RAILS_LOG_TO_STDOUT'].present?
|
84
79
|
logger = ActiveSupport::Logger.new(STDOUT)
|
85
80
|
logger.formatter = config.log_formatter
|
86
|
-
config.logger
|
81
|
+
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
87
82
|
end
|
88
83
|
|
89
84
|
# Do not dump schema after migrations.
|
@@ -15,7 +15,7 @@ Rails.application.configure do
|
|
15
15
|
# Configure public file server for tests with Cache-Control for performance.
|
16
16
|
config.public_file_server.enabled = true
|
17
17
|
config.public_file_server.headers = {
|
18
|
-
'Cache-Control' =>
|
18
|
+
'Cache-Control' => 'public, max-age=3600'
|
19
19
|
}
|
20
20
|
|
21
21
|
# Show full error reports and disable caching.
|
@@ -3,13 +3,10 @@
|
|
3
3
|
# Version of your assets, change this if you want to expire all your assets.
|
4
4
|
Rails.application.config.assets.version = '1.0'
|
5
5
|
|
6
|
-
# Add additional assets to the asset load path
|
6
|
+
# Add additional assets to the asset load path
|
7
7
|
# Rails.application.config.assets.paths << Emoji.images_path
|
8
|
-
# Add Yarn node_modules folder to the asset load path.
|
9
|
-
Rails.application.config.assets.paths << Rails.root.join('node_modules')
|
10
8
|
|
11
9
|
# Precompile additional assets.
|
12
|
-
# application.js, application.css, and all non-JS/CSS in
|
13
|
-
#
|
14
|
-
|
15
|
-
Rails.application.config.assets.precompile += %w( icons/*.png )
|
10
|
+
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
11
|
+
# Rails.application.config.assets.precompile += %w( search.js )
|
12
|
+
Rails.application.config.assets.precompile += %w(*.png icons/*.png *.gif)
|
@@ -10,81 +10,81 @@
|
|
10
10
|
# http://norman.github.io/friendly_id/file.Guide.html
|
11
11
|
|
12
12
|
if Rails::VERSION::MAJOR == 4
|
13
|
-
FriendlyId.defaults do |config|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
FriendlyId.defaults do |config|
|
14
|
+
# ## Reserved Words
|
15
|
+
#
|
16
|
+
# Some words could conflict with Rails's routes when used as slugs, or are
|
17
|
+
# undesirable to allow as slugs. Edit this list as needed for your app.
|
18
|
+
config.use :reserved
|
19
19
|
|
20
|
-
|
21
|
-
|
20
|
+
config.reserved_words = %w(new edit index session login logout users admin
|
21
|
+
stylesheets assets javascripts images)
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
end
|
23
|
+
# ## Friendly Finders
|
24
|
+
#
|
25
|
+
# Uncomment this to use friendly finders in all models. By default, if
|
26
|
+
# you wish to find a record by its friendly id, you must do:
|
27
|
+
#
|
28
|
+
# MyModel.friendly.find('foo')
|
29
|
+
#
|
30
|
+
# If you uncomment this, you can do:
|
31
|
+
#
|
32
|
+
# MyModel.find('foo')
|
33
|
+
#
|
34
|
+
# This is significantly more convenient but may not be appropriate for
|
35
|
+
# all applications, so you must explicity opt-in to this behavior. You can
|
36
|
+
# always also configure it on a per-model basis if you prefer.
|
37
|
+
#
|
38
|
+
# Something else to consider is that using the :finders addon boosts
|
39
|
+
# performance because it will avoid Rails-internal code that makes runtime
|
40
|
+
# calls to `Module.extend`.
|
41
|
+
#
|
42
|
+
config.use :finders
|
43
|
+
#
|
44
|
+
# ## Slugs
|
45
|
+
#
|
46
|
+
# Most applications will use the :slugged module everywhere. If you wish
|
47
|
+
# to do so, uncomment the following line.
|
48
|
+
#
|
49
|
+
# config.use :slugged
|
50
|
+
#
|
51
|
+
# By default, FriendlyId's :slugged addon expects the slug column to be named
|
52
|
+
# 'slug', but you can change it if you wish.
|
53
|
+
#
|
54
|
+
# config.slug_column = 'slug'
|
55
|
+
#
|
56
|
+
# When FriendlyId can not generate a unique ID from your base method, it appends
|
57
|
+
# a UUID, separated by a single dash. You can configure the character used as the
|
58
|
+
# separator. If you're upgrading from FriendlyId 4, you may wish to replace this
|
59
|
+
# with two dashes.
|
60
|
+
#
|
61
|
+
# config.sequence_separator = '-'
|
62
|
+
#
|
63
|
+
# ## Tips and Tricks
|
64
|
+
#
|
65
|
+
# ### Controlling when slugs are generated
|
66
|
+
#
|
67
|
+
# As of FriendlyId 5.0, new slugs are generated only when the slug field is
|
68
|
+
# nil, but if you're using a column as your base method can change this
|
69
|
+
# behavior by overriding the `should_generate_new_friendly_id` method that
|
70
|
+
# FriendlyId adds to your model. The change below makes FriendlyId 5.0 behave
|
71
|
+
# more like 4.0.
|
72
|
+
#
|
73
|
+
# config.use Module.new {
|
74
|
+
# def should_generate_new_friendly_id?
|
75
|
+
# slug.blank? || <your_column_name_here>_changed?
|
76
|
+
# end
|
77
|
+
# }
|
78
|
+
#
|
79
|
+
# FriendlyId uses Rails's `parameterize` method to generate slugs, but for
|
80
|
+
# languages that don't use the Roman alphabet, that's not usually suffient. Here
|
81
|
+
# we use the Babosa library to transliterate Russian Cyrillic slugs to ASCII. If
|
82
|
+
# you use this, don't forget to add "babosa" to your Gemfile.
|
83
|
+
#
|
84
|
+
# config.use Module.new {
|
85
|
+
# def normalize_friendly_id(text)
|
86
|
+
# text.to_slug.normalize! :transliterations => [:russian, :latin]
|
87
|
+
# end
|
88
|
+
# }
|
89
|
+
end
|
90
90
|
end
|
@@ -5,10 +5,10 @@
|
|
5
5
|
|
6
6
|
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
7
|
ActiveSupport.on_load(:action_controller) do
|
8
|
-
wrap_parameters format: [:json]
|
8
|
+
wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
|
9
9
|
end
|
10
10
|
|
11
11
|
# To enable root element in JSON for ActiveRecord objects.
|
12
12
|
# ActiveSupport.on_load(:active_record) do
|
13
|
-
#
|
13
|
+
# self.include_root_in_json = true
|
14
14
|
# end
|
data/spec/dummy/config/routes.rb
CHANGED
@@ -1,8 +1,4 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
-
as :user do
|
3
|
-
get 'users/edit' => 'devise/registrations#edit', as: 'edit_user_registration'
|
4
|
-
put 'users' => 'devise/registrations#update', as: 'user_registration'
|
5
|
-
end
|
6
2
|
devise_for :users
|
7
3
|
# The priority is based upon order of creation: first created -> highest priority.
|
8
4
|
# See how all your routes lay out with "rake routes".
|
@@ -5,28 +5,18 @@
|
|
5
5
|
|
6
6
|
# Make sure the secret is at least 30 characters and all random,
|
7
7
|
# no regular words or you'll be exposed to dictionary attacks.
|
8
|
-
# You can use `
|
8
|
+
# You can use `rake secret` to generate a secure secret key.
|
9
9
|
|
10
10
|
# Make sure the secrets in this file are kept private
|
11
11
|
# if you're sharing your code publicly.
|
12
12
|
|
13
|
-
# Shared secrets are available across all environments.
|
14
|
-
|
15
|
-
# shared:
|
16
|
-
# api_key: a1B2c3D4e5F6
|
17
|
-
|
18
|
-
# Environmental secrets are only available for that specific environment.
|
19
|
-
|
20
13
|
development:
|
21
|
-
secret_key_base:
|
14
|
+
secret_key_base: 381c86b068b51045a9b41efc5182d513f61fd974fe695dc2d3f9173c2fd6cd685d143a733034013e46f56019c2c0ee0db8eb4dac1d4439ed3e31b7513e040f57
|
22
15
|
|
23
16
|
test:
|
24
|
-
secret_key_base:
|
25
|
-
|
26
|
-
# Do not keep production secrets in the unencrypted secrets file.
|
27
|
-
# Instead, either read values from the environment.
|
28
|
-
# Or, use `bin/rails secrets:setup` to configure encrypted secrets
|
29
|
-
# and move the `production:` environment over there.
|
17
|
+
secret_key_base: e1970749e8f8699bbff17cf36399c0eb992ed1cffc511aed6173a345eb3b9479ce1ea359cc3738bd81a2c6bc7ad3ada4903bd7026e178a4b6e5dd13cf48241cc
|
30
18
|
|
19
|
+
# Do not keep production secrets in the repository,
|
20
|
+
# instead read values from the environment.
|
31
21
|
production:
|
32
22
|
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|