enju_trunk_subject 1.0.4

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 (280) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +36 -0
  5. data/app/controllers/classification_types_controller.rb +13 -0
  6. data/app/controllers/classifications_controller.rb +114 -0
  7. data/app/controllers/subject_has_classifications_controller.rb +97 -0
  8. data/app/controllers/subject_heading_type_has_subjects_controller.rb +80 -0
  9. data/app/controllers/subject_heading_types_controller.rb +13 -0
  10. data/app/controllers/subject_types_controller.rb +13 -0
  11. data/app/controllers/subjects_controller.rb +216 -0
  12. data/app/controllers/work_has_subjects_controller.rb +107 -0
  13. data/app/models/classification.rb +89 -0
  14. data/app/models/classification_type.rb +20 -0
  15. data/app/models/enju_subject/ability.rb +55 -0
  16. data/app/models/subject.rb +100 -0
  17. data/app/models/subject_has_classification.rb +37 -0
  18. data/app/models/subject_heading_type.rb +21 -0
  19. data/app/models/subject_heading_type_has_subject.rb +22 -0
  20. data/app/models/subject_type.rb +20 -0
  21. data/app/models/work_has_subject.rb +35 -0
  22. data/app/views/classification_types/_form.html.erb +19 -0
  23. data/app/views/classification_types/edit.html.erb +13 -0
  24. data/app/views/classification_types/index.html.erb +45 -0
  25. data/app/views/classification_types/new.html.erb +12 -0
  26. data/app/views/classification_types/show.html.erb +30 -0
  27. data/app/views/classifications/_form.html.erb +27 -0
  28. data/app/views/classifications/edit.html.erb +13 -0
  29. data/app/views/classifications/index.html.erb +54 -0
  30. data/app/views/classifications/new.html.erb +12 -0
  31. data/app/views/classifications/show.html.erb +34 -0
  32. data/app/views/manifestations/_classification_detail.html.erb +14 -0
  33. data/app/views/manifestations/_subject_detail.html.erb +14 -0
  34. data/app/views/manifestations/_subject_facet.html.erb +18 -0
  35. data/app/views/manifestations/_subject_form.html.erb +21 -0
  36. data/app/views/subject_has_classifications/edit.html.erb +30 -0
  37. data/app/views/subject_has_classifications/index.html.erb +38 -0
  38. data/app/views/subject_has_classifications/new.html.erb +32 -0
  39. data/app/views/subject_has_classifications/show.html.erb +22 -0
  40. data/app/views/subject_heading_type_has_subjects/edit.html.erb +28 -0
  41. data/app/views/subject_heading_type_has_subjects/index.html.erb +30 -0
  42. data/app/views/subject_heading_type_has_subjects/new.html.erb +27 -0
  43. data/app/views/subject_heading_type_has_subjects/show.html.erb +23 -0
  44. data/app/views/subject_heading_types/_form.html.erb +19 -0
  45. data/app/views/subject_heading_types/edit.html.erb +13 -0
  46. data/app/views/subject_heading_types/index.html.erb +43 -0
  47. data/app/views/subject_heading_types/new.html.erb +12 -0
  48. data/app/views/subject_heading_types/show.html.erb +27 -0
  49. data/app/views/subject_types/_form.html.erb +19 -0
  50. data/app/views/subject_types/edit.html.erb +13 -0
  51. data/app/views/subject_types/index.html.erb +43 -0
  52. data/app/views/subject_types/new.html.erb +12 -0
  53. data/app/views/subject_types/show.html.erb +29 -0
  54. data/app/views/subjects/_form.html.erb +42 -0
  55. data/app/views/subjects/_index.html.erb +48 -0
  56. data/app/views/subjects/_index_classification.html.erb +57 -0
  57. data/app/views/subjects/_index_work.html.erb +60 -0
  58. data/app/views/subjects/_show_work_list.html.erb +15 -0
  59. data/app/views/subjects/edit.html.erb +13 -0
  60. data/app/views/subjects/index.atom.builder +10 -0
  61. data/app/views/subjects/index.html.erb +7 -0
  62. data/app/views/subjects/index.rss.builder +29 -0
  63. data/app/views/subjects/new.html.erb +12 -0
  64. data/app/views/subjects/show.html.erb +69 -0
  65. data/app/views/subjects/show.js.erb +1 -0
  66. data/app/views/work_has_subjects/_form.html.erb +24 -0
  67. data/app/views/work_has_subjects/edit.html.erb +29 -0
  68. data/app/views/work_has_subjects/index.html.erb +31 -0
  69. data/app/views/work_has_subjects/new.html.erb +42 -0
  70. data/app/views/work_has_subjects/show.html.erb +25 -0
  71. data/config/locales/translation_en.yml +35 -0
  72. data/config/locales/translation_ja.yml +39 -0
  73. data/config/routes.rb +7 -0
  74. data/db/fixtures/classification_types.yml +7 -0
  75. data/db/fixtures/subject_types.yml +28 -0
  76. data/db/migrate/029_create_subjects.rb +28 -0
  77. data/db/migrate/142_create_classifications.rb +19 -0
  78. data/db/migrate/144_create_classification_types.rb +16 -0
  79. data/db/migrate/145_create_subject_heading_types.rb +16 -0
  80. data/db/migrate/146_create_subject_types.rb +16 -0
  81. data/db/migrate/20110913120629_add_lft_and_rgt_to_classification.rb +11 -0
  82. data/db/migrate/20140427142354_add_classifiation_identifier_to_classification.rb +6 -0
  83. data/lib/enju_subject.rb +33 -0
  84. data/lib/enju_subject/engine.rb +8 -0
  85. data/lib/enju_subject/manifestation.rb +31 -0
  86. data/lib/enju_subject/master_model.rb +41 -0
  87. data/lib/enju_subject/version.rb +3 -0
  88. data/lib/generators/enju_subject/setup/USAGE +8 -0
  89. data/lib/generators/enju_subject/setup/setup_generator.rb +10 -0
  90. data/lib/generators/enju_subject/setup/templates/db/fixtures/classification_types.yml +13 -0
  91. data/lib/generators/enju_subject/setup/templates/db/fixtures/subject_heading_types.yml +39 -0
  92. data/lib/generators/enju_subject/setup/templates/db/fixtures/subject_types.yml +28 -0
  93. data/lib/tasks/enju_subject_tasks.rake +19 -0
  94. data/spec/controllers/classification_types_controller_spec.rb +445 -0
  95. data/spec/controllers/classifications_controller_spec.rb +441 -0
  96. data/spec/controllers/subject_heading_types_controller_spec.rb +445 -0
  97. data/spec/controllers/subject_types_controller_spec.rb +447 -0
  98. data/spec/controllers/subjects_controller_spec.rb +437 -0
  99. data/spec/dummy/Rakefile +7 -0
  100. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  101. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  102. data/spec/dummy/app/controllers/application_controller.rb +47 -0
  103. data/spec/dummy/app/helpers/application_helper.rb +21 -0
  104. data/spec/dummy/app/models/ability.rb +59 -0
  105. data/spec/dummy/app/models/setting.rb +4 -0
  106. data/spec/dummy/app/models/user.rb +43 -0
  107. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  108. data/spec/dummy/config.ru +4 -0
  109. data/spec/dummy/config/application.rb +46 -0
  110. data/spec/dummy/config/application.yml +38 -0
  111. data/spec/dummy/config/boot.rb +10 -0
  112. data/spec/dummy/config/database.yml +25 -0
  113. data/spec/dummy/config/environment.rb +5 -0
  114. data/spec/dummy/config/environments/development.rb +30 -0
  115. data/spec/dummy/config/environments/production.rb +60 -0
  116. data/spec/dummy/config/environments/test.rb +39 -0
  117. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  118. data/spec/dummy/config/initializers/devise.rb +207 -0
  119. data/spec/dummy/config/initializers/inflections.rb +10 -0
  120. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  121. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  122. data/spec/dummy/config/initializers/session_store.rb +8 -0
  123. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  124. data/spec/dummy/config/locales/devise.en.yml +57 -0
  125. data/spec/dummy/config/locales/en.yml +18 -0
  126. data/spec/dummy/config/locales/ja.yml +18 -0
  127. data/spec/dummy/config/routes.rb +60 -0
  128. data/spec/dummy/db/fixtures/roles.yml +25 -0
  129. data/spec/dummy/db/migrate/001_create_agents.rb +53 -0
  130. data/spec/dummy/db/migrate/005_create_manifestations.rb +56 -0
  131. data/spec/dummy/db/migrate/006_create_items.rb +24 -0
  132. data/spec/dummy/db/migrate/012_create_owns.rb +12 -0
  133. data/spec/dummy/db/migrate/015_create_creates.rb +12 -0
  134. data/spec/dummy/db/migrate/047_create_produces.rb +12 -0
  135. data/spec/dummy/db/migrate/059_create_libraries.rb +28 -0
  136. data/spec/dummy/db/migrate/069_create_shelves.rb +15 -0
  137. data/spec/dummy/db/migrate/073_create_carrier_types.rb +11 -0
  138. data/spec/dummy/db/migrate/077_create_user_groups.rb +12 -0
  139. data/spec/dummy/db/migrate/080_create_library_groups.rb +18 -0
  140. data/spec/dummy/db/migrate/112_create_frequencies.rb +12 -0
  141. data/spec/dummy/db/migrate/117_create_form_of_works.rb +12 -0
  142. data/spec/dummy/db/migrate/120_create_baskets.rb +12 -0
  143. data/spec/dummy/db/migrate/124_create_bookstores.rb +17 -0
  144. data/spec/dummy/db/migrate/125_create_donates.rb +12 -0
  145. data/spec/dummy/db/migrate/130_create_request_status_types.rb +12 -0
  146. data/spec/dummy/db/migrate/131_create_request_types.rb +12 -0
  147. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +13 -0
  148. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +13 -0
  149. data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +12 -0
  150. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +17 -0
  151. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +14 -0
  152. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
  153. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +28 -0
  154. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +23 -0
  155. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +15 -0
  156. data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +22 -0
  157. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +22 -0
  158. data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +15 -0
  159. data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +15 -0
  160. data/spec/dummy/db/migrate/20090719201843_create_extents.rb +12 -0
  161. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +12 -0
  162. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +12 -0
  163. data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +12 -0
  164. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +27 -0
  165. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +12 -0
  166. data/spec/dummy/db/migrate/20091202124834_create_versions.rb +18 -0
  167. data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +13 -0
  168. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +15 -0
  169. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  170. data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +13 -0
  171. data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +10 -0
  172. data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +13 -0
  173. data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +13 -0
  174. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +12 -0
  175. data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +11 -0
  176. data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +15 -0
  177. data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +12 -0
  178. data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +9 -0
  179. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  180. data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +9 -0
  181. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +11 -0
  182. data/spec/dummy/db/migrate/20110425133109_add_issn_to_series_statement.rb +9 -0
  183. data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +9 -0
  184. data/spec/dummy/db/migrate/20110618091240_add_periodical_to_series_statement.rb +9 -0
  185. data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +9 -0
  186. data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +11 -0
  187. data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +9 -0
  188. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +12 -0
  189. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +13 -0
  190. data/spec/dummy/db/migrate/20110820131417_create_series_has_manifestations.rb +13 -0
  191. data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +13 -0
  192. data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +13 -0
  193. data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +10 -0
  194. data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +9 -0
  195. data/spec/dummy/db/migrate/20111009183423_add_ndc_to_manifestation.rb +9 -0
  196. data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +12 -0
  197. data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +12 -0
  198. data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +12 -0
  199. data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +7 -0
  200. data/spec/dummy/db/migrate/20111201121844_create_roles.rb +12 -0
  201. data/spec/dummy/db/migrate/20111201155456_create_users.rb +8 -0
  202. data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +49 -0
  203. data/spec/dummy/db/migrate/20111201163718_create_user_has_roles.rb +10 -0
  204. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
  205. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +6 -0
  206. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +12 -0
  207. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +6 -0
  208. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +6 -0
  209. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +14 -0
  210. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +5 -0
  211. data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +5 -0
  212. data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +5 -0
  213. data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +5 -0
  214. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +5 -0
  215. data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +5 -0
  216. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +5 -0
  217. data/spec/dummy/db/migrate/20120415060308_rename_resource_import_file_imported_at_to_executed_at.rb +9 -0
  218. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +5 -0
  219. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +5 -0
  220. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +5 -0
  221. data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +6 -0
  222. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +5 -0
  223. data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +26 -0
  224. data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +5 -0
  225. data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +7 -0
  226. data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +5 -0
  227. data/spec/dummy/db/migrate/20130506175303_create_identifier_types.rb +12 -0
  228. data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +15 -0
  229. data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +5 -0
  230. data/spec/dummy/db/schema.rb +901 -0
  231. data/spec/dummy/db/seeds.rb +32 -0
  232. data/spec/dummy/public/404.html +26 -0
  233. data/spec/dummy/public/422.html +26 -0
  234. data/spec/dummy/public/500.html +26 -0
  235. data/spec/dummy/public/favicon.ico +0 -0
  236. data/spec/dummy/script/rails +6 -0
  237. data/spec/dummy/spec/fixtures/subjects.yml +72 -0
  238. data/spec/dummy/test/fixtures/user_groups.yml +13 -0
  239. data/spec/dummy/test/fixtures/user_has_roles.yml +9 -0
  240. data/spec/dummy/test/fixtures/users.yml +11 -0
  241. data/spec/dummy/test/unit/user_group_test.rb +7 -0
  242. data/spec/dummy/test/unit/user_has_role_test.rb +7 -0
  243. data/spec/dummy/test/unit/user_test.rb +7 -0
  244. data/spec/factories/classification.rb +6 -0
  245. data/spec/factories/classification_type.rb +5 -0
  246. data/spec/factories/manifestation.rb +6 -0
  247. data/spec/factories/subject.rb +7 -0
  248. data/spec/factories/subject_heading_type.rb +5 -0
  249. data/spec/factories/subject_heading_type_has_subject.rb +6 -0
  250. data/spec/factories/subject_type.rb +5 -0
  251. data/spec/factories/user.rb +34 -0
  252. data/spec/fixtures/agent_types.yml +35 -0
  253. data/spec/fixtures/agents.yml +143 -0
  254. data/spec/fixtures/carrier_types.yml +51 -0
  255. data/spec/fixtures/classification_types.yml +188 -0
  256. data/spec/fixtures/classifications.yml +118 -0
  257. data/spec/fixtures/languages.yml +1901 -0
  258. data/spec/fixtures/library_groups.yml +33 -0
  259. data/spec/fixtures/manifestations.yml +22 -0
  260. data/spec/fixtures/roles.yml +21 -0
  261. data/spec/fixtures/shtsv.tsv +3 -0
  262. data/spec/fixtures/subject_heading_types.yml +39 -0
  263. data/spec/fixtures/subject_types.yml +42 -0
  264. data/spec/fixtures/subjects.yml +80 -0
  265. data/spec/fixtures/user_groups.yml +25 -0
  266. data/spec/fixtures/user_has_roles.yml +41 -0
  267. data/spec/fixtures/users.yml +69 -0
  268. data/spec/models/classification_spec.rb +46 -0
  269. data/spec/models/classification_type_spec.rb +21 -0
  270. data/spec/models/subject_heading_type_spec.rb +21 -0
  271. data/spec/models/subject_spec.rb +33 -0
  272. data/spec/models/subject_type_spec.rb +21 -0
  273. data/spec/requests/subjects_spec.rb +9 -0
  274. data/spec/routing/subject_heading_types_routing_spec.rb +35 -0
  275. data/spec/routing/subject_types_routing_spec.rb +35 -0
  276. data/spec/routing/subjects_routing_spec.rb +35 -0
  277. data/spec/spec_helper.rb +45 -0
  278. data/spec/support/controller_macros.rb +48 -0
  279. data/spec/support/devise.rb +3 -0
  280. metadata +675 -0
@@ -0,0 +1,25 @@
1
+ <div id="content_detail" class="ui-corner-all">
2
+ <h1 class="title"><%= t('page.showing', :model => t('activerecord.models.work_has_subject')) -%></h1>
3
+ <div id="content_list">
4
+ <p id="notice"><%= notice %></p>
5
+
6
+ <p>
7
+ <strong><%= t('activerecord.attributes.work_has_subject.work') -%>:</strong>
8
+ <!-- TODO: Manifestation以外 -->
9
+ <%= link_to @work_has_subject.work.original_title, @work_has_subject.work if @work_has_subject.work -%>
10
+ </p>
11
+
12
+ <p>
13
+ <strong><%= t('activerecord.attributes.work_has_subject.subject') -%>:</strong>
14
+ <%= link_to @work_has_subject.subject.term, @work_has_subject.subject -%>
15
+ </p>
16
+
17
+ </div>
18
+ </div>
19
+
20
+ <div id="submenu" class="ui-corner-all">
21
+ <ul>
22
+ <li><%= link_to t('page.listing', :model => t('activerecord.models.work_has_subject')), work_has_subjects_path -%></li>
23
+ <li><%= link_to t('page.listing', :model => t('activerecord.models.subject')), subjects_path -%></li>
24
+ </ul>
25
+ </div>
@@ -0,0 +1,35 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ subject: Subject
5
+ subject_type: Subject type
6
+ subject_heading_type: Subject heading type
7
+ classification: Classification
8
+ classification_type: Classification type
9
+
10
+ attributes:
11
+ subject:
12
+ term: Term
13
+ term_transcription: Term transcription
14
+ scope_note: Scope note
15
+ note: Note
16
+ lock_version: Lock version
17
+ subject_type:
18
+ name: Name
19
+ display_name: Display name
20
+ note: Note
21
+ position: Position
22
+ subject_heading_type:
23
+ name: Name
24
+ display_name: Display name
25
+ note: Note
26
+ position: Position
27
+ classification:
28
+ category: Category
29
+ name: Name
30
+ note: Note
31
+ classification_type:
32
+ name: Name
33
+ display_name: Display name
34
+ note: Note
35
+ position: Position
@@ -0,0 +1,39 @@
1
+ ja:
2
+ activerecord:
3
+ models:
4
+ subject: 件名
5
+ subject_type: 件名の種類
6
+ subject_heading_type: 件名標目の種類
7
+ classification: 分類
8
+ classification_type: 分類の種類
9
+
10
+ attributes:
11
+ subject:
12
+ term: 用語
13
+ term_transcription: 用語よみ
14
+ scope_note: スコープ注記
15
+ note: 注記
16
+ lock_version: ロックバージョン
17
+ subject_type:
18
+ name: 名前
19
+ display_name: 表示名
20
+ note: 注記
21
+ position: 位置
22
+ subject_heading_type:
23
+ name: 名前
24
+ display_name: 表示名
25
+ note: 注記
26
+ position: 位置
27
+ classification:
28
+ category: カテゴリー
29
+ name: 名前
30
+ note: 注記
31
+ classifiation_identifier: 記号
32
+ classification_type:
33
+ name: 名前
34
+ display_name: 表示名
35
+ note: 注記
36
+ position: 位置
37
+
38
+ manifestation_page:
39
+ classification_ph: "分類記号を入力"
data/config/routes.rb ADDED
@@ -0,0 +1,7 @@
1
+ Rails.application.routes.draw do
2
+ resources :subject_heading_types
3
+ resources :classification_types
4
+ resources :classifications
5
+ resources :subject_types
6
+ resources :subjects
7
+ end
@@ -0,0 +1,7 @@
1
+ ---
2
+ classification_type_00001:
3
+ name: unknown
4
+ display_name: unknown
5
+ id: 1
6
+ note: ""
7
+ position: 1
@@ -0,0 +1,28 @@
1
+ ---
2
+ subject_type_00001:
3
+ id: 1
4
+ name: Concept
5
+ display_name: Concept
6
+ note:
7
+ position: 1
8
+
9
+ subject_type_00002:
10
+ id: 2
11
+ name: Event
12
+ display_name: Event
13
+ note:
14
+ position: 2
15
+
16
+ subject_type_00003:
17
+ id: 3
18
+ name: Object
19
+ display_name: Object
20
+ note:
21
+ position: 3
22
+
23
+ subject_type_00004:
24
+ id: 4
25
+ name: Place
26
+ display_name: Place
27
+ note:
28
+ position: 4
@@ -0,0 +1,28 @@
1
+ class CreateSubjects < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :subjects do |t|
4
+ t.integer :parent_id
5
+ t.integer :use_term_id
6
+ t.string :term
7
+ t.text :term_transcription
8
+ t.integer :subject_type_id, :null => false
9
+ t.text :scope_note
10
+ t.text :note
11
+ t.integer :required_role_id, :default => 1, :null => false
12
+ t.integer :work_has_subjects_count, :default => 0, :null => false
13
+ t.integer :lock_version, :default => 0, :null => false
14
+ t.datetime :created_at
15
+ t.datetime :updated_at
16
+ t.datetime :deleted_at
17
+ end
18
+ add_index :subjects, :term
19
+ add_index :subjects, :parent_id
20
+ add_index :subjects, :use_term_id
21
+ add_index :subjects, :subject_type_id
22
+ add_index :subjects, :required_role_id
23
+ end
24
+
25
+ def self.down
26
+ drop_table :subjects
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+ class CreateClassifications < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :classifications do |t|
4
+ t.integer :parent_id
5
+ t.string :category, :null => false
6
+ t.text :note
7
+ t.integer :classification_type_id, :null => false
8
+
9
+ t.timestamps
10
+ end
11
+ add_index :classifications, :parent_id
12
+ add_index :classifications, :category
13
+ add_index :classifications, :classification_type_id
14
+ end
15
+
16
+ def self.down
17
+ drop_table :classifications
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ class CreateClassificationTypes < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :classification_types do |t|
4
+ t.string :name, :null => false
5
+ t.text :display_name
6
+ t.text :note
7
+ t.integer :position
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :classification_types
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ class CreateSubjectHeadingTypes < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :subject_heading_types do |t|
4
+ t.string :name, :null => false
5
+ t.text :display_name
6
+ t.text :note
7
+ t.integer :position
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :subject_heading_types
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ class CreateSubjectTypes < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :subject_types do |t|
4
+ t.string :name, :null => false
5
+ t.text :display_name
6
+ t.text :note
7
+ t.integer :position
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :subject_types
15
+ end
16
+ end
@@ -0,0 +1,11 @@
1
+ class AddLftAndRgtToClassification < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :classifications, :lft, :integer
4
+ add_column :classifications, :rgt, :integer
5
+ end
6
+
7
+ def self.down
8
+ remove_column :classifications, :rgt
9
+ remove_column :classifications, :lft
10
+ end
11
+ end
@@ -0,0 +1,6 @@
1
+ class AddClassifiationIdentifierToClassification < ActiveRecord::Migration
2
+ def change
3
+ add_column :classifications, :classifiation_identifier, :string
4
+ add_index :classifications, [:classifiation_identifier, :classification_type_id], :name => 'classifications_index1'
5
+ end
6
+ end
@@ -0,0 +1,33 @@
1
+ require "enju_subject/engine"
2
+ require "enju_subject/manifestation"
3
+
4
+ module EnjuSubject
5
+ def self.included(base)
6
+ base.extend(ClassMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+ def enju_subject
11
+ include EnjuSubject::InstanceMethods
12
+ end
13
+ end
14
+
15
+ module InstanceMethods
16
+ private
17
+
18
+ def get_subject_heading_type
19
+ @subject_heading_type = SubjectHeadingType.find(params[:subject_heading_type_id]) if params[:subject_heading_type_id]
20
+ end
21
+
22
+ def get_subject
23
+ @subject = Subject.find(params[:subject_id]) if params[:subject_id]
24
+ end
25
+
26
+ def get_classification
27
+ @classification = Classification.find(params[:classification_id]) if params[:classification_id]
28
+ end
29
+ end
30
+ end
31
+
32
+ ActionController::Base.send :include, EnjuSubject
33
+ ActiveRecord::Base.send :include, EnjuSubject::EnjuManifestation
@@ -0,0 +1,8 @@
1
+ require 'enju_core'
2
+ require 'inherited_resources'
3
+ require 'dynamic_form'
4
+
5
+ module EnjuSubject
6
+ class Engine < ::Rails::Engine
7
+ end
8
+ end
@@ -0,0 +1,31 @@
1
+ module EnjuSubject
2
+ module EnjuManifestation
3
+ def self.included(base)
4
+ base.extend ClassMethods
5
+ end
6
+
7
+ module ClassMethods
8
+ def enju_subject_manifestation_model
9
+ include InstanceMethods
10
+ attr_accessible :subjects_attributes, :classifications_attributes
11
+ has_many :subjects
12
+ has_many :classifications
13
+ accepts_nested_attributes_for :subjects, :allow_destroy => true, :reject_if => :all_blank
14
+ accepts_nested_attributes_for :classifications, :allow_destroy => true, :reject_if => :all_blank
15
+
16
+ searchable do
17
+ text :subject do
18
+ subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact
19
+ end
20
+ string :subject, :multiple => true do
21
+ subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact
22
+ end
23
+ string :classification, :multiple => true do
24
+ classifications.collect(&:category)
25
+ end
26
+ integer :subject_ids, :multiple => true
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,41 @@
1
+ module MasterModel
2
+ def self.included(base)
3
+ #base.extend ClassMethods
4
+ base.send :include, InstanceMethods
5
+ base.class_eval do
6
+ acts_as_list
7
+ validates_uniqueness_of :name, :case_sensitive => false
8
+ validates_presence_of :name, :display_name
9
+ before_validation :set_display_name, :on => :create
10
+ normalize_attributes :name
11
+ end
12
+ end
13
+
14
+ module InstanceMethods
15
+ def set_display_name
16
+ self.display_name = self.name if self.display_name.blank?
17
+ end
18
+
19
+ def check_creatable
20
+ if creatable?
21
+ raise NotModifiableError
22
+ end
23
+ end
24
+
25
+ def check_deletable
26
+ if deletable?
27
+ raise NotModifiableError
28
+ end
29
+ end
30
+
31
+ def creatable?
32
+ false
33
+ end
34
+
35
+ def deletable?
36
+ false
37
+ end
38
+ end
39
+
40
+ class NotModifiableError < StandardError; end
41
+ end
@@ -0,0 +1,3 @@
1
+ module EnjuTrunkSubject
2
+ VERSION = "1.0.4"
3
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ rails generate setup Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,10 @@
1
+ class EnjuSubject::SetupGenerator < Rails::Generators::Base
2
+ source_root File.expand_path('../templates', __FILE__)
3
+
4
+ def copy_setup_files
5
+ directory("db/fixtures", "db/fixtures/enju_subject")
6
+ rake("enju_subject_engine:install:migrations")
7
+ inject_into_file 'app/controllers/application_controller.rb',
8
+ " enju_subject\n", :after => "enju_library\n"
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ ---
2
+ classification_type_00001:
3
+ name: ndc9
4
+ display_name: NDC9
5
+ id: 1
6
+ note: ""
7
+ position: 1
8
+ classification_type_00002:
9
+ name: ddc
10
+ display_name: DDC
11
+ id: 2
12
+ note: ""
13
+ position: 2
@@ -0,0 +1,39 @@
1
+ ---
2
+ subject_heading_type_00001:
3
+ name: unknown
4
+ display_name: unknown
5
+ updated_at: 2008-03-03 00:44:49.850140 +09:00
6
+ id: 1
7
+ note: ""
8
+ created_at: 2008-03-03 00:44:34.260739 +09:00
9
+ position: 1
10
+ subject_heading_type_00002:
11
+ name: ndlsh
12
+ display_name: NDLSH
13
+ updated_at: 2008-03-03 00:44:49.850140 +09:00
14
+ id: 2
15
+ note: ""
16
+ created_at: 2008-03-03 00:44:34.260739 +09:00
17
+ position: 2
18
+ subject_heading_type_00003:
19
+ name: bsh
20
+ display_name: BSH
21
+ updated_at: 2008-03-03 00:44:58.685360 +09:00
22
+ id: 3
23
+ note: ""
24
+ created_at: 2008-03-03 00:44:58.685360 +09:00
25
+ position: 3
26
+
27
+ # == Schema Information
28
+ #
29
+ # Table name: subject_heading_types
30
+ #
31
+ # id :integer not null, primary key
32
+ # name :string(255) not null
33
+ # display_name :text
34
+ # note :text
35
+ # position :integer
36
+ # created_at :datetime not null
37
+ # updated_at :datetime not null
38
+ #
39
+