alexandrite 0.1.2.pre.alpha → 0.1.3.pre.alpha

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: 1904340a4469d9f82f1d42d16a58cdd7a63e0a23711ed040d20c63648164d4fc
4
- data.tar.gz: a6e306d3416403661661ed1bee823d43bd332f446cb1e1ee61e1529c8f5362aa
3
+ metadata.gz: 35890f7e1386bc1f6d60ac0d68efd032288f1b4c448e5414c4a6bde38469a262
4
+ data.tar.gz: 5b29ae9057b620bc9649889b86587a77b1ecaf9eee4549d339293657e44ff95c
5
5
  SHA512:
6
- metadata.gz: 40f3d5f4f06ce58a3f99156f4a26e399cb8b3e1c852a34de923947aa1b5cad75f39a2d75cc39ed86fa2a765292318ec890e5acc201fa922d861b91618e4d1d96
7
- data.tar.gz: 0fc0a88be83ab17e5753cd389dac7de71ecffaa6915e59d7047a5dd4dc547b84a7fb0a2231be8e22fd911cf162945ad2fa16dafa531af82b0891f6539e22d3eb
6
+ metadata.gz: 4655704b09257367b07cb36ffaa6ecfc6bd5fd7991f5066791b48a351dfd39f297a517497595122f6312eff2d98c4999593a999a72d96653a6ded608e92fb39f
7
+ data.tar.gz: 5d12307befe3fee203ed3e0e5c8fe66cb8fa13e10e7b3586023062ad7be124c96f2fd174755181a20ce9290a334efc3720749dcdc1610cd8f9def5608095771b
data/Gemfile CHANGED
@@ -6,5 +6,6 @@ source 'https://rubygems.org'
6
6
  gemspec
7
7
 
8
8
  gem 'faraday'
9
+ gem 'logger'
9
10
  gem 'faraday-decode_xml'
10
11
  gem 'rubocop'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alexandrite
4
- VERSION = '0.1.2-alpha'
4
+ VERSION = '0.1.3-alpha'
5
5
  end
data/lib/alexandrite.rb CHANGED
@@ -21,9 +21,11 @@ module Alexandrite
21
21
  @result = search_with(key, query)
22
22
  end
23
23
 
24
- # @return [Alexandrite::BookData]
24
+ # @return [nil]
25
25
  def self.create_from_google(key, query)
26
26
  Alexandrite::BookData.create_data(get_volume_info(key, query))
27
+ rescue StandardError => e
28
+ Alexandrite::BookData.create_data({ :error_message => e.message, 'origin' => 'Google API' })
27
29
  end
28
30
  end
29
31
 
@@ -58,8 +60,14 @@ module Alexandrite
58
60
  end
59
61
 
60
62
  def create_book(key, query)
63
+ log = Logger.new(STDOUT)
64
+ log.info "Fetching book info from Google API. Key: #{key}. Query: #{query}"
61
65
  book = API[:google].create_from_google(key, query)
62
- return API[:oclc].create_from_oclc(key, query) if book[:error_message]
66
+ if book[:error_message]
67
+ log.warn "Failing when fetching book info. Error message: #{book[:error_message]}"
68
+ log.info "Fetching book info from OCLC API. Key: #{key}. Query: #{query}"
69
+ return API[:oclc].create_from_oclc(key, query)
70
+ end
63
71
 
64
72
  book
65
73
  end
@@ -69,8 +77,10 @@ module Alexandrite
69
77
  # @return [Array<Alexandrite::BookData]
70
78
  def bulk_create(key, data)
71
79
  bookshelf = []
80
+ log = Logger.new(STDOUT)
72
81
  data.each do |query|
73
82
  book = create_book(key, query)
83
+ log.info "Book created. Key #{key}. Query: #{query}. Source: #{book[:data_source]}"
74
84
  bookshelf << book
75
85
  end
76
86
 
@@ -94,6 +94,8 @@ module Alexandrite
94
94
 
95
95
  def create_new_book(query)
96
96
  Alexandrite::BookData.create_data(get_book_data(query.result))
97
+ rescue StandardError => e
98
+ Alexandrite::BookData.create_data({ :error_message => e.message, 'origin' => 'OCLC API' })
97
99
  end
98
100
 
99
101
  def handle_error_creating_book
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alexandrite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2.pre.alpha
4
+ version: 0.1.3.pre.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - J. P. Pérez-Tejada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-25 00:00:00.000000000 Z
11
+ date: 2023-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -189,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
189
  - !ruby/object:Gem::Version
190
190
  version: 1.3.1
191
191
  requirements: []
192
- rubygems_version: 3.4.5
192
+ rubygems_version: 3.4.6
193
193
  signing_key:
194
194
  specification_version: 4
195
195
  summary: Tools for fetching books data from Google and OCLC