glossarist 2.6.4 → 2.6.5
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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +11 -111
- data/Gemfile +0 -2
- data/README.adoc +207 -1
- data/glossarist.gemspec +1 -1
- data/lib/glossarist/asset_reference.rb +16 -0
- data/lib/glossarist/bibliographic_reference.rb +16 -0
- data/lib/glossarist/concept_enricher.rb +1 -0
- data/lib/glossarist/concept_reference.rb +4 -0
- data/lib/glossarist/concept_validator.rb +27 -56
- data/lib/glossarist/dataset_validator.rb +30 -34
- data/lib/glossarist/gcr_validator.rb +26 -101
- data/lib/glossarist/reference_extractor.rb +80 -10
- data/lib/glossarist/reference_resolver.rb +1 -0
- data/lib/glossarist/validation/asset_index.rb +113 -0
- data/lib/glossarist/validation/bibliography_index.rb +121 -0
- data/lib/glossarist/validation/rules/asciidoc_xref_rule.rb +60 -0
- data/lib/glossarist/validation/rules/authoritative_source_rule.rb +47 -0
- data/lib/glossarist/validation/rules/base.rb +46 -0
- data/lib/glossarist/validation/rules/bibliography_yaml_rule.rb +37 -0
- data/lib/glossarist/validation/rules/citation_completeness_rule.rb +63 -0
- data/lib/glossarist/validation/rules/concept_context.rb +45 -0
- data/lib/glossarist/validation/rules/concept_count_rule.rb +34 -0
- data/lib/glossarist/validation/rules/concept_id_rule.rb +29 -0
- data/lib/glossarist/validation/rules/concept_id_uniqueness_rule.rb +42 -0
- data/lib/glossarist/validation/rules/concept_mention_rule.rb +44 -0
- data/lib/glossarist/validation/rules/concept_status_rule.rb +36 -0
- data/lib/glossarist/validation/rules/concept_uri_rule.rb +30 -0
- data/lib/glossarist/validation/rules/dataset_context.rb +99 -0
- data/lib/glossarist/validation/rules/date_type_rule.rb +54 -0
- data/lib/glossarist/validation/rules/date_validity_rule.rb +66 -0
- data/lib/glossarist/validation/rules/definition_content_rule.rb +41 -0
- data/lib/glossarist/validation/rules/designation_status_rule.rb +45 -0
- data/lib/glossarist/validation/rules/designation_type_rule.rb +55 -0
- data/lib/glossarist/validation/rules/duplicate_term_rule.rb +63 -0
- data/lib/glossarist/validation/rules/entry_status_rule.rb +39 -0
- data/lib/glossarist/validation/rules/filename_id_rule.rb +35 -0
- data/lib/glossarist/validation/rules/gcr_context.rb +92 -0
- data/lib/glossarist/validation/rules/image_reference_rule.rb +73 -0
- data/lib/glossarist/validation/rules/l10n_uuid_integrity_rule.rb +40 -0
- data/lib/glossarist/validation/rules/language_code_format_rule.rb +39 -0
- data/lib/glossarist/validation/rules/language_coverage_rule.rb +37 -0
- data/lib/glossarist/validation/rules/language_list_rule.rb +46 -0
- data/lib/glossarist/validation/rules/localization_presence_rule.rb +25 -0
- data/lib/glossarist/validation/rules/orphaned_bibliography_rule.rb +64 -0
- data/lib/glossarist/validation/rules/orphaned_images_rule.rb +68 -0
- data/lib/glossarist/validation/rules/orphaned_l10n_files_rule.rb +39 -0
- data/lib/glossarist/validation/rules/preferred_term_rule.rb +41 -0
- data/lib/glossarist/validation/rules/registry.rb +42 -0
- data/lib/glossarist/validation/rules/related_concept_cycle_rule.rb +102 -0
- data/lib/glossarist/validation/rules/related_concept_rule.rb +40 -0
- data/lib/glossarist/validation/rules/related_concept_symmetry_rule.rb +87 -0
- data/lib/glossarist/validation/rules/source_type_rule.rb +63 -0
- data/lib/glossarist/validation/rules/terms_presence_rule.rb +39 -0
- data/lib/glossarist/validation/rules.rb +85 -0
- data/lib/glossarist/validation/validation_issue.rb +39 -0
- data/lib/glossarist/validation.rb +12 -0
- data/lib/glossarist/validation_result.rb +26 -9
- data/lib/glossarist/version.rb +1 -1
- data/lib/glossarist.rb +3 -0
- metadata +60 -15
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Glossarist
|
|
4
|
+
module Validation
|
|
5
|
+
class ValidationIssue
|
|
6
|
+
attr_reader :severity, :code, :message, :location, :suggestion
|
|
7
|
+
|
|
8
|
+
def initialize(severity:, message:, code: nil, location: nil,
|
|
9
|
+
suggestion: nil)
|
|
10
|
+
@severity = severity
|
|
11
|
+
@code = code
|
|
12
|
+
@message = message
|
|
13
|
+
@location = location
|
|
14
|
+
@suggestion = suggestion
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def error?
|
|
18
|
+
severity == "error"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def warning?
|
|
22
|
+
severity == "warning"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def info?
|
|
26
|
+
severity == "info"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def to_s
|
|
30
|
+
parts = ["[#{severity.upcase}]"]
|
|
31
|
+
parts << "[#{code}]" if code
|
|
32
|
+
parts << (location ? "#{location}: " : "")
|
|
33
|
+
parts << message
|
|
34
|
+
parts << " (#{suggestion})" if suggestion
|
|
35
|
+
parts.join(" ")
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "lutaml/model"
|
|
4
|
+
|
|
5
|
+
module Glossarist
|
|
6
|
+
module Validation
|
|
7
|
+
autoload :ValidationIssue, "glossarist/validation/validation_issue"
|
|
8
|
+
autoload :Rules, "glossarist/validation/rules"
|
|
9
|
+
autoload :BibliographyIndex, "glossarist/validation/bibliography_index"
|
|
10
|
+
autoload :AssetIndex, "glossarist/validation/asset_index"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -2,28 +2,45 @@
|
|
|
2
2
|
|
|
3
3
|
module Glossarist
|
|
4
4
|
class ValidationResult
|
|
5
|
-
attr_reader :
|
|
5
|
+
attr_reader :issues
|
|
6
6
|
|
|
7
|
-
def initialize(errors: [], warnings: [])
|
|
8
|
-
@
|
|
9
|
-
|
|
7
|
+
def initialize(errors: [], warnings: [], issues: [])
|
|
8
|
+
@issues = []
|
|
9
|
+
errors.each { |e| add_error(e) }
|
|
10
|
+
warnings.each { |w| add_warning(w) }
|
|
11
|
+
issues.each { |i| add_issue(i) }
|
|
10
12
|
end
|
|
11
13
|
|
|
12
14
|
def valid?
|
|
13
|
-
@
|
|
15
|
+
@issues.none?(&:error?)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def errors
|
|
19
|
+
@issues.select(&:error?).map(&:message)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def warnings
|
|
23
|
+
@issues.select(&:warning?).map(&:message)
|
|
14
24
|
end
|
|
15
25
|
|
|
16
26
|
def add_error(message)
|
|
17
|
-
@
|
|
27
|
+
@issues << Validation::ValidationIssue.new(
|
|
28
|
+
severity: "error", message: message,
|
|
29
|
+
)
|
|
18
30
|
end
|
|
19
31
|
|
|
20
32
|
def add_warning(message)
|
|
21
|
-
@
|
|
33
|
+
@issues << Validation::ValidationIssue.new(
|
|
34
|
+
severity: "warning", message: message,
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def add_issue(issue)
|
|
39
|
+
@issues << issue
|
|
22
40
|
end
|
|
23
41
|
|
|
24
42
|
def merge(other)
|
|
25
|
-
other.
|
|
26
|
-
other.warnings.each { |w| add_warning(w) }
|
|
43
|
+
other.issues.each { |i| @issues << i }
|
|
27
44
|
self
|
|
28
45
|
end
|
|
29
46
|
|
data/lib/glossarist/version.rb
CHANGED
data/lib/glossarist.rb
CHANGED
|
@@ -9,6 +9,8 @@ require "lutaml/model"
|
|
|
9
9
|
|
|
10
10
|
module Glossarist
|
|
11
11
|
autoload :Asset, "glossarist/asset"
|
|
12
|
+
autoload :AssetReference, "glossarist/asset_reference"
|
|
13
|
+
autoload :BibliographicReference, "glossarist/bibliographic_reference"
|
|
12
14
|
autoload :Citation, "glossarist/citation"
|
|
13
15
|
autoload :CLI, "glossarist/cli"
|
|
14
16
|
autoload :CollectionConfig, "glossarist/collection_config"
|
|
@@ -57,6 +59,7 @@ module Glossarist
|
|
|
57
59
|
autoload :SchemaMigration, "glossarist/schema_migration"
|
|
58
60
|
autoload :UrnResolver, "glossarist/urn_resolver"
|
|
59
61
|
autoload :Utilities, "glossarist/utilities"
|
|
62
|
+
autoload :Validation, "glossarist/validation"
|
|
60
63
|
autoload :RegisterData, "glossarist/register_data"
|
|
61
64
|
autoload :ValidationResult, "glossarist/validation_result"
|
|
62
65
|
autoload :V1, "glossarist/v1"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: glossarist
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.6.
|
|
4
|
+
version: 2.6.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose
|
|
@@ -24,20 +24,6 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: 0.8.5
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: sts
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.5.6
|
|
34
|
-
type: :runtime
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.5.6
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
28
|
name: relaton
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -78,6 +64,20 @@ dependencies:
|
|
|
78
64
|
- - "<"
|
|
79
65
|
- !ruby/object:Gem::Version
|
|
80
66
|
version: '3'
|
|
67
|
+
- !ruby/object:Gem::Dependency
|
|
68
|
+
name: sts
|
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - "~>"
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: 0.5.6
|
|
74
|
+
type: :runtime
|
|
75
|
+
prerelease: false
|
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
77
|
+
requirements:
|
|
78
|
+
- - "~>"
|
|
79
|
+
- !ruby/object:Gem::Version
|
|
80
|
+
version: 0.5.6
|
|
81
81
|
- !ruby/object:Gem::Dependency
|
|
82
82
|
name: tbx
|
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -133,6 +133,8 @@ files:
|
|
|
133
133
|
- glossarist.gemspec
|
|
134
134
|
- lib/glossarist.rb
|
|
135
135
|
- lib/glossarist/asset.rb
|
|
136
|
+
- lib/glossarist/asset_reference.rb
|
|
137
|
+
- lib/glossarist/bibliographic_reference.rb
|
|
136
138
|
- lib/glossarist/citation.rb
|
|
137
139
|
- lib/glossarist/cli.rb
|
|
138
140
|
- lib/glossarist/cli/export_command.rb
|
|
@@ -226,6 +228,49 @@ files:
|
|
|
226
228
|
- lib/glossarist/v1/concept.rb
|
|
227
229
|
- lib/glossarist/v1/cross_references.rb
|
|
228
230
|
- lib/glossarist/v1/register.rb
|
|
231
|
+
- lib/glossarist/validation.rb
|
|
232
|
+
- lib/glossarist/validation/asset_index.rb
|
|
233
|
+
- lib/glossarist/validation/bibliography_index.rb
|
|
234
|
+
- lib/glossarist/validation/rules.rb
|
|
235
|
+
- lib/glossarist/validation/rules/asciidoc_xref_rule.rb
|
|
236
|
+
- lib/glossarist/validation/rules/authoritative_source_rule.rb
|
|
237
|
+
- lib/glossarist/validation/rules/base.rb
|
|
238
|
+
- lib/glossarist/validation/rules/bibliography_yaml_rule.rb
|
|
239
|
+
- lib/glossarist/validation/rules/citation_completeness_rule.rb
|
|
240
|
+
- lib/glossarist/validation/rules/concept_context.rb
|
|
241
|
+
- lib/glossarist/validation/rules/concept_count_rule.rb
|
|
242
|
+
- lib/glossarist/validation/rules/concept_id_rule.rb
|
|
243
|
+
- lib/glossarist/validation/rules/concept_id_uniqueness_rule.rb
|
|
244
|
+
- lib/glossarist/validation/rules/concept_mention_rule.rb
|
|
245
|
+
- lib/glossarist/validation/rules/concept_status_rule.rb
|
|
246
|
+
- lib/glossarist/validation/rules/concept_uri_rule.rb
|
|
247
|
+
- lib/glossarist/validation/rules/dataset_context.rb
|
|
248
|
+
- lib/glossarist/validation/rules/date_type_rule.rb
|
|
249
|
+
- lib/glossarist/validation/rules/date_validity_rule.rb
|
|
250
|
+
- lib/glossarist/validation/rules/definition_content_rule.rb
|
|
251
|
+
- lib/glossarist/validation/rules/designation_status_rule.rb
|
|
252
|
+
- lib/glossarist/validation/rules/designation_type_rule.rb
|
|
253
|
+
- lib/glossarist/validation/rules/duplicate_term_rule.rb
|
|
254
|
+
- lib/glossarist/validation/rules/entry_status_rule.rb
|
|
255
|
+
- lib/glossarist/validation/rules/filename_id_rule.rb
|
|
256
|
+
- lib/glossarist/validation/rules/gcr_context.rb
|
|
257
|
+
- lib/glossarist/validation/rules/image_reference_rule.rb
|
|
258
|
+
- lib/glossarist/validation/rules/l10n_uuid_integrity_rule.rb
|
|
259
|
+
- lib/glossarist/validation/rules/language_code_format_rule.rb
|
|
260
|
+
- lib/glossarist/validation/rules/language_coverage_rule.rb
|
|
261
|
+
- lib/glossarist/validation/rules/language_list_rule.rb
|
|
262
|
+
- lib/glossarist/validation/rules/localization_presence_rule.rb
|
|
263
|
+
- lib/glossarist/validation/rules/orphaned_bibliography_rule.rb
|
|
264
|
+
- lib/glossarist/validation/rules/orphaned_images_rule.rb
|
|
265
|
+
- lib/glossarist/validation/rules/orphaned_l10n_files_rule.rb
|
|
266
|
+
- lib/glossarist/validation/rules/preferred_term_rule.rb
|
|
267
|
+
- lib/glossarist/validation/rules/registry.rb
|
|
268
|
+
- lib/glossarist/validation/rules/related_concept_cycle_rule.rb
|
|
269
|
+
- lib/glossarist/validation/rules/related_concept_rule.rb
|
|
270
|
+
- lib/glossarist/validation/rules/related_concept_symmetry_rule.rb
|
|
271
|
+
- lib/glossarist/validation/rules/source_type_rule.rb
|
|
272
|
+
- lib/glossarist/validation/rules/terms_presence_rule.rb
|
|
273
|
+
- lib/glossarist/validation/validation_issue.rb
|
|
229
274
|
- lib/glossarist/validation_result.rb
|
|
230
275
|
- lib/glossarist/version.rb
|
|
231
276
|
- relaton-bib-2.0.0.gem
|