relaton 0.1.2 → 0.1.3
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/Gemfile.lock +6 -6
- data/lib/relaton/db.rb +5 -9
- data/lib/relaton/version.rb +1 -1
- data/relaton.gemspec +2 -2
- data/spec/relaton/relaton_spec.rb +24 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 855dfd4001f1fbfc76c738140f38a11b84c91f3c5d82d6ea826bf8e5a2c3ffdf
|
4
|
+
data.tar.gz: 70eb51f1467b58d20eac03378a08479f1082dd520502bb18d96481399e35a7a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f4115c26d4c21c48f77466879021c791c8c92f561dff7cc0c5bb88b146902aaef92202e0ada57294c62f222003bd5f74d29182ccec748c65e0d7e68a5601dfc
|
7
|
+
data.tar.gz: 195f1b6689c35453fd52ce1d4e0a2856cab28744c9c0d4cbf3290a676e80c92df3c099c893bf2b250e0c91a7c763825c66c19fe0c5eed77927a0ed6c9b6a716c
|
data/Gemfile.lock
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
relaton (0.1.
|
4
|
+
relaton (0.1.2)
|
5
5
|
algoliasearch
|
6
|
-
gbbib (~> 0.2.
|
6
|
+
gbbib (~> 0.2.1)
|
7
7
|
iev (~> 0.1.0)
|
8
8
|
isobib (~> 0.2.0)
|
9
|
-
rfcbib (~> 0.2.
|
9
|
+
rfcbib (~> 0.2.1)
|
10
10
|
|
11
11
|
GEM
|
12
12
|
remote: https://rubygems.org/
|
@@ -24,7 +24,7 @@ GEM
|
|
24
24
|
nokogiri (>= 1.4.3)
|
25
25
|
ffi (1.9.25)
|
26
26
|
formatador (0.2.5)
|
27
|
-
gbbib (0.2.
|
27
|
+
gbbib (0.2.1)
|
28
28
|
cnccs (~> 0.1.1)
|
29
29
|
iso-bib-item (~> 0.2)
|
30
30
|
guard (2.14.2)
|
@@ -44,7 +44,7 @@ GEM
|
|
44
44
|
httpclient (2.8.3)
|
45
45
|
iev (0.1.0)
|
46
46
|
nokogiri
|
47
|
-
iso-bib-item (0.2.
|
47
|
+
iso-bib-item (0.2.2)
|
48
48
|
isoics (~> 0.1.6)
|
49
49
|
nokogiri (~> 1.8.4)
|
50
50
|
ruby_deep_clone (~> 0.8.0)
|
@@ -82,7 +82,7 @@ GEM
|
|
82
82
|
rb-fsevent (0.10.3)
|
83
83
|
rb-inotify (0.9.10)
|
84
84
|
ffi (>= 0.5.0, < 2)
|
85
|
-
rfcbib (0.2.
|
85
|
+
rfcbib (0.2.1)
|
86
86
|
iso-bib-item (~> 0.2.0)
|
87
87
|
rspec (3.7.0)
|
88
88
|
rspec-core (~> 3.7.0)
|
data/lib/relaton/db.rb
CHANGED
@@ -80,11 +80,6 @@ module Relaton
|
|
80
80
|
private
|
81
81
|
|
82
82
|
def standard_class(code)
|
83
|
-
=begin
|
84
|
-
%r{^GB Standard }.match? code and return :gbbib
|
85
|
-
%r{^IETF }.match? code and return :rfcbib
|
86
|
-
%r{^(ISO|IEC)[ /]|IEV($| )}.match? code and return :isobib
|
87
|
-
=end
|
88
83
|
@registry.processors.each do |name, processor|
|
89
84
|
processor.prefix.match?(code) and return name
|
90
85
|
end
|
@@ -100,7 +95,8 @@ module Relaton
|
|
100
95
|
ret = code
|
101
96
|
ret += ":#{year}" if year
|
102
97
|
ret += " (all parts)" if opts[:all_parts]
|
103
|
-
|
98
|
+
code = code.sub(/^(GB Standard|IETF( Standard)?) /, "")
|
99
|
+
[ret, code]
|
104
100
|
end
|
105
101
|
|
106
102
|
def bib_retval(entry)
|
@@ -112,11 +108,11 @@ module Relaton
|
|
112
108
|
# @param opts [Hash]
|
113
109
|
# @param stdclass [Symbol]
|
114
110
|
def check_bibliocache(code, year, opts, stdclass)
|
115
|
-
id = std_id(code, year, opts, stdclass)
|
116
|
-
return bib_retval(new_bib_entry(
|
111
|
+
id, searchcode = std_id(code, year, opts, stdclass)
|
112
|
+
return bib_retval(new_bib_entry(searchcode, year, opts, stdclass)) if @db.nil?
|
117
113
|
@db.transaction do
|
118
114
|
@db.delete(id) unless valid_bib_entry?(@db[id], year)
|
119
|
-
@db[id] ||= new_bib_entry(
|
115
|
+
@db[id] ||= new_bib_entry(searchcode, year, opts, stdclass)
|
120
116
|
if @local_db.nil? then bib_retval(@db[id])
|
121
117
|
else
|
122
118
|
@local_db.transaction do
|
data/lib/relaton/version.rb
CHANGED
data/relaton.gemspec
CHANGED
@@ -28,10 +28,10 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
29
29
|
|
30
30
|
spec.add_dependency "algoliasearch"
|
31
|
-
spec.add_dependency "gbbib", "~> 0.2.
|
31
|
+
spec.add_dependency "gbbib", "~> 0.2.1"
|
32
32
|
spec.add_dependency "iev", "~> 0.1.0"
|
33
33
|
spec.add_dependency "isobib", "~> 0.2.0"
|
34
|
-
spec.add_dependency "rfcbib", "~> 0.2.
|
34
|
+
spec.add_dependency "rfcbib", "~> 0.2.1"
|
35
35
|
|
36
36
|
spec.add_development_dependency "bundler", "~> 1.15"
|
37
37
|
spec.add_development_dependency "byebug", "~> 9.1"
|
@@ -71,14 +71,36 @@ RSpec.describe Relaton::Db do
|
|
71
71
|
|
72
72
|
it "get GB reference and cache it" do
|
73
73
|
stub_bib Gbbib::GbBibliography
|
74
|
-
bib = db.fetch "GB/T 20223", "2006", {}
|
74
|
+
bib = db.fetch "GB Standard GB/T 20223", "2006", {}
|
75
75
|
expect(bib).to be_instance_of Gbbib::GbBibliographicItem
|
76
|
+
expect(bib.to_xml).to include "<bibitem type=\"standard\" id=\"GB/T20223\">"
|
77
|
+
expect(File.exist?("testcache")).to be true
|
78
|
+
expect(File.exist?("testcache2")).to be true
|
79
|
+
testcache = PStore.new "testcache"
|
80
|
+
testcache.transaction true do
|
81
|
+
expect(testcache["GB Standard GB/T 20223:2006"]["bib"].to_xml).to include "<bibitem type=\"standard\" id=\"GB/T20223\">"
|
82
|
+
end
|
83
|
+
testcache = PStore.new "testcache2"
|
84
|
+
testcache.transaction do
|
85
|
+
expect(testcache["GB Standard GB/T 20223:2006"]["bib"].to_xml).to include "<bibitem type=\"standard\" id=\"GB/T20223\">"
|
86
|
+
end
|
76
87
|
end
|
77
|
-
|
88
|
+
|
78
89
|
it "get RFC reference and cache it" do
|
79
90
|
stub_bib RfcBib::RfcBibliography
|
80
91
|
bib = db.fetch "RFC 8341", nil, {}
|
81
92
|
expect(bib).to be_instance_of IsoBibItem::BibliographicItem
|
93
|
+
expect(bib.to_xml).to include "<bibitem id=\"RFC8341\">"
|
94
|
+
expect(File.exist?("testcache")).to be true
|
95
|
+
expect(File.exist?("testcache2")).to be true
|
96
|
+
testcache = PStore.new "testcache"
|
97
|
+
testcache.transaction true do
|
98
|
+
expect(testcache["RFC 8341"]["bib"].to_xml).to include "<bibitem id=\"RFC8341\">"
|
99
|
+
end
|
100
|
+
testcache = PStore.new "testcache2"
|
101
|
+
testcache.transaction do
|
102
|
+
expect(testcache["RFC 8341"]["bib"].to_xml).to include "<bibitem id=\"RFC8341\">"
|
103
|
+
end
|
82
104
|
end
|
83
105
|
|
84
106
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07-
|
11
|
+
date: 2018-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: algoliasearch
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.2.
|
33
|
+
version: 0.2.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.2.
|
40
|
+
version: 0.2.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: iev
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.2.
|
75
|
+
version: 0.2.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.2.
|
82
|
+
version: 0.2.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: bundler
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|