libis-services 1.0.7 → 1.0.10

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