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 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