caruby-core 2.1.2 → 2.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.md +4 -0
- data/LEGAL +0 -1
- data/LICENSE +1 -1
- data/README.md +2 -7
- data/lib/caruby/database/sql_executor.rb +25 -13
- data/lib/caruby/database.rb +3 -11
- data/lib/caruby/version.rb +1 -1
- metadata +2 -2
data/History.md
CHANGED
data/LEGAL
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,20 +1,17 @@
|
|
1
1
|
caRuby: Simplifying caBIG(TM)
|
2
2
|
=============================
|
3
|
-
|
4
3
|
**Home**: [http://caruby.rubyforge.org](http://caruby.rubyforge.org)
|
5
4
|
**Git**: [http://github.com/caruby/core](http://github.com/caruby/core)
|
6
5
|
**Author**: OHSU Knight Cancer Institute
|
7
|
-
**Copyright**:
|
6
|
+
**Copyright**: 2012
|
8
7
|
**License**: MIT License
|
9
8
|
|
10
9
|
Synopsis
|
11
10
|
--------
|
12
|
-
|
13
11
|
caRuby presents a JRuby facade that simplifies interaction with caBIG applications.
|
14
12
|
|
15
13
|
Feature List
|
16
14
|
------------
|
17
|
-
|
18
15
|
1. caCORE API wrapper.
|
19
16
|
|
20
17
|
2. Resolves persistence dependencies.
|
@@ -32,12 +29,10 @@ is installed.
|
|
32
29
|
|
33
30
|
Usage
|
34
31
|
-----
|
35
|
-
|
36
32
|
See the project [Home](http://caruby.rubyforge.org) Page for usage examples.
|
37
33
|
|
38
34
|
Copyright
|
39
35
|
---------
|
40
|
-
|
41
|
-
caRuby © 2010, 2011 by [Oregon Health & Science University](http://www.ohsu.edu/xd/health/services/cancer/index.cfm).
|
36
|
+
caRuby © 2012 by [Oregon Health & Science University](http://www.ohsu.edu/xd/health/services/cancer/index.cfm).
|
42
37
|
caRuby is licensed under the MIT license. Please see the LICENSE and LEGAL
|
43
38
|
files for more information.
|
@@ -6,6 +6,19 @@ module CaRuby
|
|
6
6
|
# Use of this class requires the dbi gem.
|
7
7
|
# SQLExecutor is an auxiliary utility class and is not used by the rest of the CaRuby API.
|
8
8
|
class SQLExecutor
|
9
|
+
# The database connection access options.
|
10
|
+
ACCESS_OPTS = [
|
11
|
+
[:database_host, '--database_host HOST', 'the database host name'],
|
12
|
+
[:database_port, '--database_port PORT', Integer, 'the database port number'],
|
13
|
+
[:database, '--database NAME', 'the database name'],
|
14
|
+
[:database_url, '--database_url URL', 'the database connection URL'],
|
15
|
+
[:database_type, '--database_type TYPE', 'the database type (mysql or oracle)'],
|
16
|
+
[:database_driver, '--database_driver DRIVER', 'the database driver string'],
|
17
|
+
[:database_driver_class, '--database_driver_class CLASS', 'the JDBC database driver class name'],
|
18
|
+
[:database_user, '--database_user USER', 'the database login user'],
|
19
|
+
[:database_password, '--database_password PSWD', 'the database login password']
|
20
|
+
]
|
21
|
+
|
9
22
|
# Creates a new SQLExecutor with the given options.
|
10
23
|
#
|
11
24
|
# The default database host is the application :host property value, which in turn
|
@@ -18,19 +31,19 @@ module CaRuby
|
|
18
31
|
# The default database driver class is +com.mysql.jdbc.Driver+ for MySQL,
|
19
32
|
# +oracle.jdbc.OracleDriver+ for Oracle.
|
20
33
|
#
|
21
|
-
# The default database
|
34
|
+
# The default database url is +_db_driver_+://+_db_host_+:+_db_port_+/+_db_name_.
|
22
35
|
#
|
23
36
|
# @param [Hash] opts the connect options
|
24
|
-
# @option opts [String] :database the
|
25
|
-
# @option opts [String] :database_user the
|
26
|
-
# @option opts [String] :database_password the
|
27
|
-
# @option opts [String] :database_type the
|
28
|
-
# @option opts [String] :database_host the
|
29
|
-
# @option opts [Integer] :database_port the
|
30
|
-
# @option opts [String] :database_driver the
|
31
|
-
# @option opts [String] :database_url the
|
32
|
-
# @option opts [String] :database_driver_class the
|
33
|
-
# @raise [CaRuby::ConfigurationError] if
|
37
|
+
# @option opts [String] :database the database name
|
38
|
+
# @option opts [String] :database_user the database username (not the application login name)
|
39
|
+
# @option opts [String] :database_password the database password (not the application login password)
|
40
|
+
# @option opts [String] :database_type the database type (default +mysql+)
|
41
|
+
# @option opts [String] :database_host the database host
|
42
|
+
# @option opts [Integer] :database_port the database port number
|
43
|
+
# @option opts [String] :database_driver the JDBC driver string, e.g. +jdbc:mysql+
|
44
|
+
# @option opts [String] :database_url the database connection URL
|
45
|
+
# @option opts [String] :database_driver_class the connect driver class name
|
46
|
+
# @raise [CaRuby::ConfigurationError] if neither the database url nor its constituent options are specified
|
34
47
|
def initialize(opts)
|
35
48
|
if opts.empty? then
|
36
49
|
raise CaRuby::ConfigurationError.new("The caRuby database connection properties were not found.")
|
@@ -50,9 +63,8 @@ module CaRuby
|
|
50
63
|
raise_missing_option_error(:database)
|
51
64
|
end
|
52
65
|
end
|
53
|
-
@dbi_url = 'dbi:' + @db_url
|
54
66
|
@username = Options.get(:database_user, opts) { raise_missing_option_error(:database_user) }
|
55
|
-
@password = Options.get(:database_password, opts)
|
67
|
+
@password = Options.get(:database_password, opts) { raise_missing_option_error(:database_password) }
|
56
68
|
@driver_class = Options.get(:database_driver_class, opts, default_driver_class(db_type))
|
57
69
|
# The effective connection options.
|
58
70
|
eff_opts = {
|
data/lib/caruby/database.rb
CHANGED
@@ -10,6 +10,7 @@ require 'caruby/database/operation'
|
|
10
10
|
require 'caruby/database/reader'
|
11
11
|
require 'caruby/database/writer'
|
12
12
|
require 'caruby/database/persistifier'
|
13
|
+
require 'caruby/database/sql_executor'
|
13
14
|
|
14
15
|
module CaRuby
|
15
16
|
# Database operation error.
|
@@ -41,22 +42,13 @@ module CaRuby
|
|
41
42
|
class Database
|
42
43
|
include Reader, Writer, Persistifier
|
43
44
|
|
44
|
-
# The application and database connection
|
45
|
+
# The application and database connection options.
|
45
46
|
ACCESS_OPTS = [
|
46
47
|
[:user, '-u USER', '--user USER', 'the application login user'],
|
47
48
|
[:password, '-p PSWD', '--password PSWD', 'the application login password'],
|
48
49
|
[:host, '--host HOST', 'the application host name'],
|
49
50
|
[:port, '--port PORT', 'the application port number'],
|
50
|
-
[:classpath, '--classpath PATH', 'the application client classpath']
|
51
|
-
[:database_host, '--database_host HOST', 'the database host name'],
|
52
|
-
[:database_port, '--database_port PORT', Integer, 'the database port number'],
|
53
|
-
[:database, '--database NAME', 'the database name'],
|
54
|
-
[:database_url, '--database_url URL', 'the database connection URL'],
|
55
|
-
[:database_type, '--database_type TYPE', 'the database type (mysql or oracle)'],
|
56
|
-
[:database_driver, '--database_driver DRIVER', 'the database driver string'],
|
57
|
-
[:database_driver_class, '--database_driver_class CLASS', 'the database driver class name'],
|
58
|
-
[:database_user, '--database_user USER', 'the database login user'],
|
59
|
-
[:database_password, '--database_password PSWD', 'the database login password']
|
51
|
+
[:classpath, '--classpath PATH', 'the application client classpath']
|
60
52
|
]
|
61
53
|
|
62
54
|
attr_reader :operations
|
data/lib/caruby/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: caruby-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.1.
|
5
|
+
version: 2.1.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- OHSU
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-07-17 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|