relaton 1.7.0 → 1.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +46 -0
  3. data/docs/README.adoc +228 -2
  4. data/globalcache/iec/iec_60050_102_2007.xml +58 -0
  5. data/globalcache/iec/version +1 -0
  6. data/lib/relaton.rb +8 -7
  7. data/lib/relaton/config.rb +3 -2
  8. data/lib/relaton/db.rb +237 -32
  9. data/lib/relaton/db_cache.rb +22 -6
  10. data/lib/relaton/processor.rb +11 -0
  11. data/lib/relaton/registry.rb +1 -1
  12. data/lib/relaton/version.rb +1 -1
  13. data/lib/relaton/workers_pool.rb +23 -0
  14. data/localcache/iec/iec_60050_102_2007.xml +58 -0
  15. data/localcache/iec/version +1 -0
  16. data/relaton.gemspec +8 -6
  17. data/spec/relaton/db_cache_spec.rb +1 -1
  18. data/spec/relaton/db_spec.rb +122 -0
  19. data/spec/relaton/processor_spec.rb +4 -0
  20. data/spec/relaton/regirtry_spec.rb +54 -44
  21. data/spec/relaton_spec.rb +120 -19
  22. data/spec/vcr_cassetes/19133_2005.yml +18 -18
  23. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +7 -7
  24. data/spec/vcr_cassetes/cie_001_1980.yml +120 -0
  25. data/spec/vcr_cassetes/ecma_6.yml +94 -0
  26. data/spec/vcr_cassetes/fisp_140.yml +6 -6
  27. data/spec/vcr_cassetes/gb_t_20223_2006.yml +13 -9
  28. data/spec/vcr_cassetes/hist_cmbined_included.yml +105 -0
  29. data/spec/vcr_cassetes/iec_60050_102_2007.yml +283 -0
  30. data/spec/vcr_cassetes/iec_combined_included.yml +945 -0
  31. data/spec/vcr_cassetes/ieee_528_2019.yml +15 -15
  32. data/spec/vcr_cassetes/iho_b_11.yml +15 -15
  33. data/spec/vcr_cassetes/iso_111111119115_1.yml +4 -4
  34. data/spec/vcr_cassetes/iso_19115.yml +19 -19
  35. data/spec/vcr_cassetes/iso_19115_1.yml +17 -17
  36. data/spec/vcr_cassetes/iso_19115_1_2.yml +35 -35
  37. data/spec/vcr_cassetes/iso_awi_24229.yml +18 -18
  38. data/spec/vcr_cassetes/iso_combined_applied.yml +361 -0
  39. data/spec/vcr_cassetes/iso_combined_included.yml +361 -0
  40. data/spec/vcr_cassetes/itu_combined_included.yml +1296 -0
  41. data/spec/vcr_cassetes/ogc_19_025r1.yml +2484 -1901
  42. data/spec/vcr_cassetes/ogm_ami4ccm_1_0.yml +7 -7
  43. data/spec/vcr_cassetes/rfc_8341.yml +47 -15
  44. data/spec/vcr_cassetes/rfc_unsuccess.yml +70 -0
  45. data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
  46. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +30 -30
  47. data/spec/vcr_cassetes/w3c_json_ld11.yml +12 -12
  48. metadata +62 -50
  49. data/.github/workflows/macos.yml +0 -34
  50. data/.github/workflows/ubuntu.yml +0 -32
  51. data/.github/workflows/windows.yml +0 -35
@@ -1,4 +1,5 @@
1
1
  require "fileutils"
2
+ require "timeout"
2
3
 
3
4
  module Relaton
4
5
  class DbCache
@@ -14,6 +15,20 @@ module Relaton
14
15
  # set_version # unless File.exist? file_version
15
16
  end
16
17
 
18
+ # Move caches to anothe dir
19
+ # @param new_dir [String, nil]
20
+ def mv(new_dir)
21
+ return unless new_dir && @ext == "xml"
22
+
23
+ FileUtils.mv dir, new_dir
24
+ @dir = new_dir
25
+ end
26
+
27
+ # Clear database
28
+ def clear
29
+ FileUtils.rm_rf Dir.glob "#{dir}/*" if @ext == "xml" # unless it's static DB
30
+ end
31
+
17
32
  # Save item
18
33
  # @param key [String]
19
34
  # @param value [String] Bibitem xml serialization
@@ -65,7 +80,7 @@ module Relaton
65
80
  value = self[key]
66
81
  return unless value
67
82
 
68
- if value =~ /^not_found/
83
+ if value.match? /^not_found/
69
84
  value.match(/\d{4}-\d{2}-\d{2}/).to_s
70
85
  else
71
86
  doc = Nokogiri::XML value
@@ -76,8 +91,9 @@ module Relaton
76
91
  # Returns all items
77
92
  # @return [Array<String>]
78
93
  def all
79
- Dir.glob("#{@dir}/**/*.xml").sort.map do |f|
80
- File.read(f, encoding: "utf-8")
94
+ Dir.glob("#{@dir}/**/*.{xml,yml,yaml}").sort.map do |f|
95
+ content = File.read(f, encoding: "utf-8")
96
+ block_given? ? yield(f, content) : content
81
97
  end
82
98
  end
83
99
 
@@ -159,7 +175,7 @@ module Relaton
159
175
  def filename(key)
160
176
  prefcode = key.downcase.match /^(?<prefix>[^\(]+)\((?<code>[^\)]+)/
161
177
  fn = if prefcode
162
- "#{prefcode[:prefix]}/#{prefcode[:code].gsub(/[-:\s\/\()]/, '_').squeeze("_")}"
178
+ "#{prefcode[:prefix]}/#{prefcode[:code].gsub(/[-:\s\/\()]/, '_').squeeze('_')}"
163
179
  else
164
180
  key.gsub(/[-:\s]/, "_")
165
181
  end
@@ -193,7 +209,7 @@ module Relaton
193
209
  # @content [String]
194
210
  def file_safe_write(file, content)
195
211
  File.open file, File::RDWR | File::CREAT, encoding: "UTF-8" do |f|
196
- Timeout.timeout(1) { f.flock File::LOCK_EX }
212
+ Timeout.timeout(10) { f.flock File::LOCK_EX }
197
213
  f.write content
198
214
  end
199
215
  end
@@ -218,7 +234,7 @@ module Relaton
218
234
  # local_cache: local cache name; none created if nil; "relaton" created
219
235
  # if empty global_cache: boolean to create global_cache
220
236
  # flush_caches: flush caches
221
- def init_bib_caches(opts)
237
+ def init_bib_caches(opts) # rubocop:disable Metrics/CyclomaticComplexity
222
238
  globalname = global_bibliocache_name if opts[:global_cache]
223
239
  localname = local_bibliocache_name(opts[:local_cache])
224
240
  localname = "relaton" if localname&.empty?
@@ -20,5 +20,16 @@ module Relaton
20
20
  def hash_to_bib(_hash)
21
21
  raise "This is an abstract class!"
22
22
  end
23
+
24
+ def grammar_hash
25
+ raise "This is an abstract class!"
26
+ end
27
+
28
+ # Retuns default number of workers. Should be overraded by childred classes if need.
29
+ #
30
+ # @return [Integer] nuber of wokrers
31
+ def threads
32
+ 10
33
+ end
23
34
  end
24
35
  end
@@ -8,7 +8,7 @@ module Relaton
8
8
  SUPPORTED_GEMS = %w[
9
9
  relaton_gb relaton_iec relaton_ietf relaton_iso relaton_itu relaton_nist
10
10
  relaton_ogc relaton_calconnect relaton_omg relaton_un relaton_w3c
11
- relaton_ieee relaton_iho relaton_bipm
11
+ relaton_ieee relaton_iho relaton_bipm relaton_ecma relaton_cie
12
12
  ].freeze
13
13
 
14
14
  include Singleton
@@ -1,3 +1,3 @@
1
1
  module Relaton
2
- VERSION = "1.7.0".freeze
2
+ VERSION = "1.7.5".freeze
3
3
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Relaton
4
+ # Workers poll.
5
+ class WorkersPool
6
+ def initialize(workers = 2, &_block)
7
+ num_workers = workers < 2 ? 2 : workers
8
+ @queue = SizedQueue.new(num_workers * 2)
9
+ @threads = Array.new num_workers do
10
+ Thread.new do
11
+ while item = @queue.pop
12
+ yield(item)
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ def <<(item)
19
+ @queue << item
20
+ self
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,58 @@
1
+ <bibdata type="standard">
2
+ <fetched>2021-02-03</fetched>
3
+ <title type="title-main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV)</title>
4
+ <title type="title-part" format="text/plain" language="en" script="Latn">Part 102: Mathematics -- General concepts and linear algebra</title>
5
+ <title type="main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV) - Part 102: Mathematics -- General concepts and linear algebra</title>
6
+ <uri type="src">https://webstore.iec.ch/publication/160</uri>
7
+ <uri type="obp">/preview/info_iec60050-102%7Bed1.0%7Db.pdf</uri>
8
+ <docidentifier type="IEC">IEC 60050-102:2007</docidentifier>
9
+ <docidentifier type="URN">urn:iec:std:iec:60050-102:2007:::en</docidentifier>
10
+ <date type="published">
11
+ <on>2007-08-27</on>
12
+ </date>
13
+ <contributor>
14
+ <role type="publisher"/>
15
+ <organization>
16
+ <name>International Electrotechnical Commission</name>
17
+ <abbreviation>IEC</abbreviation>
18
+ <uri>www.iec.ch</uri>
19
+ </organization>
20
+ </contributor>
21
+ <edition>1.0</edition>
22
+ <language>en</language>
23
+ <script>Latn</script>
24
+ <abstract format="text/plain" language="en" script="Latn">This part of IEC 60050 gives the general mathematical terminology used in the fields of electricity, electronics and telecommunications, together with basic concepts in linear algebra. It maintains a clear distinction between mathematical concepts and physical concepts, even if some terms are used in both cases. Another part will deal with functions.&#13;
25
+ It has the status of a horizontal standard in accordance with IEC Guide 108.</abstract>
26
+ <status>
27
+ <stage>60</stage>
28
+ <substage>60</substage>
29
+ </status>
30
+ <copyright>
31
+ <from>2007</from>
32
+ <owner>
33
+ <organization>
34
+ <name>International Electrotechnical Commission</name>
35
+ <abbreviation>IEC</abbreviation>
36
+ <uri>www.iec.ch</uri>
37
+ </organization>
38
+ </owner>
39
+ </copyright>
40
+ <place>Geneva</place>
41
+ <ext>
42
+ <doctype>international-standard</doctype>
43
+ <editorialgroup>
44
+ <technical-committee number="1" type="technicalCommittee">TC 1 - Terminology</technical-committee>
45
+ </editorialgroup>
46
+ <ics>
47
+ <code>01.040.07</code>
48
+ <text>Natural and applied sciences (Vocabularies)</text>
49
+ </ics>
50
+ <ics>
51
+ <code>07.020</code>
52
+ <text>Mathematics</text>
53
+ </ics>
54
+ <structuredidentifier type="IEC">
55
+ <project-number>60050</project-number>
56
+ </structuredidentifier>
57
+ </ext>
58
+ </bibdata>
@@ -0,0 +1 @@
1
+ 407d6f5afdc9ae9ea7abe6e84d27f40b
data/relaton.gemspec CHANGED
@@ -32,21 +32,23 @@ Gem::Specification.new do |spec|
32
32
  # spec.add_dependency "algoliasearch"
33
33
  spec.add_dependency "relaton-bipm", "~> 1.7.0"
34
34
  spec.add_dependency "relaton-calconnect", "~> 1.7.0"
35
+ spec.add_dependency "relaton-cie", "1.7.pre1"
36
+ spec.add_dependency "relaton-ecma", "1.7.pre1"
35
37
  spec.add_dependency "relaton-gb", "~> 1.7.0"
36
- spec.add_dependency "relaton-iec", "~> 1.7.0"
38
+ spec.add_dependency "relaton-iec", ">= 1.7.6"
37
39
  spec.add_dependency "relaton-ieee", "~> 1.7.0"
38
40
  spec.add_dependency "relaton-ietf", "~> 1.7.0"
39
41
  spec.add_dependency "relaton-iho", "~> 1.7.0"
40
- spec.add_dependency "relaton-iso", "~> 1.7.0"
41
- spec.add_dependency "relaton-itu", "~> 1.7.0"
42
- spec.add_dependency "relaton-nist", "~> 1.7.0"
42
+ spec.add_dependency "relaton-iso", ">= 1.7.1"
43
+ spec.add_dependency "relaton-itu", ">= 1.7.2"
44
+ spec.add_dependency "relaton-nist", ">= 1.7.1"
43
45
  spec.add_dependency "relaton-ogc", "~> 1.7.0"
44
46
  spec.add_dependency "relaton-omg", "~> 1.7.0"
45
47
  spec.add_dependency "relaton-un", "~> 1.7.0"
46
48
  spec.add_dependency "relaton-w3c", "~> 1.7.0"
47
49
 
48
50
  spec.add_development_dependency "byebug", "~> 11.0"
49
- spec.add_development_dependency "debase"
51
+ # spec.add_development_dependency "debase"
50
52
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
51
53
  spec.add_development_dependency "guard", "~> 2.14"
52
54
  spec.add_development_dependency "guard-rspec", "~> 4.7"
@@ -54,7 +56,7 @@ Gem::Specification.new do |spec|
54
56
  spec.add_development_dependency "rake", "~> 10.0"
55
57
  spec.add_development_dependency "rspec", "~> 3.6"
56
58
  spec.add_development_dependency "rubocop", "= 0.54.0"
57
- spec.add_development_dependency "ruby-debug-ide"
59
+ # spec.add_development_dependency "ruby-debug-ide"
58
60
  spec.add_development_dependency "simplecov", "~> 0.15"
59
61
  spec.add_development_dependency "timecop", "~> 0.9"
60
62
  spec.add_development_dependency "vcr", "~> 5"
@@ -7,7 +7,7 @@ RSpec.describe Relaton::DbCache do
7
7
  FileUtils.mv cache_path, "relaton1/cache", force: true
8
8
  FileUtils.rm_rf %w(relaton)
9
9
  Relaton::DbCache.init_bib_caches(
10
- global_cache: true, local_cache: "", flush_caches: true,
10
+ global_cache: true, local_cache: "", flush_caches: true
11
11
  )
12
12
  expect(File.exist?(cache_path)).to be true
13
13
  expect(File.exist?("relaton")).to be true
@@ -1,6 +1,98 @@
1
1
  RSpec.describe Relaton::Db do
2
2
  before(:each) { FileUtils.rm_rf %w[testcache testcache2] }
3
3
 
4
+ context "modifing database" do
5
+ it "move to new dir" do
6
+ db = Relaton::Db.new "global_cache", "local_cache"
7
+ db.save_entry "ISO(ISO 123)", "<bibitem id='ISO123></bibitem>"
8
+ expect(File.exist?("global_cache")).to be true
9
+ expect(File.exist?("local_cache")).to be true
10
+ db.mv "testcache", "testcache2"
11
+ expect(File.exist?("testcache")).to be true
12
+ expect(File.exist?("global_cache")).to be false
13
+ expect(File.exist?("testcache2")).to be true
14
+ expect(File.exist?("local_cache")).to be false
15
+ end
16
+
17
+ it "clear" do
18
+ db = Relaton::Db.new "testcache", "testcache2"
19
+ db.save_entry "ISO(ISO 123)", "<bibitem id='ISO123></bibitem>"
20
+ expect(File.exist?("testcache/iso")).to be true
21
+ expect(File.exist?("testcache2/iso")).to be true
22
+ db.clear
23
+ expect(File.exist?("testcache/iso")).to be false
24
+ expect(File.exist?("testcache2/iso")).to be false
25
+ end
26
+ end
27
+
28
+ context "query in local DB" do
29
+ let(:db) { Relaton::Db.new "testcache", "testcache2" }
30
+
31
+ before(:each) do
32
+ db.save_entry "ISO(ISO 123)", <<~DOC
33
+ <bibitem id='ISO123'>
34
+ <title>The first test</title><edition>2</edition><date type="published"><on>2011-10-12</on></date>
35
+ </bibitem>
36
+ DOC
37
+ db.save_entry "IEC(IEC 123)", <<~DOC
38
+ <bibitem id="IEC123">
39
+ <title>The second test</title><edition>1</edition><date type="published"><on>2015-12</on></date>
40
+ </bibitem>
41
+ DOC
42
+ end
43
+
44
+ after(:each) { db.clear }
45
+
46
+ it "one document" do
47
+ item = db.fetch_db "ISO((ISO 124)"
48
+ expect(item).to be_nil
49
+ item = db.fetch_db "ISO(ISO 123)"
50
+ expect(item).to be_instance_of RelatonIsoBib::IsoBibliographicItem
51
+ end
52
+
53
+ it "all documents" do
54
+ items = db.fetch_all
55
+ expect(items.size).to be 9
56
+ expect(items[7]).to be_instance_of RelatonIec::IecBibliographicItem
57
+ expect(items[8]).to be_instance_of RelatonIsoBib::IsoBibliographicItem
58
+ end
59
+
60
+ context "search for text" do
61
+ it do
62
+ items = db.fetch_all "test"
63
+ expect(items.size).to eq 2
64
+ items = db.fetch_all "first"
65
+ expect(items.size).to eq 1
66
+ expect(items[0].id).to eq "ISO123"
67
+ end
68
+
69
+ it "in attributes" do
70
+ items = db.fetch_all "123"
71
+ expect(items.size).to eq 2
72
+ items = db.fetch_all "ISO"
73
+ expect(items.size).to eq 8
74
+ expect(items[7].id).to eq "ISO123"
75
+ end
76
+
77
+ it "and fail" do
78
+ items = db.fetch_all "bibitem"
79
+ expect(items.size).to eq 0
80
+ end
81
+
82
+ it "and edition" do
83
+ items = db.fetch_all "123", edition: "2"
84
+ expect(items.size).to eq 1
85
+ expect(items[0].id).to eq "ISO123"
86
+ end
87
+
88
+ it "and year" do
89
+ items = db.fetch_all "123", year: 2015
90
+ expect(items.size).to eq 1
91
+ expect(items[0].id).to eq "IEC123"
92
+ end
93
+ end
94
+ end
95
+
4
96
  it "returns docid type" do
5
97
  db = Relaton::Db.new "testcache", "testcache2"
6
98
  expect(db.docid_type("CN(GB/T 1.1)")).to eq ["Chinese Standard", "GB/T 1.1"]
@@ -30,6 +122,36 @@ RSpec.describe Relaton::Db do
30
122
  end
31
123
  end
32
124
 
125
+ it "fetch document with net retries" do
126
+ db = Relaton::Db.new nil, nil
127
+ expect(db.instance_variable_get(:@registry).processors[:relaton_ietf]).to receive(:get)
128
+ .and_raise(RelatonBib::RequestError).exactly(3).times
129
+ expect { db.fetch "RFC 8341", nil, retries: 3 }.to raise_error RelatonBib::RequestError
130
+ end
131
+
132
+ context "async fetch" do
133
+ let(:db) { Relaton::Db.new nil, nil }
134
+ let(:queue) { Queue.new }
135
+
136
+ it "success" do
137
+ result = nil
138
+ VCR.use_cassette "rfc_8341" do
139
+ db.fetch_async("RFC 8341") { |r| queue << r }
140
+ Timeout.timeout(5) { result = queue.pop }
141
+ end
142
+ expect(result).to be_instance_of RelatonIetf::IetfBibliographicItem
143
+ end
144
+
145
+ it "prefix not found" do
146
+ result = ""
147
+ VCR.use_cassette "rfc_unsuccess" do
148
+ db.fetch_async("ABC 123456") { |r| queue << r }
149
+ Timeout.timeout(5) { result = queue.pop }
150
+ end
151
+ expect(result).to be_nil
152
+ end
153
+ end
154
+
33
155
  context "fetch documents form static cache" do
34
156
  let(:db) { Relaton::Db.new nil, nil }
35
157
 
@@ -23,5 +23,9 @@ RSpec.describe Relaton::Processor do
23
23
  it "hash_to_bib method should be implemented" do
24
24
  expect { subject.hash_to_bib({}) }.to raise_error StandardError
25
25
  end
26
+
27
+ it "grammar_hash method should be implemented" do
28
+ expect { subject.grammar_hash }.to raise_error StandardError
29
+ end
26
30
  end
27
31
  end
@@ -2,72 +2,82 @@ RSpec.describe Relaton::Registry do
2
2
  it "outputs backend not present" do
3
3
  stub_const "Relaton::Registry::SUPPORTED_GEMS", ["not_supported_gem"]
4
4
  expect { Relaton::Registry.clone.instance }.to output(
5
- /backend not_supported_gem not present/,
5
+ /backend not_supported_gem not present/
6
6
  ).to_stdout
7
7
  end
8
8
 
9
9
  it "finds ISO processor" do
10
- expect(Relaton::Registry.instance.find_processor("relaton_iso")).
11
- to be_instance_of RelatonIso::Processor
10
+ expect(Relaton::Registry.instance.find_processor("relaton_iso"))
11
+ .to be_instance_of RelatonIso::Processor
12
12
  end
13
13
 
14
14
  it "returns supported processors" do
15
15
  expect(Relaton::Registry.instance.supported_processors).to include :relaton_iso
16
16
  end
17
17
 
18
- it "finds processor by type" do
19
- expect(Relaton::Registry.instance.by_type("CN")).to be_instance_of RelatonGb::Processor
20
- end
18
+ context "finds processor by type" do
19
+ it "CN" do
20
+ expect(Relaton::Registry.instance.by_type("CN")).to be_instance_of RelatonGb::Processor
21
+ end
21
22
 
22
- it "finds processor by type" do
23
- expect(Relaton::Registry.instance.by_type("IEC")).to be_instance_of RelatonIec::Processor
24
- end
23
+ it "IEC" do
24
+ expect(Relaton::Registry.instance.by_type("IEC")).to be_instance_of RelatonIec::Processor
25
+ end
25
26
 
26
- it "finds processor by type" do
27
- expect(Relaton::Registry.instance.by_type("IETF")).to be_instance_of RelatonIetf::Processor
28
- end
27
+ it "IETF" do
28
+ expect(Relaton::Registry.instance.by_type("IETF")).to be_instance_of RelatonIetf::Processor
29
+ end
29
30
 
30
- it "finds processor by type" do
31
- expect(Relaton::Registry.instance.by_type("ISO")).to be_instance_of RelatonIso::Processor
32
- end
31
+ it "ISO" do
32
+ expect(Relaton::Registry.instance.by_type("ISO")).to be_instance_of RelatonIso::Processor
33
+ end
33
34
 
34
- it "finds processor by type" do
35
- expect(Relaton::Registry.instance.by_type("ITU")).to be_instance_of RelatonItu::Processor
36
- end
35
+ it "ITU" do
36
+ expect(Relaton::Registry.instance.by_type("ITU")).to be_instance_of RelatonItu::Processor
37
+ end
37
38
 
38
- it "finds processor by type" do
39
- expect(Relaton::Registry.instance.by_type("NIST")).to be_instance_of RelatonNist::Processor
40
- end
39
+ it "NIST" do
40
+ expect(Relaton::Registry.instance.by_type("NIST")).to be_instance_of RelatonNist::Processor
41
+ end
41
42
 
42
- it "finds processor by type" do
43
- expect(Relaton::Registry.instance.by_type("OGC")).to be_instance_of RelatonOgc::Processor
44
- end
43
+ it "OGC" do
44
+ expect(Relaton::Registry.instance.by_type("OGC")).to be_instance_of RelatonOgc::Processor
45
+ end
45
46
 
46
- it "finds processor by type" do
47
- expect(Relaton::Registry.instance.by_type("CC")).to be_instance_of RelatonCalconnect::Processor
48
- end
47
+ it "CC" do
48
+ expect(Relaton::Registry.instance.by_type("CC")).to be_instance_of RelatonCalconnect::Processor
49
+ end
49
50
 
50
- it "finds processor by type" do
51
- expect(Relaton::Registry.instance.by_type("OMG")).to be_instance_of RelatonOmg::Processor
52
- end
51
+ it "OMG" do
52
+ expect(Relaton::Registry.instance.by_type("OMG")).to be_instance_of RelatonOmg::Processor
53
+ end
53
54
 
54
- it "finds processor by type" do
55
- expect(Relaton::Registry.instance.by_type("UN")).to be_instance_of RelatonUn::Processor
56
- end
55
+ it "UN" do
56
+ expect(Relaton::Registry.instance.by_type("UN")).to be_instance_of RelatonUn::Processor
57
+ end
57
58
 
58
- it "finds processor by type" do
59
- expect(Relaton::Registry.instance.by_type("W3C")).to be_instance_of RelatonW3c::Processor
60
- end
59
+ it "W3C" do
60
+ expect(Relaton::Registry.instance.by_type("W3C")).to be_instance_of RelatonW3c::Processor
61
+ end
61
62
 
62
- it "finds processor by type" do
63
- expect(Relaton::Registry.instance.by_type("IEEE")).to be_instance_of RelatonIeee::Processor
64
- end
63
+ it "IEEE" do
64
+ expect(Relaton::Registry.instance.by_type("IEEE")).to be_instance_of RelatonIeee::Processor
65
+ end
65
66
 
66
- it "finds processor by type" do
67
- expect(Relaton::Registry.instance.by_type("IHO")).to be_instance_of RelatonIho::Processor
68
- end
67
+ it "IHO" do
68
+ expect(Relaton::Registry.instance.by_type("IHO")).to be_instance_of RelatonIho::Processor
69
+ end
70
+
71
+ it "BIPM" do
72
+ expect(Relaton::Registry.instance.by_type("BIPM")).to be_instance_of RelatonBipm::Processor
73
+ end
74
+
75
+ it "ECMA" do
76
+ expect(Relaton::Registry.instance.by_type("ECMA")).to be_instance_of RelatonEcma::Processor
77
+ end
69
78
 
70
- it "finds processor by type" do
71
- expect(Relaton::Registry.instance.by_type("BIPM")).to be_instance_of RelatonBipm::Processor
79
+ it "CIE" do
80
+ expect(Relaton::Registry.instance.by_type("CIE")).to be_instance_of RelatonCie::Processor
81
+ end
72
82
  end
73
83
  end