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,4 +1,4 @@
1
- class CreateUseRestrictions < ActiveRecord::Migration[5.1]
1
+ class CreateUseRestrictions < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :use_restrictions do |t|
4
4
  t.string :name, null: false
@@ -1,4 +1,4 @@
1
- class CreateItemHasUseRestrictions < ActiveRecord::Migration[5.1]
1
+ class CreateItemHasUseRestrictions < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :item_has_use_restrictions do |t|
4
4
  t.integer :item_id, null: false
@@ -1,8 +1,8 @@
1
- class CreateRequestStatusTypes < ActiveRecord::Migration[5.1]
1
+ class CreateRequestStatusTypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :request_status_types do |t|
4
- t.string :name, index: {unique: true}, null: false
5
- t.jsonb :display_name_translations
4
+ t.string :name, null: false
5
+ t.text :display_name
6
6
  t.text :note
7
7
  t.integer :position
8
8
 
@@ -1,8 +1,8 @@
1
- class CreateRequestTypes < ActiveRecord::Migration[5.1]
1
+ class CreateRequestTypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :request_types do |t|
4
- t.string :name, index: {unique: true}, null: false
5
- t.jsonb :display_name_translations
4
+ t.string :name, null: false
5
+ t.text :display_name
6
6
  t.text :note
7
7
  t.integer :position
8
8
 
@@ -1,4 +1,4 @@
1
- class CreateCirculationStatuses < ActiveRecord::Migration[5.1]
1
+ class CreateCirculationStatuses < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :circulation_statuses do |t|
4
4
  t.string :name, null: false
@@ -1,7 +1,7 @@
1
- class CreateAgentMerges < ActiveRecord::Migration[5.1]
1
+ class CreateAgentMerges < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :agent_merges do |t|
4
- t.integer :agent_id, :agent_merge_list_id, :null => false
4
+ t.integer :agent_id, :agent_merge_list_id, null: false
5
5
 
6
6
  t.timestamps
7
7
  end
@@ -1,4 +1,4 @@
1
- class CreateAgentMergeLists < ActiveRecord::Migration[5.1]
1
+ class CreateAgentMergeLists < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :agent_merge_lists do |t|
4
4
  t.string :title
@@ -0,0 +1,18 @@
1
+ class CreateMessageTemplates < ActiveRecord::Migration[4.2]
2
+ def self.up
3
+ create_table :message_templates do |t|
4
+ t.string :status, null: false
5
+ t.text :title, null: false
6
+ t.text :body, null: false
7
+ t.integer :position
8
+ t.string :locale, default: I18n.default_locale.to_s
9
+
10
+ t.timestamps
11
+ end
12
+ add_index :message_templates, :status, unique: true
13
+ end
14
+
15
+ def self.down
16
+ drop_table :message_templates
17
+ end
18
+ end
@@ -0,0 +1,23 @@
1
+ class CreateMessages < ActiveRecord::Migration[4.2]
2
+ def self.up
3
+ create_table :messages, force: true do |t|
4
+ t.datetime :read_at
5
+ t.integer :receiver_id, :sender_id
6
+ t.string :subject, null: false
7
+ t.text :body
8
+ t.integer :message_request_id
9
+ t.integer :parent_id
10
+
11
+ t.timestamps
12
+ end
13
+
14
+ add_index :messages, :sender_id
15
+ add_index :messages, :receiver_id
16
+ add_index :messages, :message_request_id
17
+ add_index :messages, :parent_id
18
+ end
19
+
20
+ def self.down
21
+ drop_table :messages
22
+ end
23
+ end
@@ -0,0 +1,18 @@
1
+ class CreateMessageRequests < ActiveRecord::Migration[4.2]
2
+ def self.up
3
+ create_table :message_requests do |t|
4
+ t.integer :sender_id
5
+ t.integer :receiver_id
6
+ t.integer :message_template_id
7
+ t.datetime :sent_at
8
+ t.datetime :deleted_at
9
+ t.text :body
10
+
11
+ t.timestamps
12
+ end
13
+ end
14
+
15
+ def self.down
16
+ drop_table :message_requests
17
+ end
18
+ end
@@ -1,11 +1,13 @@
1
- class CreateRealizes < ActiveRecord::Migration[5.1]
1
+ class CreateRealizes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :realizes do |t|
4
- t.references :agent, null: false, index: true
5
- t.references :expression, null: false, index: true, type: :uuid
4
+ t.references :agent, null: false
5
+ t.references :expression, null: false
6
6
  t.integer :position
7
7
 
8
8
  t.timestamps
9
9
  end
10
+ add_index :realizes, :agent_id
11
+ add_index :realizes, :expression_id
10
12
  end
11
13
  end
@@ -1,7 +1,7 @@
1
- class CreateAgentTypes < ActiveRecord::Migration[5.1]
1
+ class CreateAgentTypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :agent_types do |t|
4
- t.string :name, :null => false
4
+ t.string :name, null: false
5
5
  t.text :display_name
6
6
  t.text :note
7
7
  t.integer :position
@@ -1,16 +1,14 @@
1
- class CreateSubscriptions < ActiveRecord::Migration[5.1]
1
+ class CreateSubscriptions < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :subscriptions do |t|
4
4
  t.text :title, null: false
5
5
  t.text :note
6
- #t.integer :subscription_list_id, :integer
7
- t.references :user, foreign_key: true
8
- t.integer :order_list_id
6
+ t.references :user, index: true
7
+ t.references :order_list, index: true
9
8
  t.datetime :deleted_at
10
9
  t.integer :subscribes_count, default: 0, null: false
11
10
 
12
11
  t.timestamps
13
12
  end
14
- add_index :subscriptions, :order_list_id
15
13
  end
16
14
  end
@@ -1,12 +1,13 @@
1
- class CreateSubscribes < ActiveRecord::Migration[5.1]
1
+ class CreateSubscribes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :subscribes do |t|
4
- t.references :subscription, foreign_key: true
5
- t.uuid :work_id, null: false, index: true
4
+ t.references :subscription, index: true, null: false
5
+ t.integer :work_id, null: false
6
6
  t.datetime :start_at, null: false
7
7
  t.datetime :end_at, null: false
8
8
 
9
9
  t.timestamps
10
10
  end
11
+ add_index :subscribes, :work_id
11
12
  end
12
13
  end
@@ -1,12 +1,12 @@
1
- class CreateSearchEngines < ActiveRecord::Migration[5.1]
1
+ class CreateSearchEngines < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :search_engines do |t|
4
- t.string :name, :null => false
4
+ t.string :name, null: false
5
5
  t.text :display_name
6
- t.string :url, :null => false
7
- t.text :base_url, :null => false
8
- t.text :http_method, :null => false
9
- t.text :query_param, :null => false
6
+ t.string :url, null: false
7
+ t.text :base_url, null: false
8
+ t.text :http_method, null: false
9
+ t.text :query_param, null: false
10
10
  t.text :additional_param
11
11
  t.text :note
12
12
  t.integer :position
@@ -1,4 +1,4 @@
1
- class CreateCountries < ActiveRecord::Migration[5.1]
1
+ class CreateCountries < ActiveRecord::Migration[4.2]
2
2
 
3
3
  # ISO 3166 is the International Standard for country codes.
4
4
  #
@@ -12,11 +12,11 @@ class CreateCountries < ActiveRecord::Migration[5.1]
12
12
 
13
13
  def change
14
14
  create_table :countries do |t|
15
- t.string :name, :size => 80, :null => false
15
+ t.string :name, size: 80, null: false
16
16
  t.text :display_name
17
- t.string :alpha_2, :size => 2
18
- t.string :alpha_3, :size => 3
19
- t.string :numeric_3, :size => 3
17
+ t.string :alpha_2, size: 2
18
+ t.string :alpha_3, size: 3
19
+ t.string :numeric_3, size: 3
20
20
  t.text :note
21
21
  t.integer :position
22
22
  end
@@ -1,4 +1,4 @@
1
- class CreateLanguages < ActiveRecord::Migration[5.1]
1
+ class CreateLanguages < ActiveRecord::Migration[4.2]
2
2
 
3
3
  # ISO 639 is the set of international standards that lists short codes for language names.
4
4
  # Note this doesn't include macrolanguages (dialects)
@@ -6,16 +6,16 @@ class CreateLanguages < ActiveRecord::Migration[5.1]
6
6
 
7
7
  def change
8
8
  create_table :languages do |t|
9
- t.string :name, :null => false
9
+ t.string :name, null: false
10
10
  t.string :native_name
11
11
  t.text :display_name
12
- t.string :iso_639_1, :size => 3
13
- t.string :iso_639_2, :size => 3
14
- t.string :iso_639_3, :size => 3
12
+ t.string :iso_639_1, size: 3
13
+ t.string :iso_639_2, size: 3
14
+ t.string :iso_639_3, size: 3
15
15
  t.text :note
16
16
  t.integer :position
17
17
  end
18
- add_index :languages, :name, :unique => true
18
+ add_index :languages, :name, unique: true
19
19
  add_index :languages, :iso_639_1
20
20
  add_index :languages, :iso_639_2
21
21
  add_index :languages, :iso_639_3
@@ -1,4 +1,4 @@
1
- class CreatePictureFiles < ActiveRecord::Migration[5.1]
1
+ class CreatePictureFiles < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :picture_files do |t|
4
4
  t.integer :picture_attachable_id
@@ -10,6 +10,6 @@ class CreatePictureFiles < ActiveRecord::Migration[5.1]
10
10
 
11
11
  t.timestamps
12
12
  end
13
- add_index :picture_files, [:picture_attachable_id, :picture_attachable_type], :name => "index_picture_files_on_picture_attachable_id_and_type"
13
+ add_index :picture_files, [:picture_attachable_id, :picture_attachable_type], name: "index_picture_files_on_picture_attachable_id_and_type"
14
14
  end
15
15
  end
@@ -1,4 +1,4 @@
1
- class CreateAgentImportFiles < ActiveRecord::Migration[5.1]
1
+ class CreateAgentImportFiles < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :agent_import_files do |t|
4
4
  t.integer :parent_id
@@ -1,4 +1,4 @@
1
- class CreateResourceImportFiles < ActiveRecord::Migration[5.1]
1
+ class CreateResourceImportFiles < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :resource_import_files do |t|
4
4
  t.integer :parent_id
@@ -1,4 +1,4 @@
1
- class CreateCheckoutTypes < ActiveRecord::Migration[5.1]
1
+ class CreateCheckoutTypes < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :checkout_types do |t|
4
4
  t.string :name, null: false
@@ -1,4 +1,4 @@
1
- class CreateUserGroupHasCheckoutTypes < ActiveRecord::Migration[5.1]
1
+ class CreateUserGroupHasCheckoutTypes < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :user_group_has_checkout_types do |t|
4
4
  t.integer :user_group_id, null: false
@@ -1,4 +1,4 @@
1
- class CreateCarrierTypeHasCheckoutTypes < ActiveRecord::Migration[5.1]
1
+ class CreateCarrierTypeHasCheckoutTypes < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :carrier_type_has_checkout_types do |t|
4
4
  t.integer :carrier_type_id, null: false
@@ -1,4 +1,4 @@
1
- class CreateCheckoutStatHasManifestations < ActiveRecord::Migration[5.1]
1
+ class CreateCheckoutStatHasManifestations < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :checkout_stat_has_manifestations do |t|
4
4
  t.integer :manifestation_checkout_stat_id, null: false
@@ -1,4 +1,4 @@
1
- class CreateManifestationCheckoutStats < ActiveRecord::Migration[5.1]
1
+ class CreateManifestationCheckoutStats < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :manifestation_checkout_stats do |t|
4
4
  t.datetime :start_date
@@ -1,4 +1,4 @@
1
- class CreateUserCheckoutStats < ActiveRecord::Migration[5.1]
1
+ class CreateUserCheckoutStats < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :user_checkout_stats do |t|
4
4
  t.datetime :start_date
@@ -1,4 +1,4 @@
1
- class CreateCheckoutStatHasUsers < ActiveRecord::Migration[5.1]
1
+ class CreateCheckoutStatHasUsers < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :checkout_stat_has_users do |t|
4
4
  t.integer :user_checkout_stat_id, null: false
@@ -1,4 +1,4 @@
1
- class CreateReserveStatHasManifestations < ActiveRecord::Migration[5.1]
1
+ class CreateReserveStatHasManifestations < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :reserve_stat_has_manifestations do |t|
4
4
  t.integer :manifestation_reserve_stat_id, null: false
@@ -1,4 +1,4 @@
1
- class CreateManifestationReserveStats < ActiveRecord::Migration[5.1]
1
+ class CreateManifestationReserveStats < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :manifestation_reserve_stats do |t|
4
4
  t.datetime :start_date
@@ -1,4 +1,4 @@
1
- class CreateUserReserveStats < ActiveRecord::Migration[5.1]
1
+ class CreateUserReserveStats < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :user_reserve_stats do |t|
4
4
  t.datetime :start_date
@@ -1,4 +1,4 @@
1
- class CreateReserveStatHasUsers < ActiveRecord::Migration[5.1]
1
+ class CreateReserveStatHasUsers < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :reserve_stat_has_users do |t|
4
4
  t.integer :user_reserve_stat_id, null: false
@@ -1,4 +1,4 @@
1
- class AddCompletedAtToUserCheckoutStat < ActiveRecord::Migration[5.1]
1
+ class AddCompletedAtToUserCheckoutStat < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :user_checkout_stats, :started_at, :datetime
4
4
  add_column :user_checkout_stats, :completed_at, :datetime
@@ -1,4 +1,4 @@
1
- class AddAttachmentsPictureToPictureFile < ActiveRecord::Migration[5.1]
1
+ class AddAttachmentsPictureToPictureFile < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :picture_files, :picture_file_name, :string
4
4
  add_column :picture_files, :picture_content_type, :string
@@ -1,4 +1,4 @@
1
- class AddAttachmentsAttachmentToManifestation < ActiveRecord::Migration[5.1]
1
+ class AddAttachmentsAttachmentToManifestation < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :manifestations, :attachment_file_name, :string
4
4
  add_column :manifestations, :attachment_content_type, :string
@@ -1,8 +1,8 @@
1
- class CreateMediumOfPerformances < ActiveRecord::Migration[5.1]
1
+ class CreateMediumOfPerformances < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :medium_of_performances do |t|
4
4
  t.string :name, null: false
5
- t.jsonb :display_name_translations
5
+ t.text :display_name
6
6
  t.text :note
7
7
  t.integer :position
8
8
 
@@ -1,8 +1,8 @@
1
- class CreateContentTypes < ActiveRecord::Migration[5.1]
1
+ class CreateContentTypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :content_types do |t|
4
4
  t.string :name, null: false
5
- t.jsonb :display_name_translations
5
+ t.text :display_name
6
6
  t.text :note
7
7
  t.integer :position
8
8
 
@@ -1,7 +1,7 @@
1
- class CreateAgentRelationshipTypes < ActiveRecord::Migration[5.1]
1
+ class CreateAgentRelationshipTypes < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :agent_relationship_types do |t|
4
- t.string :name, :null => false
4
+ t.string :name, null: false
5
5
  t.text :display_name
6
6
  t.text :note
7
7
  t.integer :position
@@ -0,0 +1,21 @@
1
+ class CreateLendingPolicies < ActiveRecord::Migration[4.2]
2
+ def self.up
3
+ create_table :lending_policies do |t|
4
+ t.integer :item_id, null: false
5
+ t.integer :user_group_id, null: false
6
+ t.integer :loan_period, default: 0, null: false
7
+ t.datetime :fixed_due_date
8
+ t.integer :renewal, default: 0, null: false
9
+ t.integer :fine, default: 0, null: false
10
+ t.text :note
11
+ t.integer :position
12
+
13
+ t.timestamps
14
+ end
15
+ add_index :lending_policies, [:item_id, :user_group_id], unique: true
16
+ end
17
+
18
+ def self.down
19
+ drop_table :lending_policies
20
+ end
21
+ end