enju_seed 0.2.3 → 0.3.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +17 -8
  3. data/app/assets/config/enju_seed_manifest.js +0 -0
  4. data/app/controllers/my_accounts_controller.rb +14 -13
  5. data/app/controllers/profiles_controller.rb +30 -29
  6. data/app/controllers/roles_controller.rb +2 -1
  7. data/app/models/concerns/enju_seed/enju_user.rb +22 -26
  8. data/app/models/concerns/master_model.rb +5 -6
  9. data/app/models/identity.rb +1 -1
  10. data/app/models/profile.rb +3 -3
  11. data/app/models/role.rb +2 -1
  12. data/app/models/user_has_role.rb +2 -2
  13. data/app/views/my_accounts/_edit_credential.html.slim +63 -0
  14. data/app/views/my_accounts/_form.html.slim +20 -0
  15. data/app/views/my_accounts/_show.html.slim +1 -0
  16. data/app/views/my_accounts/edit.html.slim +30 -0
  17. data/app/views/my_accounts/show.html+phone.slim +1 -0
  18. data/app/views/my_accounts/show.html.slim +57 -0
  19. data/app/views/profiles/_edit_credential.html.slim +67 -0
  20. data/app/views/profiles/_edit_profile.html.slim +40 -0
  21. data/app/views/profiles/_form.html.slim +12 -0
  22. data/app/views/profiles/_show.html.slim +1 -0
  23. data/app/views/profiles/edit.html.slim +30 -0
  24. data/app/views/profiles/index.html.slim +61 -0
  25. data/app/views/profiles/new.html.slim +65 -0
  26. data/app/views/profiles/show.html+phone.slim +1 -0
  27. data/app/views/profiles/show.html.slim +67 -0
  28. data/app/views/roles/_form.html.slim +16 -0
  29. data/app/views/roles/edit.html.slim +15 -0
  30. data/app/views/roles/index.html.slim +27 -0
  31. data/app/views/roles/new.html.slim +13 -0
  32. data/app/views/roles/show.html.slim +46 -0
  33. data/db/migrate/041_create_roles.rb +3 -3
  34. data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +3 -3
  35. data/lib/enju_seed.rb +2 -3
  36. data/lib/enju_seed/engine.rb +1 -2
  37. data/lib/enju_seed/localized_name.rb +1 -3
  38. data/lib/enju_seed/version.rb +1 -1
  39. data/spec/controllers/my_accounts_controller_spec.rb +79 -79
  40. data/spec/controllers/profiles_controller_spec.rb +210 -210
  41. data/spec/controllers/roles_controller_spec.rb +47 -47
  42. data/spec/dummy/app/helpers/application_helper.rb +1 -1
  43. data/spec/dummy/app/models/user.rb +2 -2
  44. data/spec/dummy/bin/setup +8 -8
  45. data/spec/dummy/config/application.rb +2 -18
  46. data/spec/dummy/config/database.yml +70 -10
  47. data/spec/dummy/config/environment.rb +1 -1
  48. data/spec/dummy/config/environments/development.rb +24 -11
  49. data/spec/dummy/config/environments/production.rb +24 -17
  50. data/spec/dummy/config/environments/test.rb +6 -6
  51. data/spec/dummy/config/initializers/assets.rb +1 -1
  52. data/spec/dummy/config/initializers/friendly_id.rb +75 -75
  53. data/spec/dummy/db/migrate/001_create_agents.rb +6 -6
  54. data/spec/dummy/db/migrate/002_devise_create_users.rb +5 -6
  55. data/spec/dummy/db/migrate/005_create_manifestations.rb +12 -12
  56. data/spec/dummy/db/migrate/006_create_items.rb +5 -5
  57. data/spec/dummy/db/migrate/012_create_owns.rb +2 -2
  58. data/spec/dummy/db/migrate/015_create_creates.rb +2 -2
  59. data/spec/dummy/db/migrate/032_create_checkins.rb +1 -1
  60. data/spec/dummy/db/migrate/033_create_checkouts.rb +4 -4
  61. data/spec/dummy/db/migrate/035_create_reserves.rb +5 -5
  62. data/spec/dummy/db/migrate/047_create_produces.rb +2 -2
  63. data/spec/dummy/db/migrate/059_create_libraries.rb +6 -4
  64. data/spec/dummy/db/migrate/069_create_shelves.rb +2 -1
  65. data/spec/dummy/db/migrate/073_create_carrier_types.rb +1 -1
  66. data/spec/dummy/db/migrate/077_create_user_groups.rb +1 -1
  67. data/spec/dummy/db/migrate/080_create_library_groups.rb +2 -1
  68. data/spec/dummy/db/migrate/112_create_frequencies.rb +1 -1
  69. data/spec/dummy/db/migrate/117_create_form_of_works.rb +1 -1
  70. data/spec/dummy/db/migrate/120_create_baskets.rb +2 -1
  71. data/spec/dummy/db/migrate/121_create_checked_items.rb +3 -3
  72. data/spec/dummy/db/migrate/124_create_bookstores.rb +1 -1
  73. data/spec/dummy/db/migrate/125_create_donates.rb +2 -2
  74. data/spec/dummy/db/migrate/127_create_use_restrictions.rb +1 -1
  75. data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +2 -2
  76. data/spec/dummy/db/migrate/130_create_request_status_types.rb +1 -1
  77. data/spec/dummy/db/migrate/131_create_request_types.rb +1 -1
  78. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +1 -1
  79. data/spec/dummy/db/migrate/133_create_agent_merges.rb +1 -1
  80. data/spec/dummy/db/migrate/149_create_message_templates.rb +5 -5
  81. data/spec/dummy/db/migrate/154_create_messages.rb +2 -2
  82. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +2 -2
  83. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +13 -0
  84. data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +1 -1
  85. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +5 -2
  86. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +2 -1
  87. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +5 -5
  88. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +8 -9
  89. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +5 -6
  90. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +1 -1
  91. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +1 -1
  92. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +8 -8
  93. data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +3 -3
  94. data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +4 -4
  95. data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +3 -3
  96. data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +3 -3
  97. data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +2 -2
  98. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +1 -1
  99. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +1 -1
  100. data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +1 -1
  101. data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +6 -6
  102. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +1 -1
  103. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +1 -1
  104. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +1 -1
  105. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +1 -1
  106. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
  107. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +3 -3
  108. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +0 -1
  109. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +0 -1
  110. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +0 -1
  111. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +1 -2
  112. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +6 -3
  113. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +1 -1
  114. data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +2 -2
  115. data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +2 -2
  116. data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +1 -1
  117. data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +1 -1
  118. data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +2 -2
  119. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +2 -2
  120. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +3 -3
  121. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +4 -4
  122. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +3 -3
  123. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +3 -3
  124. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +3 -3
  125. data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +3 -3
  126. data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +3 -3
  127. data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +4 -4
  128. data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +4 -4
  129. data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +0 -1
  130. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +4 -4
  131. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +0 -1
  132. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +4 -4
  133. data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +1 -1
  134. data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +1 -1
  135. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +3 -1
  136. data/spec/dummy/db/migrate/20141029131633_create_periodicals.rb +11 -0
  137. data/spec/dummy/db/migrate/20150124152756_add_foreign_key_to_shelves_referencing_libraries.rb +6 -0
  138. data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +1 -1
  139. data/spec/dummy/db/migrate/20150302110310_add_attachment_id_to_manifestation.rb +7 -0
  140. data/spec/dummy/db/migrate/20150304183215_add_picture_id_to_picture_file.rb +7 -0
  141. data/spec/dummy/db/migrate/20150305025906_add_resource_import_id_to_resource_import_file.rb +7 -0
  142. data/spec/dummy/db/migrate/20150305030046_add_resource_export_id_to_resource_export_file.rb +8 -0
  143. data/spec/dummy/db/migrate/20150305031709_add_agent_import_id_to_agent_import_file.rb +7 -0
  144. data/spec/dummy/db/migrate/20150305105231_add_attachment_fingerprint_to_manifestation.rb +5 -0
  145. data/spec/dummy/db/migrate/20150420145354_add_attachment_to_carrier_type.rb +8 -0
  146. data/spec/dummy/db/migrate/20150420145420_add_attachment_to_content_type.rb +8 -0
  147. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +5 -3
  148. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +2 -4
  149. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +2 -19
  150. data/spec/dummy/db/migrate/20151216123621_create_doi_records.rb +12 -0
  151. data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +12 -0
  152. data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +12 -0
  153. data/spec/dummy/db/migrate/20160513000929_create_agent_names.rb +18 -0
  154. data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +9 -0
  155. data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +9 -0
  156. data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +9 -0
  157. data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +9 -0
  158. data/spec/dummy/db/migrate/20161111175127_add_attachment_data_to_manifestation.rb +5 -0
  159. data/spec/dummy/db/migrate/20161111193255_add_attachment_data_to_carrier_type.rb +5 -0
  160. data/spec/dummy/db/migrate/20161111193346_add_attachment_data_to_content_type.rb +5 -0
  161. data/spec/dummy/db/migrate/20161112122706_add_attachment_data_to_resource_import_file.rb +5 -0
  162. data/spec/dummy/db/migrate/20161112122750_add_attachment_data_to_resource_export_file.rb +5 -0
  163. data/spec/dummy/db/migrate/20161112122814_add_attachment_data_to_agent_import_file.rb +5 -0
  164. data/spec/dummy/db/schema.rb +1418 -1402
  165. data/spec/factories/profile.rb +10 -10
  166. data/spec/factories/user.rb +10 -10
  167. data/spec/factories/user_group.rb +2 -2
  168. data/spec/fixtures/library_groups.yml +1 -0
  169. data/spec/models/profile_spec.rb +20 -19
  170. data/spec/models/role_spec.rb +7 -7
  171. data/spec/models/user_has_role_spec.rb +1 -2
  172. data/spec/models/user_spec.rb +25 -26
  173. data/spec/rails_helper.rb +7 -6
  174. data/spec/requests/profiles_spec.rb +3 -3
  175. data/spec/routing/profiles_routing_spec.rb +16 -18
  176. data/spec/routing/roles_routing_spec.rb +16 -18
  177. data/spec/routing/users_spec.rb +6 -7
  178. data/spec/spec_helper.rb +47 -49
  179. data/spec/support/controller_macros.rb +9 -9
  180. data/spec/views/my_accounts/show.html.erb_spec.rb +6 -6
  181. data/spec/views/profiles/edit.html.erb_spec.rb +7 -7
  182. data/spec/views/profiles/index.html.erb_spec.rb +3 -3
  183. data/spec/views/profiles/new.html.erb_spec.rb +5 -6
  184. data/spec/views/profiles/show.html.erb_spec.rb +3 -3
  185. metadata +323 -323
  186. data/app/views/my_accounts/_edit_credential.html.erb +0 -99
  187. data/app/views/my_accounts/_form.html.erb +0 -24
  188. data/app/views/my_accounts/_show.html.erb +0 -1
  189. data/app/views/my_accounts/edit.html.erb +0 -32
  190. data/app/views/my_accounts/show.html.erb +0 -49
  191. data/app/views/profiles/_edit_profile.html.erb +0 -42
  192. data/app/views/profiles/_form.html.erb +0 -15
  193. data/app/views/profiles/_show.html.erb +0 -1
  194. data/app/views/profiles/edit.html.erb +0 -33
  195. data/app/views/profiles/index.html.erb +0 -70
  196. data/app/views/profiles/new.html.erb +0 -88
  197. data/app/views/profiles/show.html+phone.erb +0 -1
  198. data/app/views/profiles/show.html.erb +0 -67
  199. data/app/views/roles/_form.html.erb +0 -19
  200. data/app/views/roles/edit.html.erb +0 -13
  201. data/app/views/roles/index.html.erb +0 -32
  202. data/app/views/roles/new.html.erb +0 -12
  203. data/app/views/roles/show.html.erb +0 -46
  204. data/lib/generators/enju_seed/update/update_generator.rb +0 -9
  205. data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +0 -5
  206. data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +0 -5
  207. data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +0 -5
  208. data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +0 -5
  209. data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +0 -5
@@ -12,9 +12,11 @@ Rails.application.configure do
12
12
  # preloads Rails for running tests, you may have to set it to true.
13
13
  config.eager_load = false
14
14
 
15
- # Configure static file server for tests with Cache-Control for performance.
16
- config.serve_static_files = true
17
- config.static_cache_control = 'public, max-age=3600'
15
+ # Configure public file server for tests with Cache-Control for performance.
16
+ config.public_file_server.enabled = true
17
+ config.public_file_server.headers = {
18
+ 'Cache-Control' => 'public, max-age=3600'
19
+ }
18
20
 
19
21
  # Show full error reports and disable caching.
20
22
  config.consider_all_requests_local = true
@@ -25,15 +27,13 @@ Rails.application.configure do
25
27
 
26
28
  # Disable request forgery protection in test environment.
27
29
  config.action_controller.allow_forgery_protection = false
30
+ config.action_mailer.perform_caching = false
28
31
 
29
32
  # Tell Action Mailer not to deliver emails to the real world.
30
33
  # The :test delivery method accumulates sent emails in the
31
34
  # ActionMailer::Base.deliveries array.
32
35
  config.action_mailer.delivery_method = :test
33
36
 
34
- # Randomize the order test cases are executed.
35
- config.active_support.test_order = :random
36
-
37
37
  # Print deprecation notices to the stderr.
38
38
  config.active_support.deprecation = :stderr
39
39
 
@@ -9,4 +9,4 @@ Rails.application.config.assets.version = '1.0'
9
9
  # Precompile additional assets.
10
10
  # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
11
11
  # Rails.application.config.assets.precompile += %w( search.js )
12
- Rails.application.config.assets.precompile += %w( *.png icons/*.png *.gif )
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
- # ## 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
@@ -32,13 +32,13 @@ class CreateAgents < ActiveRecord::Migration
32
32
  t.text :region
33
33
  t.datetime :date_of_birth
34
34
  t.datetime :date_of_death
35
- t.integer :language_id, :default => 1, :null => false
36
- t.integer :country_id, :default => 1, :null => false
37
- t.integer :agent_type_id, :default => 1, :null => false
38
- t.integer :lock_version, :default => 0, :null => false
35
+ t.integer :language_id, default: 1, null: false
36
+ t.integer :country_id, default: 1, null: false
37
+ t.integer :agent_type_id, default: 1, null: false
38
+ t.integer :lock_version, default: 0, null: false
39
39
  t.text :note
40
- t.integer :required_role_id, :default => 1, :null => false
41
- t.integer :required_score, :default => 0, :null => false
40
+ t.integer :required_role_id, default: 1, null: false
41
+ t.integer :required_score, default: 0, null: false
42
42
  t.text :email
43
43
  t.text :url
44
44
  end
@@ -2,8 +2,8 @@ class DeviseCreateUsers < ActiveRecord::Migration
2
2
  def change
3
3
  create_table(:users) do |t|
4
4
  ## Database authenticatable
5
- t.string :email, :null => false, :default => ""
6
- t.string :encrypted_password, :null => false, :default => ""
5
+ t.string :email, null: false, default: ''
6
+ t.string :encrypted_password, null: false, default: ''
7
7
 
8
8
  ## Recoverable
9
9
  t.string :reset_password_token
@@ -13,7 +13,7 @@ class DeviseCreateUsers < ActiveRecord::Migration
13
13
  t.datetime :remember_created_at
14
14
 
15
15
  ## Trackable
16
- t.integer :sign_in_count, :default => 0
16
+ t.integer :sign_in_count, default: 0
17
17
  t.datetime :current_sign_in_at
18
18
  t.datetime :last_sign_in_at
19
19
  t.string :current_sign_in_ip
@@ -33,12 +33,11 @@ class DeviseCreateUsers < ActiveRecord::Migration
33
33
  ## Token authenticatable
34
34
  # t.string :authentication_token
35
35
 
36
-
37
36
  t.timestamps
38
37
  end
39
38
 
40
- add_index :users, :email, :unique => true
41
- add_index :users, :reset_password_token, :unique => true
39
+ add_index :users, :email, unique: true
40
+ add_index :users, :reset_password_token, unique: true
42
41
  # add_index :users, :confirmation_token, :unique => true
43
42
  # add_index :users, :unlock_token, :unique => true
44
43
  # add_index :users, :authentication_token, :unique => true
@@ -1,7 +1,7 @@
1
1
  class CreateManifestations < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :manifestations do |t|
4
- t.text :original_title, :null => false
4
+ t.text :original_title, null: false
5
5
  t.text :title_alternative
6
6
  t.text :title_transcription
7
7
  t.string :classification_number
@@ -11,8 +11,8 @@ class CreateManifestations < ActiveRecord::Migration
11
11
  t.timestamps
12
12
  t.datetime :deleted_at
13
13
  t.string :access_address
14
- t.integer :language_id, :default => 1, :null => false
15
- t.integer :carrier_type_id, :default => 1, :null => false
14
+ t.integer :language_id, default: 1, null: false
15
+ t.integer :carrier_type_id, default: 1, null: false
16
16
  t.integer :start_page
17
17
  t.integer :end_page
18
18
  t.integer :height
@@ -25,17 +25,17 @@ class CreateManifestations < ActiveRecord::Migration
25
25
  t.string :serial_number_string
26
26
  t.integer :edition
27
27
  t.text :note
28
- t.boolean :repository_content, :default => false, :null => false
29
- t.integer :lock_version, :default => 0, :null => false
30
- t.integer :required_role_id, :default => 1, :null => false
31
- t.integer :required_score, :default => 0, :null => false
32
- t.integer :frequency_id, :default => 1, :null => false
33
- t.boolean :subscription_master, :default => false, :null => false
28
+ t.boolean :repository_content, default: false, null: false
29
+ t.integer :lock_version, default: 0, null: false
30
+ t.integer :required_role_id, default: 1, null: false
31
+ t.integer :required_score, default: 0, null: false
32
+ t.integer :frequency_id, default: 1, null: false
33
+ t.boolean :subscription_master, default: false, null: false
34
34
  end
35
- #add_index :manifestations, :carrier_type_id
36
- #add_index :manifestations, :required_role_id
35
+ # add_index :manifestations, :carrier_type_id
36
+ # add_index :manifestations, :required_role_id
37
37
  add_index :manifestations, :access_address
38
- #add_index :manifestations, :frequency_id
38
+ # add_index :manifestations, :frequency_id
39
39
  add_index :manifestations, :manifestation_identifier
40
40
  add_index :manifestations, :updated_at
41
41
  add_index :manifestations, :date_of_publication
@@ -5,14 +5,14 @@ class CreateItems < ActiveRecord::Migration
5
5
  t.string :item_identifier
6
6
  t.timestamps
7
7
  t.datetime :deleted_at
8
- t.integer :shelf_id, :default => 1, :null => false
9
- t.boolean :include_supplements, :default => false, :null => false
8
+ t.integer :shelf_id, default: 1, null: false
9
+ t.boolean :include_supplements, default: false, null: false
10
10
  t.text :note
11
11
  t.string :url
12
12
  t.integer :price
13
- t.integer :lock_version, :default => 0, :null => false
14
- t.integer :required_role_id, :default => 1, :null => false
15
- t.integer :required_score, :default => 0, :null => false
13
+ t.integer :lock_version, default: 0, null: false
14
+ t.integer :required_role_id, default: 1, null: false
15
+ t.integer :required_score, default: 0, null: false
16
16
  end
17
17
  add_index :items, :shelf_id
18
18
  add_index :items, :item_identifier
@@ -1,8 +1,8 @@
1
1
  class CreateOwns < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :owns do |t|
4
- t.references :agent, :null => false
5
- t.references :item, :null => false
4
+ t.references :agent, null: false
5
+ t.references :item, null: false
6
6
  t.integer :position
7
7
  t.timestamps
8
8
  end
@@ -1,8 +1,8 @@
1
1
  class CreateCreates < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :creates do |t|
4
- t.references :agent, :null => false
5
- t.references :work, :null => false
4
+ t.references :agent, null: false
5
+ t.references :work, null: false
6
6
  t.integer :position
7
7
  t.timestamps
8
8
  end
@@ -1,7 +1,7 @@
1
1
  class CreateCheckins < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :checkins do |t|
4
- t.integer :item_id, :null => false
4
+ t.integer :item_id, null: false
5
5
  t.integer :librarian_id
6
6
  t.integer :basket_id
7
7
  t.timestamps
@@ -2,19 +2,19 @@ class CreateCheckouts < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :checkouts do |t|
4
4
  t.integer :user_id
5
- t.integer :item_id, :null => false
5
+ t.integer :item_id, null: false
6
6
  t.integer :checkin_id
7
7
  t.integer :librarian_id
8
8
  t.integer :basket_id
9
9
  t.datetime :due_date
10
- t.integer :checkout_renewal_count, :default => 0, :null => false
11
- t.integer :lock_version, :default => 0, :null => false
10
+ t.integer :checkout_renewal_count, default: 0, null: false
11
+ t.integer :lock_version, default: 0, null: false
12
12
  t.timestamps
13
13
  end
14
14
  add_index :checkouts, :user_id
15
15
  add_index :checkouts, :item_id
16
16
  add_index :checkouts, :basket_id
17
- add_index :checkouts, [:item_id, :basket_id], :unique => true
17
+ add_index :checkouts, [:item_id, :basket_id], unique: true
18
18
  add_index :checkouts, :librarian_id
19
19
  add_index :checkouts, :checkin_id
20
20
  end
@@ -1,17 +1,17 @@
1
1
  class CreateReserves < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :reserves do |t|
4
- t.integer :user_id, :null => false
5
- t.integer :manifestation_id, :null => false
4
+ t.integer :user_id, null: false
5
+ t.integer :manifestation_id, null: false
6
6
  t.integer :item_id
7
- t.integer :request_status_type_id, :null => false
7
+ t.integer :request_status_type_id, null: false
8
8
  t.datetime :checked_out_at
9
9
  t.timestamps
10
10
  t.datetime :canceled_at
11
11
  t.datetime :expired_at
12
12
  t.datetime :deleted_at
13
- t.boolean :expiration_notice_to_patron, :default => false
14
- t.boolean :expiration_notice_to_library, :default => false
13
+ t.boolean :expiration_notice_to_patron, default: false
14
+ t.boolean :expiration_notice_to_library, default: false
15
15
  end
16
16
 
17
17
  add_index :reserves, :user_id
@@ -1,8 +1,8 @@
1
1
  class CreateProduces < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :produces do |t|
4
- t.references :agent, :null => false
5
- t.references :manifestation, :null => false
4
+ t.references :agent, null: false
5
+ t.references :manifestation, null: false
6
6
  t.integer :position
7
7
  t.timestamps
8
8
  end
@@ -1,7 +1,7 @@
1
1
  class CreateLibraries < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :libraries do |t|
4
- t.string :name, index: true, null: false
4
+ t.string :name, null: false
5
5
  t.text :display_name
6
6
  t.string :short_display_name, null: false
7
7
  t.string :zip_code
@@ -13,14 +13,16 @@ class CreateLibraries < ActiveRecord::Migration
13
13
  t.string :fax_number
14
14
  t.text :note
15
15
  t.integer :call_number_rows, default: 1, null: false
16
- t.string :call_number_delimiter, default: "|", null: false
17
- t.references :library_group, index: true, null: false
16
+ t.string :call_number_delimiter, default: '|', null: false
17
+ t.integer :library_group_id, default: 1, null: false
18
18
  t.integer :users_count, default: 0, null: false
19
19
  t.integer :position
20
- t.references :country
20
+ t.integer :country_id
21
21
 
22
22
  t.timestamps
23
23
  t.datetime :deleted_at
24
24
  end
25
+ add_index :libraries, :library_group_id
26
+ add_index :libraries, :name, unique: true
25
27
  end
26
28
  end
@@ -4,11 +4,12 @@ class CreateShelves < ActiveRecord::Migration
4
4
  t.string :name, null: false
5
5
  t.text :display_name
6
6
  t.text :note
7
- t.references :library, index: true, null: false
7
+ t.integer :library_id, default: 1, null: false
8
8
  t.integer :items_count, default: 0, null: false
9
9
  t.integer :position
10
10
  t.timestamps
11
11
  t.datetime :deleted_at
12
12
  end
13
+ add_index :shelves, :library_id
13
14
  end
14
15
  end