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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f82f28685be0ce77bbae3b1a5669dd3f8e4efd7a
4
- data.tar.gz: 6e850f5e9c2962054d294a256eada15067afa5a5
3
+ metadata.gz: 12d5406b47c01ad5eff1fddf96780ac07cb9811f
4
+ data.tar.gz: 58e3757e3a87b1f4007c1a64b3d7d8a2fa688826
5
5
  SHA512:
6
- metadata.gz: 12a0dad577c19e0f6a5d82101381ddd630bb06d24a3fdd8fc57641f8f661c0c854105d66f75a00b758a39c2e19abb7ba8b200ed5cc1dcc7c10a3918c37d70477
7
- data.tar.gz: ffcaaf6327814aff63e4a3bc3f40576b61aebf712287659e35fbfd6b9e90e014e466ad9f4a23283d3741588e0ee41733dc408c677708c3270b07594e9335a0ba
6
+ metadata.gz: dcf4b2c8b790217b06a9331578e168232571dc7335e4d3f0b411f81629dcf1a3f9efacc26eb0ac36748dfcdf605c2b945473a4994c9e2f2ffe37d535388af5bf
7
+ data.tar.gz: a30958543f26617543bfacf25d7f04b40cca36b093fbc8cc6426ee21b5c901a6630c1114b52ccf4b9ee5535b3c215d70af4f6071b78dd614f1ccd33293ee3f6f
data/Rakefile CHANGED
@@ -10,23 +10,32 @@ RDoc::Task.new(:rdoc) do |rdoc|
10
10
  rdoc.rdoc_dir = 'rdoc'
11
11
  rdoc.title = 'EnjuSeed'
12
12
  rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
13
+ rdoc.rdoc_files.include('README.md')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
17
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
17
+ APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
18
18
  load 'rails/tasks/engine.rake'
19
19
 
20
+ load 'rails/tasks/statistics.rake'
20
21
 
22
+ require 'bundler/gem_tasks'
21
23
 
22
- Bundler::GemHelper.install_tasks
24
+ require 'rake/testtask'
23
25
 
24
- require 'rspec/core'
25
- require 'rspec/core/rake_task'
26
-
27
- RSpec::Core::RakeTask.new(:spec) do |spec|
28
- spec.pattern = FileList['spec/**/*_spec.rb']
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
29
31
  end
30
32
 
33
+ begin
34
+ require 'rspec/core/rake_task'
35
+
36
+ RSpec::Core::RakeTask.new(:spec)
37
+ rescue LoadError
38
+ # no rspec available
39
+ end
31
40
 
32
41
  task default: :spec
@@ -18,9 +18,11 @@ class MyAccountsController < ApplicationController
18
18
  user_attrs = [
19
19
  :id, :email, :current_password, :password, :password_confirmation
20
20
  ]
21
- user_attrs += [
22
- {:user_has_role_attributes => [:id, :role_id]}
23
- ] if current_user.has_role?('Administrator')
21
+ if current_user.has_role?('Administrator')
22
+ user_attrs += [
23
+ { user_has_role_attributes: [:id, :role_id] }
24
+ ]
25
+ end
24
26
 
25
27
  user_params = ActionController::Parameters.new(params[:profile][:user_attributes]).permit(*user_attrs)
26
28
 
@@ -35,7 +37,7 @@ class MyAccountsController < ApplicationController
35
37
  format.json { head :no_content }
36
38
  else
37
39
  prepare_options
38
- format.html { render action: "edit" }
40
+ format.html { render action: 'edit' }
39
41
  format.json { render json: current_user.errors, status: :unprocessable_entity }
40
42
  end
41
43
  else
@@ -43,7 +45,7 @@ class MyAccountsController < ApplicationController
43
45
  @profile.errors[:base] << msg
44
46
  end
45
47
  prepare_options
46
- format.html { render action: "edit" }
48
+ format.html { render action: 'edit' }
47
49
  format.json { render json: current_user.errors, status: :unprocessable_entity }
48
50
  end
49
51
  end
@@ -59,6 +61,7 @@ class MyAccountsController < ApplicationController
59
61
  end
60
62
 
61
63
  private
64
+
62
65
  def set_profile
63
66
  @profile = current_user.profile
64
67
  authorize @profile
@@ -73,9 +76,7 @@ class MyAccountsController < ApplicationController
73
76
  :save_checkout_history, :checkout_icalendar_token, # EnjuCirculation
74
77
  :save_search_history # EnjuSearchLog
75
78
  ]
76
- if current_user.has_role?('Librarian')
77
- attrs << :user_group_id
78
- end
79
+ attrs << :user_group_id if current_user.has_role?('Librarian')
79
80
  params.require(:profile).permit(*attrs)
80
81
  end
81
82
 
@@ -84,10 +85,10 @@ class MyAccountsController < ApplicationController
84
85
  @roles = Role.order(:position)
85
86
  @libraries = Library.order(:position)
86
87
  @languages = Language.order(:position)
87
- if current_user.active_for_authentication?
88
- current_user.locked = '0'
89
- else
90
- current_user.locked = '1'
91
- end
88
+ current_user.locked = if current_user.active_for_authentication?
89
+ '0'
90
+ else
91
+ '1'
92
+ end
92
93
  end
93
94
  end
@@ -17,7 +17,7 @@ class ProfilesController < ApplicationController
17
17
  @query = query.dup
18
18
  @count = {}
19
19
 
20
- sort = {sort_by: 'created_at', order: 'desc'}
20
+ sort = { sort_by: 'created_at', order: 'desc' }
21
21
  case params[:sort_by]
22
22
  when 'username'
23
23
  sort[:sort_by] = 'username'
@@ -87,7 +87,7 @@ class ProfilesController < ApplicationController
87
87
  else
88
88
  @profile.reset_checkout_icalendar_token
89
89
  end
90
- render partial: 'feed_token', locals: {profile: @profile}
90
+ render partial: 'feed_token', locals: { profile: @profile }
91
91
  return
92
92
  end
93
93
  end
@@ -95,9 +95,7 @@ class ProfilesController < ApplicationController
95
95
  redirect_to edit_my_account_url
96
96
  return
97
97
  end
98
- if @profile.user.try(:locked_at?)
99
- @profile.user.locked = true
100
- end
98
+ @profile.user.locked = true if @profile.user.try(:locked_at?)
101
99
  end
102
100
 
103
101
  # POST /profiles
@@ -105,9 +103,7 @@ class ProfilesController < ApplicationController
105
103
  def create
106
104
  if current_user.has_role?('Librarian')
107
105
  @profile = Profile.new(profile_params)
108
- if @profile.user
109
- password = @profile.user.set_auto_generated_password
110
- end
106
+ password = @profile.user.set_auto_generated_password if @profile.user
111
107
  else
112
108
  @profile = Profile.new(profile_params)
113
109
  end
@@ -122,7 +118,7 @@ class ProfilesController < ApplicationController
122
118
  format.json { render json: @profile, status: :created, location: @profile }
123
119
  else
124
120
  prepare_options
125
- format.html { render action: "new" }
121
+ format.html { render action: 'new' }
126
122
  format.json { render json: @profile.errors, status: :unprocessable_entity }
127
123
  end
128
124
  end
@@ -133,7 +129,7 @@ class ProfilesController < ApplicationController
133
129
  def update
134
130
  @profile.update_attributes(profile_update_params)
135
131
  if @profile.user
136
- if @profile.user.auto_generated_password == "1"
132
+ if @profile.user.auto_generated_password == '1'
137
133
  password = @profile.user.set_auto_generated_password
138
134
  end
139
135
  end
@@ -145,7 +141,7 @@ class ProfilesController < ApplicationController
145
141
  format.json { head :no_content }
146
142
  else
147
143
  prepare_options
148
- format.html { render action: "edit" }
144
+ format.html { render action: 'edit' }
149
145
  format.json { render json: @profile.errors, status: :unprocessable_entity }
150
146
  end
151
147
  end
@@ -163,6 +159,7 @@ class ProfilesController < ApplicationController
163
159
  end
164
160
 
165
161
  private
162
+
166
163
  def set_profile
167
164
  @profile = Profile.find(params[:id])
168
165
  authorize @profile
@@ -179,15 +176,17 @@ class ProfilesController < ApplicationController
179
176
  :save_checkout_history, :checkout_icalendar_token, # EnjuCirculation
180
177
  :save_search_history, # EnjuSearchLog
181
178
  ]
182
- attrs += [
183
- :library_id, :expired_at, :birth_date,
184
- :user_group_id, :required_role_id, :note, :user_number, {
185
- :user_attributes => [
186
- :id, :username, :email, :current_password, :locked,
187
- {:user_has_role_attributes => [:id, :role_id]}
188
- ]
189
- }
190
- ] if current_user.has_role?('Librarian')
179
+ if current_user.has_role?('Librarian')
180
+ attrs += [
181
+ :library_id, :expired_at, :birth_date,
182
+ :user_group_id, :required_role_id, :note, :user_number, {
183
+ user_attributes: [
184
+ :id, :username, :email, :current_password, :locked,
185
+ { user_has_role_attributes: [:id, :role_id] }
186
+ ]
187
+ }
188
+ ]
189
+ end
191
190
  params.require(:profile).permit(*attrs)
192
191
  end
193
192
 
@@ -198,15 +197,17 @@ class ProfilesController < ApplicationController
198
197
  :save_checkout_history, :checkout_icalendar_token, # EnjuCirculation
199
198
  :save_search_history, # EnjuSearchLog
200
199
  ]
201
- attrs += [
202
- :library_id, :expired_at, :birth_date,
203
- :user_group_id, :required_role_id, :note, :user_number, {
204
- :user_attributes => [
205
- :id, :email, :current_password, :auto_generated_password, :locked,
206
- {:user_has_role_attributes => [:id, :role_id]}
207
- ]
208
- }
209
- ] if current_user.has_role?('Librarian')
200
+ if current_user.has_role?('Librarian')
201
+ attrs += [
202
+ :library_id, :expired_at, :birth_date,
203
+ :user_group_id, :required_role_id, :note, :user_number, {
204
+ user_attributes: [
205
+ :id, :email, :current_password, :auto_generated_password, :locked,
206
+ { user_has_role_attributes: [:id, :role_id] }
207
+ ]
208
+ }
209
+ ]
210
+ end
210
211
  params.require(:profile).permit(*attrs)
211
212
  end
212
213
 
@@ -39,13 +39,14 @@ class RolesController < ApplicationController
39
39
  format.html { redirect_to @role, notice: t('controller.successfully_updated', model: t('activerecord.models.role')) }
40
40
  format.json { head :no_content }
41
41
  else
42
- format.html { render action: "edit" }
42
+ format.html { render action: 'edit' }
43
43
  format.json { render json: @role.errors, status: :unprocessable_entity }
44
44
  end
45
45
  end
46
46
  end
47
47
 
48
48
  private
49
+
49
50
  def set_role
50
51
  @role = Role.find(params[:id])
51
52
  authorize @role
@@ -21,14 +21,14 @@ module EnjuSeed
21
21
  validates :username, presence: true, uniqueness: true, format: {
22
22
  with: /\A[0-9A-Za-z][0-9A-Za-z_\-]*[0-9A-Za-z]\z/
23
23
  }
24
- validates :email, format: Devise::email_regexp, allow_blank: true, uniqueness: true
24
+ validates :email, format: Devise.email_regexp, allow_blank: true, uniqueness: true
25
25
  validates_date :expired_at, allow_blank: true
26
26
 
27
27
  with_options if: :password_required? do |v|
28
28
  v.validates_presence_of :password
29
29
  v.validates_confirmation_of :password
30
30
  v.validates_length_of :password, allow_blank: true,
31
- within: Devise::password_length
31
+ within: Devise.password_length
32
32
  end
33
33
 
34
34
  before_validation :set_lock_information
@@ -42,8 +42,8 @@ module EnjuSeed
42
42
  strip_attributes only: :email, allow_empty: true
43
43
 
44
44
  attr_accessor :password_not_verified,
45
- :update_own_account, :auto_generated_password,
46
- :locked, :current_password #, :agent_id
45
+ :update_own_account, :auto_generated_password,
46
+ :locked, :current_password # , :agent_id
47
47
 
48
48
  paginates_per 10
49
49
 
@@ -54,13 +54,13 @@ module EnjuSeed
54
54
  # 有効期限切れのユーザを一括で使用不可にします。
55
55
  def self.lock_expired_users
56
56
  User.find_each do |user|
57
- user.lock_access! if user.expired? and user.active_for_authentication?
57
+ user.lock_access! if user.expired? && user.active_for_authentication?
58
58
  end
59
59
  end
60
60
 
61
61
  # ユーザの情報をエクスポートします。
62
62
  # @param [Hash] options
63
- def self.export(options = {format: :txt})
63
+ def self.export(options = { format: :txt })
64
64
  header = %w(
65
65
  username
66
66
  full_name
@@ -79,14 +79,16 @@ module EnjuSeed
79
79
  keyword_list
80
80
  note
81
81
  )
82
- header += %w(
83
- checkout_icalendar_token
84
- save_checkout_history
85
- ) if defined? EnjuCirculation
86
- header << "save_search_history" if defined? EnjuSearchLog
87
- header << "share_bookmarks" if defined? EnjuBookmark
82
+ if defined? EnjuCirculation
83
+ header += %w(
84
+ checkout_icalendar_token
85
+ save_checkout_history
86
+ )
87
+ end
88
+ header << 'save_search_history' if defined? EnjuSearchLog
89
+ header << 'share_bookmarks' if defined? EnjuBookmark
88
90
  lines = []
89
- User.find_each.map{|u|
91
+ User.find_each.map do |u|
90
92
  line = []
91
93
  line << u.username
92
94
  line << u.try(:profile).try(:full_name)
@@ -102,7 +104,7 @@ module EnjuSeed
102
104
  line << u.created_at
103
105
  line << u.updated_at
104
106
  line << u.try(:profile).try(:expired_at)
105
- line << u.try(:profile).try(:keyword_list).try(:split).try(:join, "//")
107
+ line << u.try(:profile).try(:keyword_list).try(:split).try(:join, '//')
106
108
  line << u.try(:profile).try(:note)
107
109
  if defined? EnjuCirculation
108
110
  line << u.try(:profile).try(:checkout_icalendar_token)
@@ -111,13 +113,11 @@ module EnjuSeed
111
113
  if defined? EnjuSearchLog
112
114
  line << u.try(:profile).try(:save_search_history)
113
115
  end
114
- if defined? EnjuBookmark
115
- line << u.try(:profile).try(:share_bookmarks)
116
- end
116
+ line << u.try(:profile).try(:share_bookmarks) if defined? EnjuBookmark
117
117
  lines << line
118
- }
118
+ end
119
119
  if options[:format] == :txt
120
- lines.map{|line| line.to_csv(col_sep: "\t")}.unshift(header.to_csv(col_sep: "\t")).join
120
+ lines.map { |line| line.to_csv(col_sep: "\t") }.unshift(header.to_csv(col_sep: "\t")).join
121
121
  else
122
122
  lines
123
123
  end
@@ -150,9 +150,9 @@ module EnjuSeed
150
150
 
151
151
  # ユーザに使用不可の設定を反映させます。
152
152
  def set_lock_information
153
- if locked == '1' and self.active_for_authentication?
153
+ if (locked == '1') && active_for_authentication?
154
154
  lock_access!
155
- elsif locked == '0' and !self.active_for_authentication?
155
+ elsif (locked == '0') && !active_for_authentication?
156
156
  unlock_access!
157
157
  end
158
158
  end
@@ -240,9 +240,7 @@ module EnjuSeed
240
240
  errors[:base] << I18n.t('user.only_administrator_can_destroy')
241
241
  end
242
242
  # 最後の図書館員を削除しようとした
243
- if last_librarian?
244
- errors[:base] << I18n.t('user.last_librarian')
245
- end
243
+ errors[:base] << I18n.t('user.last_librarian') if last_librarian?
246
244
  end
247
245
 
248
246
  # 最後の管理者を削除しようとした
@@ -261,7 +259,6 @@ module EnjuSeed
261
259
  end
262
260
  end
263
261
 
264
-
265
262
  # == Schema Information
266
263
  #
267
264
  # Table name: users
@@ -306,4 +303,3 @@ end
306
303
  # save_search_history :boolean
307
304
  # answer_feed_token :string(255)
308
305
  #
309
-
@@ -3,7 +3,7 @@ module MasterModel
3
3
 
4
4
  included do
5
5
  acts_as_list
6
- validates_uniqueness_of :name, case_sensitive: false
6
+ validates :name, uniqueness: { case_sensitive: false }
7
7
  validates :name, presence: true
8
8
  validate :name do
9
9
  valid_name?
@@ -22,6 +22,7 @@ module MasterModel
22
22
  end
23
23
 
24
24
  private
25
+
25
26
  def valid_name?
26
27
  unless name =~ /\A[a-z][0-9a-z_]*[0-9a-z]\z/
27
28
  errors.add(:name, I18n.t('page.only_lowercase_letters_and_numbers_are_allowed'))
@@ -29,10 +30,8 @@ module MasterModel
29
30
  end
30
31
 
31
32
  def valid_yaml?
32
- begin
33
- YAML.load(display_name)
34
- rescue Psych::SyntaxError
35
- errors.add(:display_name, I18n.t('page.cannot_parse_yaml_header'))
36
- end
33
+ YAML.load(display_name)
34
+ rescue Psych::SyntaxError
35
+ errors.add(:display_name, I18n.t('page.cannot_parse_yaml_header'))
37
36
  end
38
37
  end
@@ -1,6 +1,6 @@
1
1
  class Identity < ActiveRecord::Base
2
2
  belongs_to :profile
3
- validates :name, presence: true, uniqueness: {scope: :provider}
3
+ validates :name, presence: true, uniqueness: { scope: :provider }
4
4
  validates :provider, presence: true
5
5
 
6
6
  def self.find_for_oauth(auth)
@@ -6,14 +6,14 @@ class Profile < ActiveRecord::Base
6
6
  belongs_to :user, dependent: :destroy
7
7
  belongs_to :library, validate: true
8
8
  belongs_to :user_group
9
- belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id' #, validate: true
9
+ belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id' # , validate: true
10
10
  has_many :identities
11
11
  has_many :agents
12
12
  accepts_nested_attributes_for :identities, allow_destroy: true, reject_if: :all_blank
13
13
 
14
14
  validates_associated :user_group, :library
15
- validates :user, uniqueness: true, associated: true, allow_blank: true
16
- validates_presence_of :user_group, :library, :locale #, :user_number
15
+ validates_associated :user
16
+ validates :user_group, :library, :locale, presence: true # , :user_number
17
17
  validates :user_number, uniqueness: true, format: { with: /\A[0-9A-Za-z_]+\z/ }, allow_blank: true
18
18
  validates :user_id, uniqueness: true, allow_blank: true
19
19
  validates :birth_date, format: { with: /\A\d{4}-\d{1,2}-\d{1,2}\z/ }, allow_blank: true
@@ -15,7 +15,7 @@ class Role < ActiveRecord::Base
15
15
 
16
16
  def self.all_cache
17
17
  if Rails.env == 'production'
18
- Rails.cache.fetch('role_all'){ Role.select(:name).all }
18
+ Rails.cache.fetch('role_all') { Role.select(:name).all }
19
19
  else
20
20
  Role.select(:name)
21
21
  end
@@ -30,6 +30,7 @@ class Role < ActiveRecord::Base
30
30
  end
31
31
 
32
32
  private
33
+
33
34
  def valid_name?
34
35
  true
35
36
  end