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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42d388ac89c1d26d3cee93b0129d4c7393d7799849d94b2a84266830b3f9436d
4
- data.tar.gz: bf8af87b24de874c0693711b48b821f9f347a5b1efe8c0158b82e7df88f5529b
3
+ metadata.gz: 855dfd4001f1fbfc76c738140f38a11b84c91f3c5d82d6ea826bf8e5a2c3ffdf
4
+ data.tar.gz: 70eb51f1467b58d20eac03378a08479f1082dd520502bb18d96481399e35a7a1
5
5
  SHA512:
6
- metadata.gz: 8f34dd9a4738927f277c0e71ec36d0213e45e70f31a260819bcbcad8e7519e87ce2c1e883c53111e52ab73d9cbc580ab1d8cb8c8afd9ebce4257d1a287f73f48
7
- data.tar.gz: 1bbf4542a44735cbf8078ae18249fab3e43c5d081db6a8645d89d554c82e8028dc85296650cc909252da690db8be8bc3dafb81fd4ecfb186ce470bd2ee346744
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.1)
4
+ relaton (0.1.2)
5
5
  algoliasearch
6
- gbbib (~> 0.2.0)
6
+ gbbib (~> 0.2.1)
7
7
  iev (~> 0.1.0)
8
8
  isobib (~> 0.2.0)
9
- rfcbib (~> 0.2.0)
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.0)
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.1)
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.0)
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
- ret
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(code, year, opts, stdclass)) if @db.nil?
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(code, year, opts, stdclass)
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
@@ -1,3 +1,3 @@
1
1
  module Relaton
2
- VERSION = "0.1.2".freeze
2
+ VERSION = "0.1.3".freeze
3
3
  end
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.0"
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.0"
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.2
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-22 00:00:00.000000000 Z
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.0
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.0
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.0
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.0
82
+ version: 0.2.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement