libis-services 1.0.7 → 1.0.10

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
- SHA1:
3
- metadata.gz: 2598b3601e64cf3b97f27f73c6d1888ba445f657
4
- data.tar.gz: 1624104e868fe2947c206ab8851cd7ed22b60408
2
+ SHA256:
3
+ metadata.gz: 286b07cf808e2a2e50a5cde29b49e6a9f9162a43598a45ed11f5460a69855046
4
+ data.tar.gz: 2ac35bfbbf62ba56ea718a41297aed33cf2e45bf1123a9938f7a1ba52de24b10
5
5
  SHA512:
6
- metadata.gz: 38d1b1128b0fc1a3c5f85c62da5a3f3fd478521a9d91929dd64b2e86cf2f9c390c492cf977b054eb2386b1909946388eb9ab80dd6ffae49ce4fb70fc8eb96e96
7
- data.tar.gz: d977e8e76c558f9ec342379d5880e6768da64109ab7ffb33e16e2946b5316afcd39b24a7051b393d5afec279c63fd36662d0320ed00fa1f3a5d8db3b9434d53e
6
+ metadata.gz: 6e00164a2d67021f72ba76e6880291809460604f4db62900b4c7e8c39acc314466129f064c7c6a6c329c2668326fe353a82db1163a1f3beffc51e634e07f9e4d
7
+ data.tar.gz: 3cadc5af5ed9ca5f07766ba9bebd9bd517c046465d6e32b43e7796d68e5e6ac9fb6d8f3ef6ae7a7196fc836731970794db1fe86ae56eff7c2f18347af9d6f2e9
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'backports/rails/hash'
3
+ require 'libis/tools/extend/hash'
4
4
  require 'libis/tools/xml_document'
5
5
 
6
6
  require 'libis/services/generic_search'
@@ -1,4 +1,12 @@
1
- require 'oci8'
1
+ # frozen_string_literal: true
2
+ if RUBY_PLATFORM == 'java'
3
+ require 'java'
4
+ require 'ojdbc8.jar'
5
+ require 'orai18n.jar'
6
+ java_import 'oracle.jdbc.pool.OracleDataSource'
7
+ else
8
+ require 'oci8'
9
+ end
2
10
 
3
11
  module Libis
4
12
  module Services
@@ -9,12 +17,27 @@ module Libis
9
17
 
10
18
  def initialize(url)
11
19
  @url = url
12
- @oci = OCI8.new(url)
20
+ @oci = if RUBY_PLATFORM == 'java'
21
+ raise RuntimeError, 'Malformed database URL' unless url =~ /^(.*)\/(.*)@(.*)$/
22
+ user, pass, db = $1, $2, $3
23
+ uri = "jdbc:oracle:thin:@#{db}"
24
+ ods = OracleDataSource.new
25
+ ods.set_url(uri)
26
+ ods.set_user(user)
27
+ ods.set_password(pass)
28
+ ods.get_connection
29
+ else
30
+ OCI8.new(url)
31
+ end
13
32
  ObjectSpace.define_finalizer(self, self.class.finalize(@oci))
14
33
  end
15
34
 
16
35
  def self.finalize(oci)
17
- proc { oci.logoff }
36
+ if RUBY_PLATFORM == 'java'
37
+ proc { oci.close }
38
+ else
39
+ proc { oci.logoff }
40
+ end
18
41
  end
19
42
 
20
43
  # @param [Boolean] value
@@ -60,7 +83,7 @@ module Libis
60
83
 
61
84
  def run(script, parameters = [])
62
85
  params = ''
63
- params = "\"" + parameters.join("\" \"") + "\"" if parameters and parameters.size > 0
86
+ params = "\"" + parameters.join("\" \"") + "\"" if parameters&.size.to_i > 0
64
87
  process_result `sqlplus -S #{url} @#{script} #{params}`
65
88
  end
66
89
 
@@ -10,7 +10,8 @@ require 'libis/tools/mets_file'
10
10
 
11
11
  require 'csv'
12
12
  require 'write_xlsx'
13
- require 'backports'
13
+ require 'libis/tools/extend/hash'
14
+ require 'libis/tools/extend/string'
14
15
  require 'awesome_print'
15
16
 
16
17
  require_relative '../service_error'
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Services
3
- VERSION = '1.0.7'
3
+ VERSION = '1.0.10'
4
4
  end
5
5
  end
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.add_runtime_dependency 'savon', '~> 2.11'
34
34
  spec.add_runtime_dependency 'rest-client', '~> 2.0'
35
35
  spec.add_runtime_dependency 'oai', '~> 0.4'
36
- spec.add_runtime_dependency 'ruby-oci8', '~> 2.2.2'
36
+ spec.add_runtime_dependency 'ruby-oci8', '~> 2.2.2' unless RUBY_PLATFORM == 'java'
37
37
  spec.add_runtime_dependency 'virtus', '~> 1.0'
38
38
  spec.add_runtime_dependency 'write_xlsx', '~> 0.83'
39
39
  spec.add_runtime_dependency 'awesome_print', '~> 1.6'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libis-services
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kris Dekeyser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-28 00:00:00.000000000 Z
11
+ date: 2020-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -319,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
319
319
  version: '0'
320
320
  requirements: []
321
321
  rubyforge_project:
322
- rubygems_version: 2.5.1
322
+ rubygems_version: 2.7.8
323
323
  signing_key:
324
324
  specification_version: 4
325
325
  summary: LIBIS Services toolbox.