enju_seed 0.4.0.beta.1 → 0.4.0.beta.2

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.
Files changed (331) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +6 -9
  3. data/Rakefile +7 -16
  4. data/app/controllers/profiles_controller.rb +30 -30
  5. data/app/controllers/roles_controller.rb +1 -2
  6. data/app/models/concerns/enju_seed/enju_user.rb +27 -23
  7. data/app/models/concerns/master_model.rb +3 -3
  8. data/app/models/profile.rb +13 -12
  9. data/app/models/role.rb +4 -4
  10. data/app/models/user_has_role.rb +2 -5
  11. data/app/views/my_accounts/_edit_credential.html.erb +9 -9
  12. data/app/views/profiles/_edit_credential.html.erb +6 -6
  13. data/app/views/profiles/new.html.erb +3 -3
  14. data/app/views/profiles/show.html.erb +1 -1
  15. data/app/views/roles/index.html.erb +1 -1
  16. data/app/views/roles/show.html.erb +2 -7
  17. data/db/migrate/041_create_roles.rb +7 -6
  18. data/db/migrate/20100606065209_create_user_has_roles.rb +3 -3
  19. data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +2 -2
  20. data/db/migrate/20140122054321_create_profiles.rb +8 -5
  21. data/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +11 -0
  22. data/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
  23. data/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +1 -1
  24. data/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +1 -1
  25. data/db/migrate/20190630151446_add_display_name_translations_to_role.rb +5 -0
  26. data/db/migrate/20190713114940_add_profile_id_to_user.rb +5 -0
  27. data/db/migrate/20190713115451_add_full_name_translations_to_profile.rb +5 -0
  28. data/lib/enju_seed.rb +2 -2
  29. data/lib/enju_seed/engine.rb +2 -2
  30. data/lib/enju_seed/version.rb +1 -1
  31. data/lib/generators/enju_seed/setup/setup_generator.rb +9 -0
  32. data/lib/generators/enju_seed/setup/templates/db/fixtures/roles.yml +38 -0
  33. data/lib/generators/enju_seed/update/update_generator.rb +9 -0
  34. data/lib/tasks/enju_seed_tasks.rake +8 -4
  35. data/spec/controllers/my_accounts_controller_spec.rb +56 -45
  36. data/spec/controllers/profiles_controller_spec.rb +144 -147
  37. data/spec/controllers/roles_controller_spec.rb +35 -35
  38. data/spec/dummy/Rakefile +1 -1
  39. data/spec/dummy/app/models/application_record.rb +3 -0
  40. data/spec/dummy/app/models/user.rb +2 -2
  41. data/spec/dummy/bin/bundle +1 -1
  42. data/spec/dummy/bin/rails +1 -1
  43. data/spec/dummy/bin/setup +19 -12
  44. data/spec/dummy/bin/update +31 -0
  45. data/spec/dummy/bin/yarn +11 -0
  46. data/spec/dummy/config.ru +2 -1
  47. data/spec/dummy/config/application.rb +6 -1
  48. data/spec/dummy/config/cable.yml +10 -0
  49. data/spec/dummy/config/database.yml +3 -2
  50. data/spec/dummy/config/environments/development.rb +1 -1
  51. data/spec/dummy/config/environments/production.rb +8 -3
  52. data/spec/dummy/config/environments/test.rb +1 -1
  53. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  54. data/spec/dummy/config/initializers/assets.rb +7 -4
  55. data/spec/dummy/config/initializers/cookies_serializer.rb +2 -0
  56. data/spec/dummy/config/initializers/friendly_id.rb +75 -75
  57. data/spec/dummy/config/initializers/wrap_parameters.rb +2 -2
  58. data/spec/dummy/config/puma.rb +56 -0
  59. data/spec/dummy/config/routes.rb +4 -0
  60. data/spec/dummy/config/secrets.yml +15 -5
  61. data/spec/dummy/config/spring.rb +6 -0
  62. data/spec/dummy/db/migrate/001_create_agents.rb +7 -7
  63. data/spec/dummy/db/migrate/002_devise_create_users.rb +4 -3
  64. data/spec/dummy/db/migrate/005_create_manifestations.rb +5 -4
  65. data/spec/dummy/db/migrate/006_create_items.rb +4 -3
  66. data/spec/dummy/db/migrate/012_create_owns.rb +5 -3
  67. data/spec/dummy/db/migrate/015_create_creates.rb +5 -3
  68. data/spec/dummy/db/migrate/032_create_checkins.rb +1 -1
  69. data/spec/dummy/db/migrate/033_create_checkouts.rb +1 -1
  70. data/spec/dummy/db/migrate/035_create_reserves.rb +1 -1
  71. data/spec/dummy/db/migrate/047_create_produces.rb +5 -3
  72. data/spec/dummy/db/migrate/059_create_libraries.rb +7 -8
  73. data/spec/dummy/db/migrate/069_create_shelves.rb +3 -3
  74. data/spec/dummy/db/migrate/073_create_carrier_types.rb +2 -2
  75. data/spec/dummy/db/migrate/077_create_user_groups.rb +4 -4
  76. data/spec/dummy/db/migrate/080_create_library_groups.rb +6 -6
  77. data/spec/dummy/db/migrate/112_create_frequencies.rb +2 -2
  78. data/spec/dummy/db/migrate/117_create_form_of_works.rb +2 -2
  79. data/spec/dummy/db/migrate/120_create_baskets.rb +2 -2
  80. data/spec/dummy/db/migrate/121_create_checked_items.rb +1 -1
  81. data/spec/dummy/db/migrate/124_create_bookstores.rb +3 -3
  82. data/spec/dummy/db/migrate/125_create_donates.rb +3 -3
  83. data/spec/dummy/db/migrate/127_create_use_restrictions.rb +1 -1
  84. data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +1 -1
  85. data/spec/dummy/db/migrate/130_create_request_status_types.rb +3 -3
  86. data/spec/dummy/db/migrate/131_create_request_types.rb +3 -3
  87. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +1 -1
  88. data/spec/dummy/db/migrate/133_create_agent_merges.rb +2 -2
  89. data/spec/dummy/db/migrate/134_create_agent_merge_lists.rb +1 -1
  90. data/spec/dummy/db/migrate/149_create_message_templates.rb +18 -0
  91. data/spec/dummy/db/migrate/154_create_messages.rb +23 -0
  92. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +18 -0
  93. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +5 -3
  94. data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +2 -2
  95. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +3 -5
  96. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +4 -3
  97. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +6 -6
  98. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +5 -5
  99. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +6 -6
  100. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +2 -2
  101. data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +1 -1
  102. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -1
  103. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +1 -1
  104. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +1 -1
  105. data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +1 -1
  106. data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +1 -1
  107. data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +1 -1
  108. data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +1 -1
  109. data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +1 -1
  110. data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +1 -1
  111. data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +1 -1
  112. data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +1 -1
  113. data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +1 -1
  114. data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +1 -1
  115. data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +1 -1
  116. data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +1 -1
  117. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +2 -2
  118. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +2 -2
  119. data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +2 -2
  120. data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +21 -0
  121. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +1 -1
  122. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +2 -2
  123. data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +1 -1
  124. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +7 -4
  125. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +2 -2
  126. data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +1 -1
  127. data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +1 -1
  128. data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +1 -1
  129. data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +6 -4
  130. data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +1 -1
  131. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +2 -2
  132. data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +1 -1
  133. data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +1 -1
  134. data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +1 -1
  135. data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +1 -1
  136. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +2 -2
  137. data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +1 -1
  138. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +1 -1
  139. data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +1 -1
  140. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +2 -2
  141. data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +1 -1
  142. data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +1 -1
  143. data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +1 -1
  144. data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +1 -1
  145. data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +1 -1
  146. data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +1 -1
  147. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
  148. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +1 -1
  149. data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +11 -0
  150. data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +1 -1
  151. data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +1 -1
  152. data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +1 -1
  153. data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +1 -1
  154. data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +1 -1
  155. data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +1 -1
  156. data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +1 -1
  157. data/spec/dummy/db/migrate/20111129044509_add_pickup_location_to_reserve.rb +1 -1
  158. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +1 -1
  159. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
  160. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +1 -1
  161. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +1 -1
  162. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +1 -1
  163. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +2 -2
  164. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +4 -4
  165. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +1 -1
  166. data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +1 -1
  167. data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +1 -1
  168. data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +1 -1
  169. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +1 -1
  170. data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +5 -0
  171. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +5 -0
  172. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +1 -1
  173. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +1 -1
  174. data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +1 -1
  175. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +2 -2
  176. data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +1 -1
  177. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +1 -1
  178. data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +1 -1
  179. data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +1 -1
  180. data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +1 -1
  181. data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
  182. data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +1 -1
  183. data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +1 -1
  184. data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +1 -1
  185. data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +1 -1
  186. data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +1 -1
  187. data/spec/dummy/db/migrate/20130506175303_create_identifier_types.rb +1 -1
  188. data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +3 -2
  189. data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
  190. data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +1 -1
  191. data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +1 -1
  192. data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +3 -3
  193. data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +3 -3
  194. data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +3 -3
  195. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +18 -0
  196. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +18 -0
  197. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +3 -3
  198. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +3 -3
  199. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +3 -3
  200. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +2 -3
  201. data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +4 -4
  202. data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +4 -4
  203. data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +5 -5
  204. data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +5 -5
  205. data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +2 -1
  206. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +3 -3
  207. data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +1 -1
  208. data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +1 -1
  209. data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +1 -1
  210. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +3 -2
  211. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +2 -2
  212. data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +1 -1
  213. data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +2 -2
  214. data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +2 -2
  215. data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +1 -1
  216. data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +3 -2
  217. data/spec/dummy/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +1 -1
  218. data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +1 -1
  219. data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +1 -1
  220. data/spec/dummy/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
  221. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +2 -4
  222. data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +5 -0
  223. data/spec/dummy/db/migrate/20140823083524_add_extent_to_manifestation.rb +1 -1
  224. data/spec/dummy/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +1 -1
  225. data/spec/dummy/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +1 -1
  226. data/spec/dummy/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +1 -1
  227. data/spec/dummy/db/migrate/20141020120523_add_library_id_to_checkout.rb +1 -1
  228. data/spec/dummy/db/migrate/20150106001709_create_demands.rb +1 -1
  229. data/spec/dummy/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +5 -0
  230. data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +2 -2
  231. data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +5 -0
  232. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +4 -4
  233. data/spec/dummy/db/migrate/20151125004028_add_profile_id_to_agent.rb +1 -1
  234. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +5 -3
  235. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +20 -3
  236. data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +1 -1
  237. data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +1 -1
  238. data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +1 -1
  239. data/spec/dummy/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +1 -1
  240. data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +1 -1
  241. data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +1 -1
  242. data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +1 -1
  243. data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +1 -1
  244. data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +9 -0
  245. data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +5 -0
  246. data/spec/dummy/db/migrate/20160813191647_add_max_number_of_results_to_library_group.rb +1 -1
  247. data/spec/dummy/db/migrate/20160813191733_add_family_name_first_to_library_group.rb +1 -1
  248. data/spec/dummy/db/migrate/20160813192542_add_pub_year_facet_range_interval_to_library_group.rb +1 -1
  249. data/spec/dummy/db/migrate/20160813203039_add_user_id_to_library_group.rb +1 -1
  250. data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +5 -0
  251. data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +5 -0
  252. data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +5 -0
  253. data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +5 -0
  254. data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +5 -0
  255. data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +13 -0
  256. data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +13 -0
  257. data/spec/dummy/db/migrate/20190630113817_add_display_name_translations_to_library_group.rb +12 -0
  258. data/spec/dummy/db/migrate/20190630115523_add_login_banner_translations_to_library_group.rb +6 -0
  259. data/spec/dummy/db/schema.rb +454 -492
  260. data/spec/dummy/db/test.sqlite3 +0 -0
  261. data/spec/dummy/package.json +5 -0
  262. data/spec/factories/profile.rb +8 -8
  263. data/spec/factories/user.rb +22 -25
  264. data/spec/factories/user_group.rb +1 -1
  265. data/spec/fixtures/libraries.yml +34 -33
  266. data/spec/fixtures/library_groups.yml +27 -14
  267. data/spec/fixtures/profiles.yml +36 -27
  268. data/spec/fixtures/roles.yml +8 -7
  269. data/spec/fixtures/user_groups.yml +11 -10
  270. data/spec/fixtures/user_has_roles.yml +2 -2
  271. data/spec/fixtures/users.yml +0 -7
  272. data/spec/models/profile_spec.rb +19 -17
  273. data/spec/models/role_spec.rb +13 -11
  274. data/spec/models/user_has_role_spec.rb +5 -4
  275. data/spec/models/user_spec.rb +16 -14
  276. data/spec/rails_helper.rb +14 -2
  277. data/spec/requests/profiles_spec.rb +3 -3
  278. data/spec/routing/profiles_routing_spec.rb +18 -16
  279. data/spec/routing/roles_routing_spec.rb +18 -16
  280. data/spec/routing/users_spec.rb +7 -6
  281. data/spec/spec_helper.rb +49 -47
  282. data/spec/support/controller_macros.rb +6 -6
  283. data/spec/system/profiles_spec.rb +39 -0
  284. data/spec/views/my_accounts/show.html.erb_spec.rb +6 -6
  285. data/spec/views/profiles/edit.html.erb_spec.rb +7 -7
  286. data/spec/views/profiles/index.html.erb_spec.rb +3 -3
  287. data/spec/views/profiles/new.html.erb_spec.rb +6 -5
  288. data/spec/views/profiles/show.html.erb_spec.rb +4 -4
  289. data/spec/views/roles/edit.html.erb_spec.rb +18 -0
  290. data/spec/views/roles/index.html.erb_spec.rb +14 -0
  291. data/spec/views/roles/new.html.erb_spec.rb +18 -0
  292. data/spec/views/roles/show.html.erb_spec.rb +14 -0
  293. metadata +148 -92
  294. data/app/models/identity.rb +0 -23
  295. data/app/policies/user_export_file_policy.rb +0 -21
  296. data/app/policies/user_import_file_policy.rb +0 -21
  297. data/app/policies/user_import_result_policy.rb +0 -21
  298. data/db/migrate/20150421023923_create_identities.rb +0 -12
  299. data/db/migrate/20151126005552_add_provider_to_identity.rb +0 -5
  300. data/db/migrate/20170114174536_add_profile_id_to_user.rb +0 -5
  301. data/lib/enju_seed/localized_name.rb +0 -13
  302. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +0 -11
  303. data/spec/dummy/db/migrate/20140529014410_create_item_transitions.rb +0 -15
  304. data/spec/dummy/db/migrate/20141029131633_create_periodicals.rb +0 -11
  305. data/spec/dummy/db/migrate/20150302110310_add_attachment_id_to_manifestation.rb +0 -7
  306. data/spec/dummy/db/migrate/20150304183215_add_picture_id_to_picture_file.rb +0 -7
  307. data/spec/dummy/db/migrate/20150305025906_add_resource_import_id_to_resource_import_file.rb +0 -7
  308. data/spec/dummy/db/migrate/20150305030046_add_resource_export_id_to_resource_export_file.rb +0 -8
  309. data/spec/dummy/db/migrate/20150305031709_add_agent_import_id_to_agent_import_file.rb +0 -7
  310. data/spec/dummy/db/migrate/20150305105231_add_attachment_fingerprint_to_manifestation.rb +0 -5
  311. data/spec/dummy/db/migrate/20150420145354_add_attachment_to_carrier_type.rb +0 -8
  312. data/spec/dummy/db/migrate/20150420145420_add_attachment_to_content_type.rb +0 -8
  313. data/spec/dummy/db/migrate/20151216123621_create_doi_records.rb +0 -12
  314. data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +0 -12
  315. data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +0 -12
  316. data/spec/dummy/db/migrate/20160513000929_create_agent_names.rb +0 -18
  317. data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +0 -9
  318. data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +0 -9
  319. data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +0 -9
  320. data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +0 -9
  321. data/spec/dummy/db/migrate/20160813191533_add_book_jacket_source_to_library_group.rb +0 -5
  322. data/spec/dummy/db/migrate/20160813191820_add_screenshot_generator_to_library_group.rb +0 -5
  323. data/spec/dummy/db/migrate/20161111175127_add_attachment_data_to_manifestation.rb +0 -5
  324. data/spec/dummy/db/migrate/20161111193255_add_attachment_data_to_carrier_type.rb +0 -5
  325. data/spec/dummy/db/migrate/20161111193346_add_attachment_data_to_content_type.rb +0 -5
  326. data/spec/dummy/db/migrate/20161112122706_add_attachment_data_to_resource_import_file.rb +0 -5
  327. data/spec/dummy/db/migrate/20161112122750_add_attachment_data_to_resource_export_file.rb +0 -5
  328. data/spec/dummy/db/migrate/20161112122814_add_attachment_data_to_agent_import_file.rb +0 -5
  329. data/spec/dummy/db/migrate/20161114083857_add_image_data_to_picture_file.rb +0 -5
  330. data/spec/dummy/db/migrate/20161115184747_add_attachment_data_to_user_import_file.rb +0 -5
  331. data/spec/dummy/db/migrate/20161115184756_add_attachment_data_to_user_export_file.rb +0 -5
@@ -1,57 +1,57 @@
1
- require 'rails_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RolesController do
4
4
  fixtures :all
5
5
 
6
- describe 'GET index' do
7
- describe 'When logged in as Administrator' do
6
+ describe "GET index" do
7
+ describe "When logged in as Administrator" do
8
8
  login_fixture_admin
9
9
 
10
- it 'assigns all roles as @roles' do
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 'When logged in as Librarian' do
16
+ describe "When logged in as Librarian" do
17
17
  login_fixture_librarian
18
18
 
19
- it 'assigns all roles as @roles' do
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 'When logged in as User' do
25
+ describe "When logged in as User" do
26
26
  login_fixture_user
27
27
 
28
- it 'assigns all roles as @roles' do
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 'When not logged in' do
35
- it 'assigns all roles as @roles' do
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 'GET show' do
43
- describe 'When logged in as Administrator' do
42
+ describe "GET show" do
43
+ describe "When logged in as Administrator" do
44
44
  login_fixture_admin
45
45
 
46
- it 'assigns the requested role as @role' do
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 'When not logged in' do
54
- it 'assigns the requested role as @role' do
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 'GET edit' do
63
- describe 'When logged in as Administrator' do
62
+ describe "GET edit" do
63
+ describe "When logged in as Administrator" do
64
64
  login_fixture_admin
65
65
 
66
- it 'assigns the requested role as @role' do
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 'When not logged in' do
74
- it 'should not assign the requested role as @role' do
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 'PUT update' do
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 'When logged in as Administrator' do
89
+ describe "When logged in as Administrator" do
90
90
  login_fixture_admin
91
91
 
92
- describe 'with valid params' do
93
- it 'updates the requested role' do
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 'assigns the requested role as @role' do
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 'moves its position when specified' do
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 'with invalid params' do
109
- it 'assigns the requested role as @role' do
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('edit')
111
+ expect(response).to render_template("edit")
112
112
  end
113
113
  end
114
114
  end
115
115
 
116
- describe 'When not logged in' do
117
- describe 'with valid params' do
118
- it 'updates the requested role' do
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 'should be forbidden' do
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 'with invalid params' do
129
- it 'assigns the requested role as @role' do
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
@@ -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
- require File.expand_path('../config/application', __FILE__)
4
+ require_relative 'config/application'
5
5
 
6
6
  Rails.application.load_tasks
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -1,7 +1,7 @@
1
1
  class User < ActiveRecord::Base
2
2
  devise :database_authenticatable, #:registerable,
3
- :recoverable, :rememberable, :trackable, # , :validatable
4
- :lockable, lock_strategy: :none, unlock_strategy: :none
3
+ :recoverable, :rememberable, :trackable, #, :validatable
4
+ :lockable, lock_strategy: :none, unlock_strategy: :none
5
5
 
6
6
  include EnjuSeed::EnjuUser
7
7
  end
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
3
3
  load Gem.bin_path('bundler', 'bundle')
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
3
  require_relative '../config/boot'
4
4
  require 'rails/commands'
@@ -1,29 +1,36 @@
1
1
  #!/usr/bin/env ruby
2
- require 'pathname'
2
+ require 'fileutils'
3
+ include FileUtils
3
4
 
4
5
  # path to your application root.
5
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
+ APP_ROOT = File.expand_path('..', __dir__)
6
7
 
7
- Dir.chdir APP_ROOT do
8
+ def system!(*args)
9
+ system(*args) || abort("\n== Command #{args} failed ==")
10
+ end
11
+
12
+ chdir APP_ROOT do
8
13
  # This script is a starting point to setup your application.
9
- # Add necessary setup steps to this file:
14
+ # Add necessary setup steps to this file.
10
15
 
11
16
  puts '== Installing dependencies =='
12
- system 'gem install bundler --conservative'
13
- system 'bundle check || bundle install'
17
+ system! 'gem install bundler --conservative'
18
+ system('bundle check') || system!('bundle install')
19
+
20
+ # Install JavaScript dependencies if using Yarn
21
+ # system('bin/yarn')
14
22
 
15
23
  # puts "\n== Copying sample files =="
16
- # unless File.exist?("config/database.yml")
17
- # system "cp config/database.yml.sample config/database.yml"
24
+ # unless File.exist?('config/database.yml')
25
+ # cp 'config/database.yml.sample', 'config/database.yml'
18
26
  # end
19
27
 
20
28
  puts "\n== Preparing database =="
21
- system 'bin/rake db:setup'
29
+ system! 'bin/rails db:setup'
22
30
 
23
31
  puts "\n== Removing old logs and tempfiles =="
24
- system 'rm -f log/*'
25
- system 'rm -rf tmp/cache'
32
+ system! 'bin/rails log:clear tmp:clear'
26
33
 
27
34
  puts "\n== Restarting application server =="
28
- system 'touch tmp/restart.txt'
35
+ system! 'bin/rails restart'
29
36
  end
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+ include FileUtils
4
+
5
+ # path to your application root.
6
+ APP_ROOT = File.expand_path('..', __dir__)
7
+
8
+ def system!(*args)
9
+ system(*args) || abort("\n== Command #{args} failed ==")
10
+ end
11
+
12
+ chdir APP_ROOT do
13
+ # This script is a way to update your development environment automatically.
14
+ # Add necessary update steps to this file.
15
+
16
+ puts '== Installing dependencies =='
17
+ system! 'gem install bundler --conservative'
18
+ system('bundle check') || system!('bundle install')
19
+
20
+ # Install JavaScript dependencies if using Yarn
21
+ # system('bin/yarn')
22
+
23
+ puts "\n== Updating database =="
24
+ system! 'bin/rails db:migrate'
25
+
26
+ puts "\n== Removing old logs and tempfiles =="
27
+ system! 'bin/rails log:clear tmp:clear'
28
+
29
+ puts "\n== Restarting application server =="
30
+ system! 'bin/rails restart'
31
+ end
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path('..', __dir__)
3
+ Dir.chdir(APP_ROOT) do
4
+ begin
5
+ exec "yarnpkg", *ARGV
6
+ rescue Errno::ENOENT
7
+ $stderr.puts "Yarn executable was not detected in the system."
8
+ $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
9
+ exit 1
10
+ end
11
+ end
@@ -1,4 +1,5 @@
1
1
  # This file is used by Rack-based servers to start the application.
2
2
 
3
- require ::File.expand_path('../config/environment', __FILE__)
3
+ require_relative 'config/environment'
4
+
4
5
  run Rails.application
@@ -3,12 +3,17 @@ require_relative 'boot'
3
3
  require 'rails/all'
4
4
 
5
5
  Bundler.require(*Rails.groups)
6
- require 'enju_seed'
6
+ require "enju_seed"
7
+ require "enju_leaf"
7
8
 
8
9
  module Dummy
9
10
  class Application < Rails::Application
11
+ # Initialize configuration defaults for originally generated Rails version.
12
+ config.load_defaults 5.2
13
+
10
14
  # Settings in config/environments/* take precedence over those specified here.
11
15
  # Application configuration should go into files in config/initializers
12
16
  # -- all .rb files in that directory are automatically loaded.
13
17
  end
14
18
  end
19
+
@@ -0,0 +1,10 @@
1
+ development:
2
+ adapter: async
3
+
4
+ test:
5
+ adapter: async
6
+
7
+ production:
8
+ adapter: redis
9
+ url: redis://localhost:6379/1
10
+ channel_prefix: dummy_production
@@ -17,9 +17,10 @@
17
17
  default: &default
18
18
  adapter: postgresql
19
19
  encoding: unicode
20
- # For details on connection pooling, see rails configuration guide
20
+ # For details on connection pooling, see Rails configuration guide
21
21
  # http://guides.rubyonrails.org/configuring.html#database-pooling
22
22
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
23
+ username: postgres
23
24
 
24
25
  development:
25
26
  <<: *default
@@ -81,5 +82,5 @@ test:
81
82
  production:
82
83
  <<: *default
83
84
  database: enju_seed_dummy_production
84
- username: dummy
85
+ username: enju_seed_dummy
85
86
  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' => 'public, max-age=172800'
21
+ 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
22
22
  }
23
23
  else
24
24
  config.action_controller.perform_caching = false
@@ -14,6 +14,11 @@ 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
+
17
22
  # Disable serving static files from the `/public` folder by default since
18
23
  # Apache or NGINX already handles this.
19
24
  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
@@ -47,7 +52,7 @@ Rails.application.configure do
47
52
  config.log_level = :debug
48
53
 
49
54
  # Prepend all log lines with the following tags.
50
- config.log_tags = [:request_id]
55
+ config.log_tags = [ :request_id ]
51
56
 
52
57
  # Use a different cache store in production.
53
58
  # config.cache_store = :mem_cache_store
@@ -75,10 +80,10 @@ Rails.application.configure do
75
80
  # require 'syslog/logger'
76
81
  # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
77
82
 
78
- if ENV['RAILS_LOG_TO_STDOUT'].present?
83
+ if ENV["RAILS_LOG_TO_STDOUT"].present?
79
84
  logger = ActiveSupport::Logger.new(STDOUT)
80
85
  logger.formatter = config.log_formatter
81
- config.logger = ActiveSupport::TaggedLogging.new(logger)
86
+ config.logger = ActiveSupport::TaggedLogging.new(logger)
82
87
  end
83
88
 
84
89
  # 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' => 'public, max-age=3600'
18
+ 'Cache-Control' => "public, max-age=#{1.hour.seconds.to_i}"
19
19
  }
20
20
 
21
21
  # Show full error reports and disable caching.
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # ActiveSupport::Reloader.to_prepare do
4
+ # ApplicationController.renderer.defaults.merge!(
5
+ # http_host: 'example.org',
6
+ # https: false
7
+ # )
8
+ # end
@@ -3,10 +3,13 @@
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')
8
10
 
9
11
  # Precompile additional assets.
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)
12
+ # application.js, application.css, and all non-JS/CSS in the app/assets
13
+ # folder are already added.
14
+ # Rails.application.config.assets.precompile += %w( admin.js admin.css )
15
+ Rails.application.config.assets.precompile += %w( icons/*.png )
@@ -1,3 +1,5 @@
1
1
  # Be sure to restart your server when you modify this file.
2
2
 
3
+ # Specify a serializer for the signed and encrypted cookie jars.
4
+ # Valid options are :json, :marshal, and :hybrid.
3
5
  Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -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
- # ## 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
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
- config.reserved_words = %w(new edit index session login logout users admin
21
- stylesheets assets javascripts images)
20
+ config.reserved_words = %w(new edit index session login logout users admin
21
+ stylesheets assets javascripts images)
22
22
 
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
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