iqvoc 4.14.5 → 4.15.0

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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/Gemfile +9 -16
  4. data/Gemfile.lock +313 -257
  5. data/README.md +1 -1
  6. data/app/aides/entity_logger.rb +27 -0
  7. data/app/aides/maker.rb +1 -1
  8. data/app/aides/origin.rb +1 -1
  9. data/app/aides/{rdfapi.rb → rdf_api.rb} +1 -1
  10. data/app/aides/skos_importer.rb +1 -1
  11. data/app/assets/javascripts/iqvoc/iqvoc.js +4 -3
  12. data/app/assets/javascripts/iqvoc/treeview.js +3 -3
  13. data/app/assets/stylesheets/_framework.scss +1 -1
  14. data/app/controllers/collections/alphabetical_controller.rb +75 -0
  15. data/app/controllers/collections/expired_controller.rb +37 -0
  16. data/app/controllers/collections_controller.rb +22 -28
  17. data/app/controllers/concepts/alphabetical_controller.rb +4 -6
  18. data/app/controllers/concepts/expired_controller.rb +1 -1
  19. data/app/controllers/concepts/hierarchical_controller.rb +18 -15
  20. data/app/controllers/concepts_controller.rb +0 -3
  21. data/app/controllers/concepts_movement_controller.rb +1 -1
  22. data/app/controllers/concerns/controller_extensions.rb +15 -0
  23. data/app/controllers/dashboard_controller.rb +1 -1
  24. data/app/controllers/exports_controller.rb +17 -8
  25. data/app/controllers/rdf_controller.rb +0 -2
  26. data/app/controllers/remote_labels_controller.rb +0 -2
  27. data/app/controllers/search_results_controller.rb +59 -43
  28. data/app/helpers/concepts_helper.rb +2 -2
  29. data/app/helpers/navigation_helper.rb +7 -7
  30. data/app/helpers/rdf_helper.rb +2 -0
  31. data/app/jobs/export_job.rb +4 -7
  32. data/app/models/collection/base.rb +6 -8
  33. data/app/models/collection/member/skos/base.rb +2 -2
  34. data/app/models/collection/skos/base.rb +1 -1
  35. data/app/models/collection/skos/unordered.rb +1 -1
  36. data/app/models/collection/unordered.rb +2 -2
  37. data/app/models/concept/base.rb +2 -10
  38. data/app/models/concept/relation/base.rb +1 -1
  39. data/app/models/concept/relation/skos/base.rb +2 -2
  40. data/app/models/concept/relation/skos/broader/base.rb +2 -2
  41. data/app/models/concept/relation/skos/broader/mono.rb +1 -1
  42. data/app/models/concept/relation/skos/broader/poly.rb +1 -1
  43. data/app/models/concept/relation/skos/narrower/base.rb +1 -1
  44. data/app/models/concept/relation/skos/related.rb +1 -1
  45. data/app/models/concept/skos/base.rb +1 -1
  46. data/app/models/concept/skos/scheme.rb +2 -2
  47. data/app/models/concept/validations.rb +14 -0
  48. data/app/models/concerns/expirable.rb +14 -0
  49. data/app/models/export.rb +21 -9
  50. data/app/models/label/base.rb +19 -1
  51. data/app/models/label/skos/base.rb +1 -1
  52. data/app/models/labeling/base.rb +12 -0
  53. data/app/models/labeling/skos/alt_label.rb +1 -1
  54. data/app/models/labeling/skos/base.rb +4 -4
  55. data/app/models/labeling/skos/hidden_label.rb +1 -1
  56. data/app/models/labeling/skos/pref_label.rb +1 -1
  57. data/app/models/match/skos/base.rb +3 -3
  58. data/app/models/match/skos/broad_match.rb +2 -2
  59. data/app/models/match/skos/close_match.rb +1 -1
  60. data/app/models/match/skos/exact_match.rb +1 -1
  61. data/app/models/match/skos/mapping_relation.rb +1 -1
  62. data/app/models/match/skos/narrow_match.rb +2 -2
  63. data/app/models/match/skos/related_match.rb +1 -1
  64. data/app/models/note/base.rb +2 -2
  65. data/app/models/note/rdfs/see_also.rb +1 -1
  66. data/app/models/note/skos/base.rb +4 -4
  67. data/app/models/note/skos/change_note.rb +2 -2
  68. data/app/models/note/skos/definition.rb +1 -1
  69. data/app/models/note/skos/editorial_note.rb +1 -1
  70. data/app/models/note/skos/example.rb +1 -1
  71. data/app/models/note/skos/history_note.rb +1 -1
  72. data/app/models/note/skos/scope_note.rb +1 -1
  73. data/app/presenters/alphabetical_search_result.rb +2 -2
  74. data/app/services/rdf_sync_service.rb +1 -1
  75. data/app/uploaders/base.rb +4 -3
  76. data/app/view_models/concept_view.rb +1 -1
  77. data/app/views/collections/_data.html.erb +1 -1
  78. data/app/views/collections/_form.html.erb +14 -2
  79. data/app/views/collections/alphabetical/_search_result.html.erb +17 -0
  80. data/app/views/collections/alphabetical/_search_result_remote.html.erb +14 -0
  81. data/app/views/collections/alphabetical/index.html.erb +23 -0
  82. data/app/views/collections/edit.html.erb +1 -1
  83. data/app/views/collections/expired/index.html.erb +23 -0
  84. data/app/views/collections/index.html.erb +1 -1
  85. data/app/views/collections/new.html.erb +1 -1
  86. data/app/views/collections/show_published.html.erb +1 -1
  87. data/app/views/collections/show_unpublished.html.erb +1 -1
  88. data/app/views/collections/sidebars/_plural.html.erb +28 -0
  89. data/app/views/collections/sidebars/_singular.html.erb +22 -0
  90. data/app/views/concepts/_form.html.erb +1 -1
  91. data/app/views/concepts/alphabetical/index.html.erb +1 -1
  92. data/app/views/concepts/expired/index.html.erb +1 -1
  93. data/app/views/concepts/glance.html.erb +1 -1
  94. data/app/views/concepts/scheme/edit.html.erb +1 -1
  95. data/app/views/concepts/sidebars/_plural.html.erb +1 -1
  96. data/app/views/concepts/sidebars/_singular.html.erb +1 -1
  97. data/app/views/dashboard/glance.html.erb +1 -1
  98. data/app/views/exports/index.html.erb +5 -1
  99. data/app/views/exports/show.html.erb +1 -1
  100. data/app/views/partials/collection/_inline_base.html.erb +4 -0
  101. data/app/views/search_results/_sidebar.html.erb +1 -1
  102. data/config/application.rb +7 -2
  103. data/config/ci.rb +20 -0
  104. data/config/database.yml +15 -21
  105. data/config/database.yml.postgresql +13 -20
  106. data/config/engine.rb +1 -0
  107. data/config/environments/development.rb +1 -1
  108. data/config/environments/production.rb +1 -1
  109. data/config/environments/test.rb +1 -1
  110. data/config/initializers/content_security_policy.rb +6 -2
  111. data/config/initializers/filter_parameter_logging.rb +4 -4
  112. data/config/initializers/new_framework_defaults_7_1.rb +280 -0
  113. data/config/initializers/new_framework_defaults_8_0.rb +30 -0
  114. data/config/initializers/new_framework_defaults_8_1.rb +74 -0
  115. data/config/initializers/permissions_policy.rb +11 -9
  116. data/config/initializers/zeitwerk.rb +1 -3
  117. data/config/locales/de.yml +4 -1
  118. data/config/locales/en.yml +4 -1
  119. data/config/locales/pt.yml +2 -1
  120. data/config/puma.rb +34 -35
  121. data/config/routes.rb +3 -1
  122. data/db/migrate/20110510162719_use_mono_hierarchy_instead_of_poly_hierarchy.rb +2 -2
  123. data/db/migrate/20130227145825_fix_collection_type.rb +3 -3
  124. data/db/migrate/20130502151221_fix_collection_member_types.rb +1 -1
  125. data/db/migrate/20250218160045_adapt_zeitwerk_naming_to_iqvoc.rb +25 -0
  126. data/db/migrate/20250326182601_adapt_zeitwerk_skos_naming_to_instance_configuration.rb +11 -0
  127. data/db/schema.rb +100 -1
  128. data/iqvoc.gemspec +4 -4
  129. data/lib/iqvoc/configuration/collection.rb +16 -4
  130. data/lib/iqvoc/configuration/concept.rb +22 -18
  131. data/lib/iqvoc/configuration/core.rb +9 -23
  132. data/lib/iqvoc/configuration/label.rb +1 -1
  133. data/lib/iqvoc/environments/development.rb +62 -57
  134. data/lib/iqvoc/environments/production.rb +70 -67
  135. data/lib/iqvoc/environments/test.rb +44 -38
  136. data/lib/iqvoc/version.rb +1 -1
  137. data/test/controllers/concepts_movement_controller_test.rb +14 -14
  138. data/test/controllers/hierarchy_test.rb +0 -1
  139. data/test/controllers/reverse_match_test.rb +6 -6
  140. data/test/integration/alphabetical_test.rb +5 -5
  141. data/test/integration/browse_concepts_and_labels_test.rb +4 -4
  142. data/test/integration/client_edit_concept_test.rb +1 -1
  143. data/test/integration/collection_browsing_test.rb +2 -2
  144. data/test/integration/collection_circularity_test.rb +10 -10
  145. data/test/integration/collection_test.rb +79 -0
  146. data/test/integration/concept_browsing_test.rb +3 -3
  147. data/test/integration/concept_collection_assignment_test.rb +4 -4
  148. data/test/integration/concept_scheme_browsing_test.rb +7 -7
  149. data/test/integration/edit_collections_test.rb +1 -1
  150. data/test/integration/edit_concepts_test.rb +2 -2
  151. data/test/integration/instance_configuration_browsing_test.rb +1 -1
  152. data/test/integration/note_annotations_test.rb +2 -2
  153. data/test/integration/reverse_match_job_test.rb +9 -9
  154. data/test/integration/search_test.rb +20 -10
  155. data/test/integration/tree_test.rb +5 -5
  156. data/test/integration/untranslated_test.rb +2 -2
  157. data/test/integration_test_helper.rb +7 -0
  158. data/test/models/concept_scheme_test.rb +6 -6
  159. data/test/models/concept_test.rb +38 -38
  160. data/test/models/deep_cloning_test.rb +6 -6
  161. data/test/models/note_test.rb +4 -4
  162. data/test/models/rdf_sync_test.rb +1 -1
  163. data/test/models/rdfapi_test.rb +24 -24
  164. data/test/models/skos_collection_import_test.rb +3 -3
  165. data/test/models/skos_import_test.rb +4 -4
  166. metadata +44 -32
  167. data/app/views/collections/_sidebar.html.erb +0 -20
  168. data/config/environments/heroku.rb +0 -81
  169. data/config/initializers/heroku.rb +0 -24
  170. data/config/secrets.yml +0 -35
  171. /data/{app/helpers → lib}/iqvoc_module_helper.rb +0 -0
  172. /data/{app/models/concerns → lib}/search_extension.rb +0 -0
@@ -2,56 +2,56 @@ require File.join(File.expand_path(File.dirname(__FILE__)), '../test_helper')
2
2
 
3
3
  class RDFAPITest < ActiveSupport::TestCase
4
4
  test 'should instantiate known class names using strings only' do
5
- result = RDFAPI.devour 'foobar', 'a', 'Concept::SKOS::Base'
6
- assert result.is_a? Concept::SKOS::Base
5
+ result = RdfApi.devour 'foobar', 'a', 'Concept::Skos::Base'
6
+ assert result.is_a? Concept::Skos::Base
7
7
  assert_equal result.origin, 'foobar'
8
8
  end
9
9
 
10
10
  test 'should instantiate known class names using constant' do
11
- result = RDFAPI.devour 'foobar', 'a', Concept::SKOS::Base
12
- assert result.is_a? Concept::SKOS::Base
11
+ result = RdfApi.devour 'foobar', 'a', Concept::Skos::Base
12
+ assert result.is_a? Concept::Skos::Base
13
13
  assert_equal result.origin, 'foobar'
14
14
  end
15
15
 
16
16
  test 'should instantiate known class names from dictionary using strings only' do
17
- concept_result1 = RDFAPI.devour 'foofoo', 'a', 'skos:Concept'
17
+ concept_result1 = RdfApi.devour 'foofoo', 'a', 'skos:Concept'
18
18
  assert concept_result1.is_a? Iqvoc::Concept.base_class
19
19
 
20
- concept_result2 = RDFAPI.devour 'foobar', 'rdf:type', 'skos:Concept'
20
+ concept_result2 = RdfApi.devour 'foobar', 'rdf:type', 'skos:Concept'
21
21
  assert concept_result2.is_a? Iqvoc::Concept.base_class
22
22
 
23
- collection_result = RDFAPI.devour 'foobaz', 'a', 'skos:Collection'
23
+ collection_result = RdfApi.devour 'foobaz', 'a', 'skos:Collection'
24
24
  assert collection_result.is_a? Iqvoc::Collection.base_class
25
25
  end
26
26
 
27
27
  test 'should add member to collection using strings only' do
28
- foobar = RDFAPI.devour *%w(foobar a skos:Concept)
29
- barbaz = RDFAPI.devour *%w(barbaz a skos:Collection)
30
- member = RDFAPI.devour barbaz, 'skos:member', foobar
28
+ foobar = RdfApi.devour *%w(foobar a skos:Concept)
29
+ barbaz = RdfApi.devour *%w(barbaz a skos:Collection)
30
+ member = RdfApi.devour barbaz, 'skos:member', foobar
31
31
 
32
32
  assert member.save
33
- assert member.is_a?(Collection::Member::SKOS::Base)
33
+ assert member.is_a?(Collection::Member::Skos::Base)
34
34
  assert_equal member.collection, barbaz
35
35
  assert_equal member.target, foobar
36
36
  end
37
37
 
38
38
  test 'should add member to collection using classes' do
39
- foobar = RDFAPI.devour *%w(foobar a skos:Concept)
40
- barbaz = RDFAPI.devour *%w(barbaz a skos:Collection)
41
- member = RDFAPI.devour barbaz, Collection::Member::SKOS::Base, foobar
39
+ foobar = RdfApi.devour *%w(foobar a skos:Concept)
40
+ barbaz = RdfApi.devour *%w(barbaz a skos:Collection)
41
+ member = RdfApi.devour barbaz, Collection::Member::Skos::Base, foobar
42
42
 
43
43
  assert member.save
44
- assert member.is_a?(Collection::Member::SKOS::Base)
44
+ assert member.is_a?(Collection::Member::Skos::Base)
45
45
  assert_equal member.collection, barbaz
46
46
  assert_equal member.target, foobar
47
47
  end
48
48
 
49
49
  test 'should set pref label using string' do
50
- foobar = RDFAPI.devour *%w(foobar a skos:Concept)
50
+ foobar = RdfApi.devour *%w(foobar a skos:Concept)
51
51
  foobar.save
52
- labeling = RDFAPI.devour foobar, 'skos:prefLabel', '"Foo Bar"@en'
52
+ labeling = RdfApi.devour foobar, 'skos:prefLabel', '"Foo Bar"@en'
53
53
 
54
- assert labeling.is_a? Labeling::SKOS::PrefLabel
54
+ assert labeling.is_a? Labeling::Skos::PrefLabel
55
55
  assert_equal 'en', labeling.target.language
56
56
  assert_equal 'Foo Bar', labeling.target.value
57
57
  assert labeling.save
@@ -59,20 +59,20 @@ class RDFAPITest < ActiveSupport::TestCase
59
59
  end
60
60
 
61
61
  test 'should set pref label using class' do
62
- foobar = RDFAPI.devour *%w(foobar a skos:Concept)
63
- labeling = RDFAPI.devour foobar, Labeling::SKOS::PrefLabel, '"Foo Bar"@en'
62
+ foobar = RdfApi.devour *%w(foobar a skos:Concept)
63
+ labeling = RdfApi.devour foobar, Labeling::Skos::PrefLabel, '"Foo Bar"@en'
64
64
 
65
- assert labeling.is_a? Labeling::SKOS::PrefLabel
65
+ assert labeling.is_a? Labeling::Skos::PrefLabel
66
66
  assert_equal 'en', labeling.target.language
67
67
  assert_equal 'Foo Bar', labeling.target.value
68
68
  assert labeling.save
69
69
  end
70
70
 
71
71
  test 'should set alt label using string' do
72
- foobar = RDFAPI.devour *%w(foobar a skos:Concept)
73
- labeling = RDFAPI.devour foobar, 'skos:altLabel', '"Foo Bar"@de'
72
+ foobar = RdfApi.devour *%w(foobar a skos:Concept)
73
+ labeling = RdfApi.devour foobar, 'skos:altLabel', '"Foo Bar"@de'
74
74
 
75
- assert labeling.is_a? Labeling::SKOS::AltLabel
75
+ assert labeling.is_a? Labeling::Skos::AltLabel
76
76
  assert_equal 'de', labeling.target.language
77
77
  assert_equal 'Foo Bar', labeling.target.value
78
78
  assert labeling.save
@@ -18,15 +18,15 @@ require File.join(File.expand_path(File.dirname(__FILE__)), '../test_helper')
18
18
 
19
19
  class SkosCollectionImportTest < ActiveSupport::TestCase
20
20
  setup do
21
- Iqvoc::Concept.pref_labeling_class_name = 'Labeling::SKOS::PrefLabel'
21
+ Iqvoc::Concept.pref_labeling_class_name = 'Labeling::Skos::PrefLabel'
22
22
 
23
23
  Iqvoc.config.register_setting('languages.pref_labeling', ['de', 'en'])
24
- Iqvoc.config.register_setting('languages.further_labelings.Labeling::SKOS::AltLabel', ['de', 'en'])
24
+ Iqvoc.config.register_setting('languages.further_labelings.Labeling::Skos::AltLabel', ['de', 'en'])
25
25
  end
26
26
 
27
27
  teardown do
28
28
  Iqvoc.config['languages.pref_labeling'] = ['en', 'de']
29
- Iqvoc.config['languages.further_labelings.Labeling::SKOS::AltLabel'] = ['en', 'de']
29
+ Iqvoc.config['languages.further_labelings.Labeling::Skos::AltLabel'] = ['en', 'de']
30
30
  end
31
31
 
32
32
  TEST_DATA = (<<-DATA
@@ -51,7 +51,7 @@ class SkosImportTest < ActiveSupport::TestCase
51
51
  end
52
52
 
53
53
  test 'basic_importer_functionality' do
54
- assert_difference('Concept::SKOS::Base.count', 4) do
54
+ assert_difference('Concept::Skos::Base.count', 4) do
55
55
  SkosImporter.new(TEST_DATA, 'http://www.example.com/').run
56
56
  end
57
57
 
@@ -87,7 +87,7 @@ class SkosImportTest < ActiveSupport::TestCase
87
87
  end
88
88
 
89
89
  test 'incorrect origin' do
90
- assert_difference('Concept::SKOS::Base.count', 0) do
90
+ assert_difference('Concept::Skos::Base.count', 0) do
91
91
  SkosImporter.new(
92
92
  [
93
93
  '<http://www.example.com/1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2008/05/skos#Concept>.',
@@ -107,7 +107,7 @@ class SkosImportTest < ActiveSupport::TestCase
107
107
  DATA
108
108
  ).split("\n")
109
109
 
110
- assert_difference('Note::SKOS::ChangeNote.count', 1) do
110
+ assert_difference('Note::Skos::ChangeNote.count', 1) do
111
111
  SkosImporter.new(test_data, 'http://www.example.com/').run
112
112
  end
113
113
 
@@ -138,7 +138,7 @@ class SkosImportTest < ActiveSupport::TestCase
138
138
  DATA
139
139
  ).split("\n")
140
140
 
141
- assert_difference('Concept::SKOS::Base.tops.count', 1) do
141
+ assert_difference('Concept::Skos::Base.tops.count', 1) do
142
142
  SkosImporter.new(test_data, 'http://www.example.com/').run
143
143
  end
144
144
  end
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iqvoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.14.5
4
+ version: 4.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Glaser
8
8
  - Till Schulte-Coerne
9
9
  - Frederik Dohr
10
10
  - Marc Jansing
11
- autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2024-02-02 00:00:00.000000000 Z
13
+ date: 1980-01-02 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: rails
@@ -19,14 +18,14 @@ dependencies:
19
18
  requirements:
20
19
  - - "~>"
21
20
  - !ruby/object:Gem::Version
22
- version: 7.0.8
21
+ version: 8.1.2
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
26
25
  requirements:
27
26
  - - "~>"
28
27
  - !ruby/object:Gem::Version
29
- version: 7.0.8
28
+ version: 8.1.2
30
29
  - !ruby/object:Gem::Dependency
31
30
  name: puma
32
31
  requirement: !ruby/object:Gem::Requirement
@@ -154,7 +153,7 @@ dependencies:
154
153
  - !ruby/object:Gem::Version
155
154
  version: '0'
156
155
  - !ruby/object:Gem::Dependency
157
- name: rails_autolink
156
+ name: csv
158
157
  requirement: !ruby/object:Gem::Requirement
159
158
  requirements:
160
159
  - - ">="
@@ -168,7 +167,7 @@ dependencies:
168
167
  - !ruby/object:Gem::Version
169
168
  version: '0'
170
169
  - !ruby/object:Gem::Dependency
171
- name: faraday
170
+ name: rails_autolink
172
171
  requirement: !ruby/object:Gem::Requirement
173
172
  requirements:
174
173
  - - ">="
@@ -181,6 +180,20 @@ dependencies:
181
180
  - - ">="
182
181
  - !ruby/object:Gem::Version
183
182
  version: '0'
183
+ - !ruby/object:Gem::Dependency
184
+ name: faraday
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - '='
188
+ - !ruby/object:Gem::Version
189
+ version: 1.10.3
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - '='
195
+ - !ruby/object:Gem::Version
196
+ version: 1.10.3
184
197
  - !ruby/object:Gem::Dependency
185
198
  name: faraday_middleware
186
199
  requirement: !ruby/object:Gem::Requirement
@@ -308,7 +321,7 @@ dependencies:
308
321
  - !ruby/object:Gem::Version
309
322
  version: '0'
310
323
  - !ruby/object:Gem::Dependency
311
- name: net-http
324
+ name: database_cleaner
312
325
  requirement: !ruby/object:Gem::Requirement
313
326
  requirements:
314
327
  - - ">="
@@ -321,20 +334,6 @@ dependencies:
321
334
  - - ">="
322
335
  - !ruby/object:Gem::Version
323
336
  version: '0'
324
- - !ruby/object:Gem::Dependency
325
- name: database_cleaner
326
- requirement: !ruby/object:Gem::Requirement
327
- requirements:
328
- - - "~>"
329
- - !ruby/object:Gem::Version
330
- version: 1.8.5
331
- type: :runtime
332
- prerelease: false
333
- version_requirements: !ruby/object:Gem::Requirement
334
- requirements:
335
- - - "~>"
336
- - !ruby/object:Gem::Version
337
- version: 1.8.5
338
337
  - !ruby/object:Gem::Dependency
339
338
  name: delayed_job_active_record
340
339
  requirement: !ruby/object:Gem::Requirement
@@ -422,11 +421,12 @@ files:
422
421
  - LICENSE
423
422
  - README.md
424
423
  - Rakefile
424
+ - app/aides/entity_logger.rb
425
425
  - app/aides/inline_data_helper.rb
426
426
  - app/aides/maker.rb
427
427
  - app/aides/multi_logger.rb
428
428
  - app/aides/origin.rb
429
- - app/aides/rdfapi.rb
429
+ - app/aides/rdf_api.rb
430
430
  - app/aides/skos_exporter.rb
431
431
  - app/aides/skos_importer.rb
432
432
  - app/assets/fonts/FiraMono-Regular.eot
@@ -510,6 +510,8 @@ files:
510
510
  - app/assets/stylesheets/iqvoc/settings/_variables.scss
511
511
  - app/assets/stylesheets/manifest.scss
512
512
  - app/controllers/application_controller.rb
513
+ - app/controllers/collections/alphabetical_controller.rb
514
+ - app/controllers/collections/expired_controller.rb
513
515
  - app/controllers/collections/versions_controller.rb
514
516
  - app/controllers/collections_controller.rb
515
517
  - app/controllers/concepts/alphabetical_controller.rb
@@ -544,7 +546,6 @@ files:
544
546
  - app/helpers/concepts_helper.rb
545
547
  - app/helpers/dashboard_helper.rb
546
548
  - app/helpers/form_helper.rb
547
- - app/helpers/iqvoc_module_helper.rb
548
549
  - app/helpers/link_helper.rb
549
550
  - app/helpers/navigation_helper.rb
550
551
  - app/helpers/rdf_helper.rb
@@ -576,10 +577,10 @@ files:
576
577
  - app/models/concept/skos/base.rb
577
578
  - app/models/concept/skos/scheme.rb
578
579
  - app/models/concept/validations.rb
580
+ - app/models/concerns/expirable.rb
579
581
  - app/models/concerns/first_level_object_scopes.rb
580
582
  - app/models/concerns/first_level_object_validations.rb
581
583
  - app/models/concerns/rankable.rb
582
- - app/models/concerns/search_extension.rb
583
584
  - app/models/concerns/versioning.rb
584
585
  - app/models/configuration_setting.rb
585
586
  - app/models/dataset/adaptors/iqvoc/alphabetical_search_adaptor.rb
@@ -631,13 +632,18 @@ files:
631
632
  - app/views/collections/_data.html.erb
632
633
  - app/views/collections/_form.html.erb
633
634
  - app/views/collections/_header.html.erb
634
- - app/views/collections/_sidebar.html.erb
635
+ - app/views/collections/alphabetical/_search_result.html.erb
636
+ - app/views/collections/alphabetical/_search_result_remote.html.erb
637
+ - app/views/collections/alphabetical/index.html.erb
635
638
  - app/views/collections/edit.html.erb
639
+ - app/views/collections/expired/index.html.erb
636
640
  - app/views/collections/index.html.erb
637
641
  - app/views/collections/new.html.erb
638
642
  - app/views/collections/show.iqrdf
639
643
  - app/views/collections/show_published.html.erb
640
644
  - app/views/collections/show_unpublished.html.erb
645
+ - app/views/collections/sidebars/_plural.html.erb
646
+ - app/views/collections/sidebars/_singular.html.erb
641
647
  - app/views/concepts/_form.html.erb
642
648
  - app/views/concepts/_header.html.erb
643
649
  - app/views/concepts/alphabetical/_search_result.html.erb
@@ -695,6 +701,7 @@ files:
695
701
  - app/views/pages/help.html.erb
696
702
  - app/views/pages/version.html.erb
697
703
  - app/views/partials/collection/_edit_link_base.html.erb
704
+ - app/views/partials/collection/_inline_base.html.erb
698
705
  - app/views/partials/collection/_member.html.erb
699
706
  - app/views/partials/collection/_new_link_base.html.erb
700
707
  - app/views/partials/concept/_edit_link_base.html.erb
@@ -752,6 +759,7 @@ files:
752
759
  - config/application.rb
753
760
  - config/boot.rb
754
761
  - config/cable.yml
762
+ - config/ci.rb
755
763
  - config/database.template.yml
756
764
  - config/database.yml
757
765
  - config/database.yml.mysql
@@ -760,7 +768,6 @@ files:
760
768
  - config/engine.rb
761
769
  - config/environment.rb
762
770
  - config/environments/development.rb
763
- - config/environments/heroku.rb
764
771
  - config/environments/production.rb
765
772
  - config/environments/test.rb
766
773
  - config/initializers/action_view.rb
@@ -772,7 +779,6 @@ files:
772
779
  - config/initializers/cookies_serializer.rb
773
780
  - config/initializers/delayed_job.rb
774
781
  - config/initializers/filter_parameter_logging.rb
775
- - config/initializers/heroku.rb
776
782
  - config/initializers/inflections.rb
777
783
  - config/initializers/iqvoc.rb
778
784
  - config/initializers/jdbc.rb
@@ -780,6 +786,9 @@ files:
780
786
  - config/initializers/language.rb
781
787
  - config/initializers/linked_data.rb
782
788
  - config/initializers/mime_types.rb
789
+ - config/initializers/new_framework_defaults_7_1.rb
790
+ - config/initializers/new_framework_defaults_8_0.rb
791
+ - config/initializers/new_framework_defaults_8_1.rb
783
792
  - config/initializers/permissions_policy.rb
784
793
  - config/initializers/session_store.rb
785
794
  - config/initializers/wrap_parameters.rb
@@ -796,7 +805,6 @@ files:
796
805
  - config/locales/pt.yml
797
806
  - config/puma.rb
798
807
  - config/routes.rb
799
- - config/secrets.yml
800
808
  - config/storage.yml
801
809
  - config/warble.rb
802
810
  - db/migrate/20100927101502_create_schema.rb
@@ -849,6 +857,8 @@ files:
849
857
  - db/migrate/20200901143030_add_collection_type_index.rb
850
858
  - db/migrate/20220107114201_add_fk_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb
851
859
  - db/migrate/20231012135837_remove_locked_by.rb
860
+ - db/migrate/20250218160045_adapt_zeitwerk_naming_to_iqvoc.rb
861
+ - db/migrate/20250326182601_adapt_zeitwerk_skos_naming_to_instance_configuration.rb
852
862
  - db/schema.rb
853
863
  - db/seeds.rb
854
864
  - iqvoc.gemspec
@@ -866,6 +876,8 @@ files:
866
876
  - lib/iqvoc/environments/production.rb
867
877
  - lib/iqvoc/environments/test.rb
868
878
  - lib/iqvoc/version.rb
879
+ - lib/iqvoc_module_helper.rb
880
+ - lib/search_extension.rb
869
881
  - lib/string.rb
870
882
  - lib/tasks/cleanup.rake
871
883
  - lib/tasks/db.rake
@@ -887,6 +899,7 @@ files:
887
899
  - test/integration/client_edit_concept_test.rb
888
900
  - test/integration/collection_browsing_test.rb
889
901
  - test/integration/collection_circularity_test.rb
902
+ - test/integration/collection_test.rb
890
903
  - test/integration/concept_browsing_test.rb
891
904
  - test/integration/concept_collection_assignment_test.rb
892
905
  - test/integration/concept_scheme_browsing_test.rb
@@ -926,7 +939,6 @@ homepage: http://github.com/innoq/iqvoc
926
939
  licenses:
927
940
  - Apache-2.0
928
941
  metadata: {}
929
- post_install_message:
930
942
  rdoc_options: []
931
943
  require_paths:
932
944
  - lib
@@ -941,8 +953,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
941
953
  - !ruby/object:Gem::Version
942
954
  version: '0'
943
955
  requirements: []
944
- rubygems_version: 3.4.10
945
- signing_key:
956
+ rubygems_version: 3.6.9
946
957
  specification_version: 4
947
958
  summary: iQvoc
948
959
  test_files:
@@ -958,6 +969,7 @@ test_files:
958
969
  - test/integration/client_edit_concept_test.rb
959
970
  - test/integration/collection_browsing_test.rb
960
971
  - test/integration/collection_circularity_test.rb
972
+ - test/integration/collection_test.rb
961
973
  - test/integration/concept_browsing_test.rb
962
974
  - test/integration/concept_collection_assignment_test.rb
963
975
  - test/integration/concept_scheme_browsing_test.rb
@@ -1,20 +0,0 @@
1
- <%= sidebar do %>
2
- <% if defined?(collection) %>
3
- <%= sidebar_header t('txt.common.representations') %>
4
- <%= sidebar_item :icon => 'share', :text => 'HTML', :path => collection_url(collection.origin, :format => :html) %>
5
- <%= sidebar_item :icon => 'share', :text => 'RDF/XML', :path => rdf_url(collection.origin, :format => :rdf, :lang => nil), :id => 'rdf_link_xml' %>
6
- <%= sidebar_item :icon => 'share', :text => 'RDF/Turtle', :path => rdf_url(collection.origin, :format => :ttl, :lang => nil), :id => 'rdf_link_ttl' %>
7
- <%= sidebar_item :icon => 'share', :text => 'RDF/NTriples', :path => rdf_url(collection.origin, :format => :nt, :lang => nil), :id => 'rdf_link_nt' %>
8
- <% end %>
9
- <% end %>
10
-
11
- <%= sidebar do %>
12
- <% if defined?(collection) || can?(:create, Iqvoc::Collection.base_class) %>
13
- <%= sidebar_header 'Links' %>
14
- <% end %>
15
- <% if defined?(collection) %>
16
- <%= sidebar_item :icon => 'link', :text => t('txt.models.collection.uri'), :path => rdf_url(collection.origin, :format => nil, :lang => nil) %>
17
- <% end %>
18
- <%= sidebar_item :icon => :edit, :text => t("txt.views.collections.new"), :path => new_collection_path,
19
- :perms => [:create, Iqvoc::Collection.base_class] %>
20
- <% end %>
@@ -1,81 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- # Copyright 2011-2013 innoQ Deutschland GmbH
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- if Iqvoc.const_defined?(:Application)
18
- Iqvoc::Application.configure do
19
- # Settings specified here will take precedence over those in config/application.rb.
20
-
21
- # Code is not reloaded between requests.
22
- config.cache_classes = true
23
-
24
- # Eager load code on boot. This eager loads most of Rails and
25
- # your application in memory, allowing both thread web servers
26
- # and those relying on copy on write to perform better.
27
- # Rake tasks automatically ignore this option for performance.
28
- config.eager_load = true
29
-
30
- # Full error reports are disabled and caching is turned on.
31
- config.consider_all_requests_local = false
32
- config.action_controller.perform_caching = true
33
-
34
- # Enable Rack::Cache to put a simple HTTP cache in front of your application
35
- # Add `rack-cache` to your Gemfile before enabling this.
36
- # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
37
- # config.action_dispatch.rack_cache = true
38
-
39
- # Disable Rails's static asset server (Apache or nginx will already do this).
40
- config.serve_static_files = true
41
-
42
- # Specifies the header that your server uses for sending files.
43
- # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
44
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
45
-
46
- # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
47
- # config.force_ssl = true
48
-
49
- # Set to :debug to see everything in the log.
50
- config.log_level = :info
51
-
52
- # Prepend all log lines with the following tags.
53
- # config.log_tags = [ :subdomain, :uuid ]
54
-
55
- # Use a different logger for distributed setups.
56
- # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
57
-
58
- # Use a different cache store in production.
59
- # config.cache_store = :mem_cache_store
60
-
61
- # Enable serving of images, stylesheets, and JavaScripts from an asset server.
62
- # config.action_controller.asset_host = "http://assets.example.com"
63
-
64
- # Ignore bad email addresses and do not raise email delivery errors.
65
- # Set this to true and configure the email server for immediate delivery to raise delivery errors.
66
- # config.action_mailer.raise_delivery_errors = false
67
-
68
- # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
69
- # the I18n.default_locale when a translation can not be found).
70
- config.i18n.fallbacks = true
71
-
72
- # Send deprecation notices to registered listeners.
73
- config.active_support.deprecation = :notify
74
-
75
- # Disable automatic flushing of the log to improve performance.
76
- # config.autoflush_log = false
77
-
78
- # Use default logging formatter so that PID and timestamp are not suppressed.
79
- config.log_formatter = ::Logger::Formatter.new
80
- end
81
- end
@@ -1,24 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- # Copyright 2011-2013 innoQ Deutschland GmbH
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- # Be sure to restart your server when you modify this file.
18
-
19
- if Iqvoc.const_defined?(:Application)
20
-
21
- # Only require certain dependencies if app is actually running on heroku
22
- Bundler.require(:heroku) if ENV['HEROKU']
23
-
24
- end
data/config/secrets.yml DELETED
@@ -1,35 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key is used for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
-
6
- # Make sure the secret is at least 30 characters and all random,
7
- # no regular words or you'll be exposed to dictionary attacks.
8
- # You can use `rails secret` to generate a secure secret key.
9
-
10
- # Make sure the secrets in this file are kept private
11
- # if you're sharing your code publicly.
12
-
13
- # Shared secrets are available across all environments.
14
-
15
- # shared:
16
- # api_key: a1B2c3D4e5F6
17
-
18
- # Environmental secrets are only available for that specific environment.
19
-
20
- development:
21
- secret_key_base: development
22
-
23
- test:
24
- secret_key_base: test
25
-
26
- # Do not keep production secrets in the unencrypted secrets file.
27
- # Instead, either read values from the environment.
28
- # Or, use `bin/rails secrets:setup` to configure encrypted secrets
29
- # and move the `production:` environment over there.
30
-
31
- production:
32
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
33
-
34
- heroku:
35
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
File without changes
File without changes