termium 0.1.2 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b6e0e5aefeb1e77b272a066f4e530779c522fa1d58d1e4890beda19db2e2c203
4
- data.tar.gz: eccef83149a4c29c751ada19d6d1db07fa961d983322986b49ff40d33954255d
3
+ metadata.gz: 86c7b7ab35fb63b5d7bc8a085125db1452284327970939abd89808bf6e628097
4
+ data.tar.gz: 2229305a3891ae26ec4b8ec82ad3ae55735912c7503c19ed5c478c52d3c1db68
5
5
  SHA512:
6
- metadata.gz: 2feb9eef3d42a4f9d07e710c2608ab00bb903484a98ba890ed259a7e7cbc7dbcea68b00bf69e493d9921f4362b79bfc314e961ccb147a559c5e835b287942b62
7
- data.tar.gz: 70544c5334f85c6b8a7d7087840169a98578d57249d6ac3eb29412c70ae04759f0f28bc488ebba333a1ac3dbeac55122e44f9dd63baa74757baf9f08ddb3f7ee
6
+ metadata.gz: 67d16aa7301c765ec97865d5eff33b98e02de93d8cce9332fb7d8953613fa638719941bc2e5b695a29ae4f0e8e4960864d4ad17a8d1ee8332bc66e877f81c099
7
+ data.tar.gz: 97d56933d5946f70209e0c3b054583e683e2e510ff235615d324dbb80c3f76dcdc1acea3fb1fd3003b9f1c417b193636df701685c85dfee0f2f33aee4173bc17
@@ -0,0 +1,13 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: rake
4
+
5
+ on:
6
+ push:
7
+ branches: [ master, main ]
8
+ tags: [ v* ]
9
+ pull_request:
10
+
11
+ jobs:
12
+ rake:
13
+ uses: relaton/support/.github/workflows/rake.yml@main
@@ -0,0 +1,24 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: release
4
+
5
+ on:
6
+ workflow_dispatch:
7
+ inputs:
8
+ next_version:
9
+ description: |
10
+ Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
11
+ Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
12
+ required: true
13
+ default: 'skip'
14
+ repository_dispatch:
15
+ types: [ do-release ]
16
+
17
+
18
+ jobs:
19
+ release:
20
+ uses: relaton/support/.github/workflows/release.yml@main
21
+ with:
22
+ next_version: ${{ github.event.inputs.next_version }}
23
+ secrets:
24
+ rubygems-api-key: ${{ secrets.GLOSSARIST_CI_RUBYGEMS_API_KEY }}
data/Gemfile CHANGED
@@ -3,3 +3,11 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
+
7
+ gem "equivalent-xml"
8
+ gem "pry"
9
+ gem "rake", "~> 13.0"
10
+ gem "rspec", "~> 3.11"
11
+ gem "rubocop", "~> 1.58"
12
+ gem "rubocop-performance", "~> 1.21", ">= 1.21.1"
13
+ gem "xml-c14n"
data/README.adoc CHANGED
@@ -6,6 +6,39 @@ The Termium Ruby gem parses export data formats from the
6
6
  https://www.btb.termiumplus.gc.ca[TERMIUM Plus]
7
7
  terminology database service from the Government of Canada.
8
8
 
9
+ == WARNING - Termium XML output requires manual correction
10
+
11
+ The default Termium XML output is invalid where the term domains using angular
12
+ brackets have the "greater than" sign not escaped:
13
+
14
+ [source,xml]
15
+ ----
16
+ <textualSupport order="1" type="DEF">
17
+ <value>&lt;artificial intelligence> operation that allows the firing of a rule, or the
18
+ invocation of a program or a subprogram</value>
19
+ <sourceRef order="1" />
20
+ </textualSupport>
21
+ ----
22
+
23
+ The remedy is to manually escape the "greater than" sign using a find/replace or a regular expression:
24
+
25
+ [source,ruby]
26
+ ----
27
+ string.gsub(/&lt;([^>]+)>/, '<\1>')
28
+ ----
29
+
30
+ Results in:
31
+
32
+ [source,xml]
33
+ ----
34
+ <textualSupport order="1" type="DEF">
35
+ <value>&lt;artificial intelligence&gt; operation that allows the firing of a rule, or the
36
+ invocation of a program or a subprogram</value>
37
+ <sourceRef order="1" />
38
+ </textualSupport>
39
+ ----
40
+
41
+
9
42
 
10
43
  == Commands
11
44
 
@@ -43,7 +76,7 @@ If not provided, defaults to the basename of the input file, e.g. `foo/bar.xml`
43
76
 
44
77
  === Usage
45
78
 
46
- This gem makes heavy use of the `Shale` classes for XML serialization.
79
+ This gem makes heavy use of the `lutaml-model` classes for XML serialization.
47
80
 
48
81
  The following code converts the Termium extract into a Glossarist dataset.
49
82
 
@@ -6,9 +6,9 @@ require_relative "designation_operations"
6
6
 
7
7
  module Termium
8
8
  # For <abbreviation>
9
- class Abbreviation < Shale::Mapper
10
- attribute :order, Shale::Type::Integer
11
- attribute :value, Shale::Type::String
9
+ class Abbreviation < Lutaml::Model::Serializable
10
+ attribute :order, :integer
11
+ attribute :value, :string
12
12
  attribute :source_ref, SourceRef
13
13
  attribute :parameter, Parameter, collection: true
14
14
  include DesignationOperations
@@ -35,7 +35,7 @@ module Termium
35
35
  set = {
36
36
  "designation" => value,
37
37
  "type" => "abbreviation",
38
- "normative_status" => deprecated ? "deprecated" : "preferred"
38
+ "normative_status" => deprecated ? "deprecated" : "preferred",
39
39
  }
40
40
 
41
41
  # if geographical_area
data/lib/termium/cli.rb CHANGED
@@ -9,6 +9,7 @@ module Termium
9
9
 
10
10
  option :input_file, aliases: :i, required: true, desc: "Path to TERMIUM Plus XML extract"
11
11
  option :output_file, aliases: :o, desc: "Output file path"
12
+ option :date_accepted, desc: "Date of acceptance for the dataset"
12
13
 
13
14
  no_commands do
14
15
  def input_file_as_path(input_file)
@@ -50,7 +51,11 @@ module Termium
50
51
  puts "Size of TERMIUM dataset: #{termium_extract.core.size}"
51
52
 
52
53
  puts "Converting to Glossarist..."
53
- glossarist_col = termium_extract.to_concept
54
+ convert_options = {}
55
+ if options[:date_accepted]
56
+ convert_options[:date_accepted] = Date.parse(options[:date_accepted])
57
+ end
58
+ glossarist_col = termium_extract.to_concept(convert_options)
54
59
  # pp glossarist_col.first
55
60
 
56
61
  output_path = output_dir_as_path(options[:output_file], input_path)
data/lib/termium/core.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "uuidtools"
3
4
  require_relative "language_module"
4
5
  require_relative "subject"
5
6
  require_relative "universal_entry"
@@ -7,13 +8,13 @@ require_relative "source"
7
8
 
8
9
  module Termium
9
10
  # For <core>
10
- class Core < Shale::Mapper
11
- attribute :identification_number, Shale::Type::String
12
- attribute :dissemination_level, Shale::Type::String
11
+ class Core < Lutaml::Model::Serializable
12
+ attribute :identification_number, :string
13
+ attribute :dissemination_level, :string
13
14
 
14
15
  attribute :language_module, LanguageModule, collection: true
15
16
  attribute :subject, Subject
16
- attribute :universal_entry, UniversalEntry
17
+ attribute :universal_entry, UniversalEntry, collection: true
17
18
  attribute :source, Source, collection: true
18
19
 
19
20
  xml do
@@ -36,25 +37,41 @@ module Termium
36
37
  source.map(&:to_concept_source)
37
38
  end
38
39
 
40
+ # Deterministic v4 UUID by using the number string
41
+ def uuid
42
+ UUIDTools::UUID.md5_create(UUIDTools::UUID_DNS_NAMESPACE, identification_number).to_s
43
+ end
44
+
39
45
  # TODO: Utilize "subject" in the Glossarist object:
40
46
  # <subject abbreviation="YBB"
41
47
  # details="Compartment - ISO/IEC JTC 1 Information Technology Vocabulary" />
42
- def to_concept
43
- concept = Glossarist::ManagedConcept.new(id: identification_number)
44
-
45
- language_module.map(&:to_concept).each do |localized_concept|
46
- # TODO: This is needed to skip the empty french entries of 10031781 and 10031778
47
- next if localized_concept.nil?
48
-
49
- localized_concept.id = identification_number
50
- # TODO: this should just be localized_concept.notes << universal_entry.value
51
- # TODO: Depends on https://github.com/glossarist/glossarist-ruby/issues/82
52
- localized_concept.notes << Glossarist::DetailedDefinition.new(universal_entry.value)
53
- localized_concept.sources = concept_sources
54
- concept.add_localization(localized_concept)
55
- end
48
+ def to_concept(options = {})
49
+ Glossarist::ManagedConcept.new.tap do |concept|
50
+ # The way to set the universal concept's identifier: data.identifier
51
+ concept.id = identification_number
52
+
53
+ concept.uuid = uuid
56
54
 
57
- concept
55
+ # Assume no related concepts
56
+ concept.related = []
57
+ concept.status = "valid"
58
+
59
+ if options[:date_accepted]
60
+ concept.date_accepted = options[:date_accepted]
61
+ end
62
+
63
+ language_module.map(&:to_concept).each do |localized_concept|
64
+ # TODO: This is needed to skip the empty french entries of 10031781 and 10031778
65
+ next if localized_concept.nil?
66
+
67
+ localized_concept.id = identification_number
68
+ universal_entry.each do |entry|
69
+ localized_concept.notes << entry.value
70
+ end
71
+ localized_concept.sources = concept_sources
72
+ concept.add_localization(localized_concept)
73
+ end
74
+ end
58
75
  end
59
76
  end
60
77
  end
@@ -7,9 +7,9 @@ require_relative "designation_operations"
7
7
 
8
8
  module Termium
9
9
  # For <entryTerm>
10
- class EntryTerm < Shale::Mapper
11
- attribute :order, Shale::Type::Integer
12
- attribute :value, Shale::Type::String
10
+ class EntryTerm < Lutaml::Model::Serializable
11
+ attribute :order, :integer
12
+ attribute :value, :string
13
13
  attribute :source_ref, SourceRef
14
14
  attribute :abbreviation, Abbreviation, collection: true
15
15
  attribute :parameter, Parameter, collection: true
@@ -19,9 +19,9 @@ module Termium
19
19
  root "entryTerm"
20
20
  map_attribute "order", to: :order
21
21
  map_attribute "value", to: :value
22
- map_element "abbreviation", to: :abbreviation
23
22
  map_element "sourceRef", to: :source_ref
24
23
  map_element "parameter", to: :parameter
24
+ map_element "abbreviation", to: :abbreviation
25
25
  end
26
26
 
27
27
  # attr_accessor :geographical_area,
@@ -35,8 +35,9 @@ module Termium
35
35
  "CAN" => "CA",
36
36
  "GB" => "GB",
37
37
  "AUS" => "AU",
38
- "EUR" => "EU"
38
+ "EUR" => "EU",
39
39
  }.freeze
40
+
40
41
  def geographical_area
41
42
  keys = GEOGRAPHICAL_CODE_MAPPING.keys
42
43
  usage = parameter.select do |x|
@@ -72,7 +73,7 @@ module Termium
72
73
  set = {
73
74
  "designation" => value,
74
75
  "type" => "expression",
75
- "normative_status" => normative_status
76
+ "normative_status" => normative_status,
76
77
  }
77
78
 
78
79
  set["geographical_area"] = geographical_area if geographical_area
@@ -5,23 +5,34 @@ require_relative "core"
5
5
 
6
6
  module Termium
7
7
  # For <extract>
8
- class Extract < Shale::Mapper
9
- attribute :language, Shale::Type::String
8
+ class Extract < Lutaml::Model::Serializable
9
+ attribute :language, :string
10
10
  attribute :extract_language, ExtractLanguage, collection: true
11
11
  attribute :core, Core, collection: true
12
12
 
13
13
  xml do
14
14
  root "termium_extract"
15
- # namespace 'http://termium.tpsgc-pwgsc.gc.ca/schemas/2012/06/Termium', 'ns2'
15
+ # namespace "http://termium.tpsgc-pwgsc.gc.ca/schemas/2012/06/Termium", "ns2"
16
16
 
17
17
  map_attribute "language", to: :language
18
18
  map_element "extractLanguage", to: :extract_language
19
19
  map_element "core", to: :core
20
20
  end
21
21
 
22
- def to_concept
22
+ # xml do
23
+ # root "termium_extract"
24
+ # namespace "http://termium.tpsgc-pwgsc.gc.ca/schemas/2012/06/Termium", "ns2"
25
+
26
+ # map_attribute "language", to: :language, namespace: nil
27
+ # map_element "extractLanguage", to: :extract_language, namespace: nil
28
+ # map_element "core", to: :core, namespace: nil
29
+ # end
30
+
31
+ def to_concept(options = {})
23
32
  coll = Glossarist::ManagedConceptCollection.new
24
- coll.managed_concepts = core.map(&:to_concept)
33
+ coll.managed_concepts = core.map do |managed_concept|
34
+ managed_concept.to_concept(options)
35
+ end
25
36
  coll
26
37
  end
27
38
  end
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Termium
4
4
  # For <extractLanguage>
5
- class ExtractLanguage < Shale::Mapper
6
- attribute :language, Shale::Type::String
7
- attribute :order, Shale::Type::Integer
5
+ class ExtractLanguage < Lutaml::Model::Serializable
6
+ attribute :language, :string
7
+ attribute :order, :integer
8
8
  xml do
9
9
  root "extractLanguage"
10
10
  map_attribute "language", to: :language
@@ -5,8 +5,8 @@ require_relative "textual_support"
5
5
 
6
6
  module Termium
7
7
  # For <languageModule>
8
- class LanguageModule < Shale::Mapper
9
- attribute :language, Shale::Type::String
8
+ class LanguageModule < Lutaml::Model::Serializable
9
+ attribute :language, :string
10
10
  attribute :entry_term, EntryTerm, collection: true
11
11
  attribute :textual_support, TextualSupport, collection: true
12
12
  xml do
@@ -42,7 +42,7 @@ module Termium
42
42
 
43
43
  LANGUAGE_CODE_MAPPING = {
44
44
  "en" => "eng",
45
- "fr" => "fre"
45
+ "fr" => "fre",
46
46
  }.freeze
47
47
 
48
48
  def designations
@@ -59,7 +59,7 @@ module Termium
59
59
  "terms" => designations.map(&:to_h),
60
60
  "definition" => [{ content: definition }],
61
61
  "notes" => notes,
62
- "examples" => examples
62
+ "examples" => examples,
63
63
  }
64
64
 
65
65
  src["domain"] = domain if domain
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Termium
4
4
  # For <parameter>
5
- class Parameter < Shale::Mapper
5
+ class Parameter < Lutaml::Model::Serializable
6
6
  # <parameter abbreviation="NORM"/>
7
- attribute :abbreviation, Shale::Type::String
7
+ attribute :abbreviation, :string
8
8
  xml do
9
9
  root "parameter"
10
10
  map_attribute "abbreviation", to: :abbreviation
@@ -2,12 +2,12 @@
2
2
 
3
3
  module Termium
4
4
  # For <source>
5
- class Source < Shale::Mapper
5
+ class Source < Lutaml::Model::Serializable
6
6
  ISO_BIB_REGEX = /\AISO-([\d-]+)\s+\*\s+(\d{4})\s+.*/.freeze
7
7
  ISOIEC_BIB_REGEX = /\AISO-IEC-([\d-]+)\s+\*\s+(\d{4})\s+.*/.freeze
8
8
 
9
- attribute :order, Shale::Type::Integer
10
- attribute :details, Shale::Type::String
9
+ attribute :order, :integer
10
+ attribute :details, :string
11
11
  xml do
12
12
  root "source"
13
13
  map_attribute "order", to: :order
@@ -28,7 +28,7 @@ module Termium
28
28
  Glossarist::ConceptSource.new({
29
29
  "type" => "lineage",
30
30
  "ref" => content,
31
- "status" => "identical"
31
+ "status" => "identical",
32
32
  })
33
33
  end
34
34
  end
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Termium
4
4
  # For <sourceRef>
5
- class SourceRef < Shale::Mapper
6
- attribute :order, Shale::Type::Integer
5
+ class SourceRef < Lutaml::Model::Serializable
6
+ attribute :order, :integer
7
7
  xml do
8
8
  root "sourceRef"
9
9
  map_attribute "order", to: :order
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Termium
4
4
  # For <subject>
5
- class Subject < Shale::Mapper
6
- attribute :abbreviation, Shale::Type::String
7
- attribute :details, Shale::Type::String
5
+ class Subject < Lutaml::Model::Serializable
6
+ attribute :abbreviation, :string
7
+ attribute :details, :string
8
8
 
9
9
  # <subject abbreviation="YBB" details="Compartment - ISO/IEC JTC 1 Information Technology Vocabulary"/>
10
10
  xml do
@@ -4,10 +4,10 @@ require_relative "source_ref"
4
4
 
5
5
  module Termium
6
6
  # For <textualSupport>
7
- class TextualSupport < Shale::Mapper
8
- attribute :order, Shale::Type::Integer
9
- attribute :type, Shale::Type::String
10
- attribute :value, Shale::Type::String
7
+ class TextualSupport < Lutaml::Model::Serializable
8
+ attribute :order, :integer
9
+ attribute :type, :string
10
+ attribute :value, :string
11
11
  attribute :source_ref, SourceRef
12
12
  xml do
13
13
  root "textualSupport"
@@ -32,6 +32,7 @@ module Termium
32
32
  end
33
33
 
34
34
  EXAMPLE_REGEX = /\AEx[ea]mples?\s*:\s*/.freeze
35
+
35
36
  def is_example?
36
37
  value_cleaned.match(EXAMPLE_REGEX)
37
38
  end
@@ -53,6 +54,7 @@ module Termium
53
54
  end
54
55
 
55
56
  DEFINITION_REGEX = /\A<(.+?)>\s*/.freeze
57
+
56
58
  def value_definition
57
59
  value_cleaned.gsub(DEFINITION_REGEX, "")
58
60
  end
@@ -5,9 +5,9 @@ require_relative "parameter"
5
5
 
6
6
  module Termium
7
7
  # For <universalEntry>
8
- class UniversalEntry < Shale::Mapper
9
- attribute :order, Shale::Type::Integer
10
- attribute :value, Shale::Type::String
8
+ class UniversalEntry < Lutaml::Model::Serializable
9
+ attribute :order, :integer
10
+ attribute :value, :string
11
11
  attribute :source_ref, SourceRef
12
12
  attribute :parameter, Parameter
13
13
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Termium
4
- VERSION = "0.1.2"
4
+ VERSION = "0.3.1"
5
5
  end
data/lib/termium.rb CHANGED
@@ -1,9 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "glossarist"
4
- require "shale"
5
- require "shale/adapter/nokogiri"
6
- Shale.xml_adapter = Shale::Adapter::Nokogiri
4
+
5
+ require "lutaml/model"
6
+ require "lutaml/model/xml_adapter/nokogiri_adapter"
7
+
8
+ Lutaml::Model::Config.configure do |config|
9
+ config.xml_adapter = Lutaml::Model::XmlAdapter::NokogiriAdapter
10
+ end
7
11
 
8
12
  module Termium
9
13
  class Error < StandardError; end
data/termium.gemspec CHANGED
@@ -12,10 +12,10 @@ Gem::Specification.new do |spec|
12
12
  spec.authors = ["Ribose"]
13
13
  spec.email = ["open.source@ribose.com"]
14
14
 
15
- spec.summary =
15
+ spec.summary =
16
16
  "Parser for the TERMIUM Plus terminology database of the Government of Canada"
17
- spec.homepage = "https://github.com/glossarist/termium"
18
- spec.license = "BSD-2-Clause"
17
+ spec.homepage = "https://github.com/glossarist/termium"
18
+ spec.license = "BSD-2-Clause"
19
19
  spec.required_ruby_version = Gem::Requirement.new(">= 2.6.0")
20
20
 
21
21
  spec.metadata["homepage_uri"] = spec.homepage
@@ -23,19 +23,15 @@ Gem::Specification.new do |spec|
23
23
  spec.metadata["bug_tracker_uri"] = "#{spec.homepage}/issues"
24
24
 
25
25
  # Specify which files should be added to the gem when it is released.
26
- spec.files = all_files_in_git
27
- .reject { |f| f.match(%r{\A(?:test|spec|features|bin|\.)/}) }
26
+ spec.files = all_files_in_git
27
+ .reject { |f| f.match(%r{\A(?:test|spec|features|bin|\.)/}) }
28
28
 
29
- spec.bindir = "exe"
30
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
29
+ spec.bindir = "exe"
30
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_dependency "glossarist", "~> 1.0"
34
- spec.add_dependency "shale"
33
+ spec.add_dependency "glossarist", "~> 2.2"
34
+ spec.add_dependency "lutaml-model"
35
35
  spec.add_dependency "thor"
36
-
37
- spec.add_development_dependency "pry", "~> 0.14.0"
38
- spec.add_development_dependency "rake", "~> 13.0"
39
- spec.add_development_dependency "rspec", "~> 3.10"
40
- spec.add_development_dependency "rubocop"
36
+ spec.add_dependency "uuidtools"
41
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: termium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-16 00:00:00.000000000 Z
11
+ date: 2024-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glossarist
@@ -16,16 +16,16 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '2.2'
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.0'
26
+ version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: shale
28
+ name: lutaml-model
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -53,62 +53,20 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pry
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 0.14.0
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.14.0
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '13.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '13.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '3.10'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '3.10'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
56
+ name: uuidtools
99
57
  requirement: !ruby/object:Gem::Requirement
100
58
  requirements:
101
59
  - - ">="
102
60
  - !ruby/object:Gem::Version
103
61
  version: '0'
104
- type: :development
62
+ type: :runtime
105
63
  prerelease: false
106
64
  version_requirements: !ruby/object:Gem::Requirement
107
65
  requirements:
108
66
  - - ">="
109
67
  - !ruby/object:Gem::Version
110
68
  version: '0'
111
- description:
69
+ description:
112
70
  email:
113
71
  - open.source@ribose.com
114
72
  executables:
@@ -116,7 +74,8 @@ executables:
116
74
  extensions: []
117
75
  extra_rdoc_files: []
118
76
  files:
119
- - ".github/workflows/main.yml"
77
+ - ".github/workflows/rake.yml"
78
+ - ".github/workflows/release.yml"
120
79
  - ".gitignore"
121
80
  - ".rspec"
122
81
  - CODE_OF_CONDUCT.md
@@ -149,7 +108,7 @@ metadata:
149
108
  homepage_uri: https://github.com/glossarist/termium
150
109
  source_code_uri: https://github.com/glossarist/termium
151
110
  bug_tracker_uri: https://github.com/glossarist/termium/issues
152
- post_install_message:
111
+ post_install_message:
153
112
  rdoc_options: []
154
113
  require_paths:
155
114
  - lib
@@ -164,8 +123,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
123
  - !ruby/object:Gem::Version
165
124
  version: '0'
166
125
  requirements: []
167
- rubygems_version: 3.3.7
168
- signing_key:
126
+ rubygems_version: 3.3.27
127
+ signing_key:
169
128
  specification_version: 4
170
129
  summary: Parser for the TERMIUM Plus terminology database of the Government of Canada
171
130
  test_files: []
@@ -1,27 +0,0 @@
1
- name: Ruby
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- pull_request:
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
- name: Ruby ${{ matrix.ruby }}
14
- strategy:
15
- matrix:
16
- ruby:
17
- - '3.1.2'
18
-
19
- steps:
20
- - uses: actions/checkout@v3
21
- - name: Set up Ruby
22
- uses: ruby/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- bundler-cache: true
26
- - name: Run the default task
27
- run: bundle exec rake