relaton 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|