relaton 0.2.3 → 0.2.4

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: 1fa5d8a5c2c633c1f8c28c1b9edd31b52964afade16ef80a1a294842b5dedfda
4
- data.tar.gz: 1f050291e3b4c6b64226db77440cdd640669f578e16bc50db62654b0cb57010d
3
+ metadata.gz: 7572658c834a43892700846acb448ed8c15573ec5a3b748f947464cb086ed9c4
4
+ data.tar.gz: bef8f6f331b769fd2e0f719eb41223c43ab19045ec7f180b2539a871abf550de
5
5
  SHA512:
6
- metadata.gz: 2cb28ec07668eb2cea8c02e1084404765dee1e642da1b820b58c4158817a184ff1a69de1963162a3dccf21f95fb56a8569f2d40ac8dc908e394df938b7a0c4e6
7
- data.tar.gz: a673ab75765ccc1ba423832fadf54cf185ee9d26d6e1a41f7cba11fceff12ba15b9375e814ca5d9ae9db2ff05b043aad34812fdd5c9ecb8d65d532719c0a8646
6
+ metadata.gz: c2ef0a6645e2b806d8e9a36247ec50646776cc01c35d6aa19da254c1095d2f944b83635f265667ea7572cc4c174f163713478f75473a81d90c6f2d8cc253b391
7
+ data.tar.gz: 104efaea9d07bcb9cae61cad2077ac7a3e404aafd66cb618d7369048e508c08a0a8dbc5c12f466b933a751d40a62c592840f23a0ee8c716566903a809e4de472
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- relaton (0.2.2)
4
+ relaton (0.2.3)
5
5
  algoliasearch
6
6
  gbbib (~> 0.3.1)
7
7
  iecbib (~> 0.1.1)
@@ -12,6 +12,8 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
+ addressable (2.5.2)
16
+ public_suffix (>= 2.0.2, < 4.0)
15
17
  algoliasearch (1.23.2)
16
18
  httpclient (~> 2.8, >= 2.8.3)
17
19
  json (>= 1.5.1)
@@ -46,15 +48,17 @@ GEM
46
48
  rspec (>= 2.99.0, < 4.0)
47
49
  httpclient (2.8.3)
48
50
  iecbib (0.1.1)
51
+ addressable
49
52
  iso-bib-item (~> 0.3.0)
50
53
  ietfbib (0.4.1)
51
54
  iso-bib-item (~> 0.3.0)
52
- iso-bib-item (0.3.0)
55
+ iso-bib-item (0.3.1)
53
56
  isoics (~> 0.1.6)
54
57
  nokogiri (~> 1.8.4)
55
58
  ruby_deep_clone (~> 0.8.0)
56
59
  isobib (0.3.1)
57
60
  algoliasearch
61
+ iecbib (~> 0.1.1)
58
62
  iso-bib-item (~> 0.3.0)
59
63
  isoics (0.1.7)
60
64
  jaro_winkler (1.5.1)
@@ -82,6 +86,7 @@ GEM
82
86
  pry-byebug (3.6.0)
83
87
  byebug (~> 10.0)
84
88
  pry (~> 0.10)
89
+ public_suffix (3.0.3)
85
90
  rainbow (3.0.0)
86
91
  rake (12.3.1)
87
92
  rb-fsevent (0.10.3)
data/lib/relaton/db.rb CHANGED
@@ -69,12 +69,12 @@ module Relaton
69
69
 
70
70
  # list all entries as a serialization
71
71
  def to_xml
72
- return nil if @db.nil?
73
- @db.transaction do
72
+ db = @local_db || @db || return
73
+ db.transaction do
74
74
  Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml|
75
75
  xml.documents do
76
- @db.roots.reject { |key| key == :version }.
77
- each { |key| @db[key]&.fetch("bib")&.to_xml(xml, {}) }
76
+ db.roots.reject { |key| key == :version }.
77
+ each { |key| db[key]&.fetch("bib")&.to_xml(xml, {}) }
78
78
  end
79
79
  end.to_xml
80
80
  end
@@ -119,16 +119,21 @@ module Relaton
119
119
  # @param stdclass [Symbol]
120
120
  def check_bibliocache(code, year, opts, stdclass)
121
121
  id, searchcode = std_id(code, year, opts, stdclass)
122
- return bib_retval(new_bib_entry(searchcode, year, opts, stdclass)) if @db.nil?
123
- @db.transaction do
124
- @db.delete(id) unless valid_bib_entry?(@db[id], year)
125
- @db[id] ||= new_bib_entry(searchcode, year, opts, stdclass)
126
- if @local_db.nil? then bib_retval(@db[id])
127
- else
128
- @local_db.transaction do
129
- @local_db[id] = @db[id] if !valid_bib_entry?(@local_db[id], year)
130
- bib_retval(@local_db[id])
122
+ db = @local_db || @db
123
+ altdb = @local_db && @db ? @db : nil
124
+ return bib_retval(new_bib_entry(searchcode, year, opts, stdclass)) if db.nil?
125
+ db.transaction do
126
+ db.delete(id) unless valid_bib_entry?(db[id], year)
127
+ if altdb
128
+ altdb.transaction do
129
+ db[id] ||= altdb[id]
130
+ db[id] ||= new_bib_entry(searchcode, year, opts, stdclass)
131
+ altdb[id] = db[id] if !valid_bib_entry?(altdb[id], year)
132
+ bib_retval(db[id])
131
133
  end
134
+ else
135
+ db[id] ||= new_bib_entry(searchcode, year, opts, stdclass)
136
+ bib_retval(db[id])
132
137
  end
133
138
  end
134
139
  end
@@ -1,3 +1,3 @@
1
1
  module Relaton
2
- VERSION = "0.2.3".freeze
2
+ VERSION = "0.2.4".freeze
3
3
  end
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.2.3
4
+ version: 0.2.4
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-09-19 00:00:00.000000000 Z
11
+ date: 2018-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: algoliasearch