glossarist 1.0.9 → 1.1.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.
- checksums.yaml +4 -4
- data/glossarist.gemspec +1 -1
- data/lib/glossarist/concept.rb +9 -3
- data/lib/glossarist/error/invalid_language_code_error.rb +15 -0
- data/lib/glossarist/error/invalid_type_error.rb +4 -0
- data/lib/glossarist/error/parse_error.rb +16 -0
- data/lib/glossarist/error.rb +8 -0
- data/lib/glossarist/localized_concept.rb +9 -1
- data/lib/glossarist/version.rb +1 -1
- data/lib/glossarist.rb +1 -20
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 351ee7a983e5566dab9124def66fef23e1a8517b463c695e72388d40939c6031
|
4
|
+
data.tar.gz: d7f4b103f7a60ed7bb80983d30d8f9bba281a1f6c8ec293dcd73eecdbec8e2bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4614c9b4457b76d5f7936f9b43a6f97c8ceeb62442aafb4d865e3bdc8aa786493af6062a9cef48e3328085cf38a876822eb0dd48b8ac1d490ad166eeaaf8713e
|
7
|
+
data.tar.gz: dcdb5aca4bda8c3ebae41a7ef1c3cfcbf3c154fe2e0aa38ea8c1b76e175c08b7c3d070daddbb9e54e3079f324f7b229b5e6f60d77908e1689d05e35ac84347e5
|
data/glossarist.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
31
31
|
spec.require_paths = ["lib"]
|
32
32
|
|
33
|
-
spec.add_dependency "relaton", "~> 1.
|
33
|
+
spec.add_dependency "relaton", "~> 1.16.0"
|
34
34
|
spec.add_dependency "thor"
|
35
35
|
|
36
36
|
spec.add_development_dependency "pry", "~> 0.14.0"
|
data/lib/glossarist/concept.rb
CHANGED
@@ -7,8 +7,7 @@ module Glossarist
|
|
7
7
|
class Concept < Model
|
8
8
|
# Concept ID.
|
9
9
|
# @return [String]
|
10
|
-
|
11
|
-
alias :termid= :id=
|
10
|
+
attr_reader :id
|
12
11
|
|
13
12
|
# Concept designations.
|
14
13
|
# @todo Alias +terms+ exists only for legacy reasons and will be removed.
|
@@ -54,6 +53,13 @@ module Glossarist
|
|
54
53
|
super
|
55
54
|
end
|
56
55
|
|
56
|
+
def id=(id)
|
57
|
+
raise(Glossarist::Error, "id must be a string") unless id.is_a?(String) || id.nil?
|
58
|
+
|
59
|
+
@id = id
|
60
|
+
end
|
61
|
+
alias :termid= :id=
|
62
|
+
|
57
63
|
# List of authorative sources.
|
58
64
|
# @todo Alias +authoritative_source+ exists for legacy reasons and may be
|
59
65
|
# removed.
|
@@ -119,7 +125,7 @@ module Glossarist
|
|
119
125
|
# rubocop:disable Metrics/AbcSize, Style/RescueModifier
|
120
126
|
def self.from_h(hash)
|
121
127
|
new.tap do |concept|
|
122
|
-
concept.id = hash.dig("termid")
|
128
|
+
concept.id = hash.dig("termid") || hash.dig("id")
|
123
129
|
concept.sources = hash.dig("sources")
|
124
130
|
concept.related = hash.dig("related")
|
125
131
|
concept.definition = hash.dig("definition")
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Glossarist
|
2
|
+
class InvalidLanguageCodeError < Error
|
3
|
+
attr_reader :code
|
4
|
+
|
5
|
+
def initialize(code:)
|
6
|
+
@code = code
|
7
|
+
|
8
|
+
super()
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
"Invalid value for language_code: `#{code}`. It must be 3 characters long string."
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Glossarist
|
2
|
+
class ParseError < Error
|
3
|
+
attr_accessor :line, :filename
|
4
|
+
|
5
|
+
def initialize(filename:, line: nil)
|
6
|
+
@filename = filename
|
7
|
+
@line = line
|
8
|
+
|
9
|
+
super()
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_s
|
13
|
+
"Unable to parse file: #{filename}, error on line: #{line}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -8,7 +8,7 @@ module Glossarist
|
|
8
8
|
# ISO 639-2 code for terminology.
|
9
9
|
# @see https://www.loc.gov/standards/iso639-2/php/code_list.php code list
|
10
10
|
# @return [String]
|
11
|
-
|
11
|
+
attr_reader :language_code
|
12
12
|
|
13
13
|
# Must be one of the following:
|
14
14
|
# +notValid+, +valid+, +superseded+, +retired+.
|
@@ -34,6 +34,14 @@ module Glossarist
|
|
34
34
|
super
|
35
35
|
end
|
36
36
|
|
37
|
+
def language_code=(language_code)
|
38
|
+
if language_code.is_a?(String) && language_code.length == 3
|
39
|
+
@language_code = language_code
|
40
|
+
else
|
41
|
+
raise Glossarist::InvalidLanguageCodeError.new(code: language_code)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
37
45
|
def to_h # rubocop:disable Metrics/MethodLength
|
38
46
|
super.merge({
|
39
47
|
"language_code" => language_code,
|
data/lib/glossarist/version.rb
CHANGED
data/lib/glossarist.rb
CHANGED
@@ -30,28 +30,9 @@ require_relative "glossarist/non_verb_rep"
|
|
30
30
|
require_relative "glossarist/collections"
|
31
31
|
|
32
32
|
require_relative "glossarist/config"
|
33
|
+
require_relative "glossarist/error"
|
33
34
|
|
34
35
|
module Glossarist
|
35
|
-
class Error < StandardError; end
|
36
|
-
|
37
|
-
class InvalidTypeError < StandardError; end
|
38
|
-
|
39
|
-
class ParseError < StandardError
|
40
|
-
attr_accessor :line, :filename
|
41
|
-
|
42
|
-
def initialize(filename:, line: nil)
|
43
|
-
@filename = filename
|
44
|
-
@line = line
|
45
|
-
|
46
|
-
super()
|
47
|
-
end
|
48
|
-
|
49
|
-
def to_s
|
50
|
-
"Unable to parse file: #{filename}, error on line: #{line}"
|
51
|
-
end
|
52
|
-
end
|
53
|
-
# Your code goes here...
|
54
|
-
|
55
36
|
def self.configure
|
56
37
|
config = Glossarist::Config.instance
|
57
38
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glossarist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: relaton
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.16.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.16.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: thor
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -124,6 +124,10 @@ files:
|
|
124
124
|
- lib/glossarist/designation/letter_symbol.rb
|
125
125
|
- lib/glossarist/designation/symbol.rb
|
126
126
|
- lib/glossarist/detailed_definition.rb
|
127
|
+
- lib/glossarist/error.rb
|
128
|
+
- lib/glossarist/error/invalid_language_code_error.rb
|
129
|
+
- lib/glossarist/error/invalid_type_error.rb
|
130
|
+
- lib/glossarist/error/parse_error.rb
|
127
131
|
- lib/glossarist/glossary_definition.rb
|
128
132
|
- lib/glossarist/localized_concept.rb
|
129
133
|
- lib/glossarist/managed_concept.rb
|