connectator 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,9 +1,8 @@
1
- connectator
2
- ===========
3
-
1
+ # Connectator [![Build Status](https://travis-ci.org/jamin4jc/connectator.png?branch=master)](https://travis-ci.org/jamin4jc/connectator)
2
+
4
3
  Multi-Connection proxy for DBI
5
4
 
6
- == Notes
5
+ ## Notes
7
6
 
8
7
  *This gem is currently using the older DBI gem.*
9
8
  https://github.com/erikh/ruby-dbi
@@ -11,33 +10,34 @@ https://github.com/erikh/ruby-dbi
11
10
  This will at some point in the future change to use the new rdbi gem.
12
11
  https://github.com/RDBI/rdbi
13
12
 
14
- === Oracle
13
+ ### Oracle
15
14
 
16
15
  * Uses the ruby-oci8 gem directly
17
16
  * Note that this gem does not directly require the ruby-oci8 gem. If you need
18
17
  to use Oracle, include the ruby-oci8 gem in your project.
19
18
 
20
- === Sql Server/Sybase
19
+ ### Sql Server/Sybase
21
20
 
22
21
  * Uses DBI:ODBC
23
22
  * In order to use SQL Server/Sybase with Connectator, you will need to set up
24
23
  Unix ODBC and FreeTDS. Unix ODBC will need to reference FreeTDS as one of its
25
24
  drivers.
26
25
 
27
- === MySQL
26
+ ### MySQL
28
27
 
29
28
  * Uses DBI:ODBC
30
29
  * In order to use MySQL with Connectator, you will need to set up Unix ODBC and
31
30
  the MySQL client. Unix ODBC will need to reference the MySQL driver as one of
32
31
  its drivers.
32
+ * On Ubuntu, use package: libmyodbc
33
33
 
34
- === DB2
34
+ ### DB2
35
35
 
36
36
  * Uses DBI:DB2
37
37
  * In order to use DB2 with Connectator, you will need to set up Unix ODBC and
38
38
  the DB2 client. Unix ODBC will need to reference the DB2 driver as one of its
39
39
  drivers.
40
40
 
41
- == UNIX ODBC
41
+ ## UNIX ODBC
42
42
 
43
43
  See example_odbcinst.ini for a sample of what the /etc/odbcinst.ini should look like.
data/example_odbcinst.ini CHANGED
@@ -8,8 +8,8 @@ FileUsage = 1
8
8
 
9
9
  [MySQL]
10
10
  Description = MySQL
11
- Driver = /usr/lib64/libmyodbc5.so
12
- Setup = /usr/lib64/libodbcmyS.so
11
+ Driver = /usr/lib/odbc/libmyodbc.so
12
+ Setup = /usr/lib/libodbcmyS.so
13
13
  FileUsage = 1
14
14
 
15
15
  [DB2]
@@ -1,5 +1,3 @@
1
- require 'ostruct'
2
-
3
1
  module Connectator
4
2
  module Base
5
3
  class Connection
@@ -20,7 +18,7 @@ module Connectator
20
18
  end
21
19
 
22
20
  def system_connection
23
- @system_connection ||= DBIProxy.new(open)
21
+ @system_connection ||= Connectator::Base::DBIProxy.new(open)
24
22
  end
25
23
 
26
24
  # proxies all other method calls to the DBIProxy
@@ -60,7 +58,7 @@ module Connectator
60
58
  end
61
59
 
62
60
  def connection_params_list
63
- connection_params_hash.map { |k,v| "#{k}=#{v}"}.join(';')
61
+ connection_params_hash.reject {|k,v| v.nil? }.map { |k,v| "#{k}=#{v}"}.join(';')
64
62
  end
65
63
 
66
64
  def connection_params_hash
@@ -4,9 +4,10 @@ module Connectator
4
4
 
5
5
  def initialize(opts = {})
6
6
  connection_params.driver = 'MySQL'
7
+ # See this url for options flags
8
+ # http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-configuration-connection-parameters.html#codbc-dsn-option-flags
7
9
  connection_params.option = opts[:option] || '3'
8
- connection_params.port = opts[:port] || '3306'
9
- connection_params.database = opts[:database] || ''
10
+ connection_params.database = opts[:database] || nil
10
11
  super(opts)
11
12
  end
12
13
 
@@ -19,12 +20,12 @@ module Connectator
19
20
  def connection_params_hash
20
21
  {
21
22
  "DRIVER" => connection_params.driver,
22
- "Server" => connection_params.server,
23
- "Port" => connection_params.port,
24
- "Database" => connection_params.database,
25
- "User" => connection_params.username,
26
- "Password" => connection_params.password,
27
- "Option" => connection_params.option
23
+ "SERVER" => connection_params.server,
24
+ "PORT" => connection_params.port,
25
+ "DATABASE" => connection_params.database,
26
+ "UID" => connection_params.username,
27
+ "PWD" => connection_params.password,
28
+ "OPTION" => connection_params.option
28
29
  }
29
30
  end
30
31
  end
@@ -1,5 +1,3 @@
1
- require 'timeout'
2
-
3
1
  module Connectator
4
2
  module Pinger
5
3
  def self.ping?(host, timeout = 1)
data/lib/connectator.rb CHANGED
@@ -1,9 +1,14 @@
1
- require 'connectator/base/connection'
2
- require 'connectator/db2/connection'
3
- require 'connectator/mysql/connection'
4
- require 'connectator/oracle/connection'
5
- require 'connectator/sql/connection'
6
- require 'connectator/sql/connection/server_instance_string'
7
- require 'connectator/sybase/connection'
8
- require 'connectator/factory'
9
- require 'connectator/pinger'
1
+ require 'dbi'
2
+ require 'timeout'
3
+ require 'ostruct'
4
+
5
+ require_relative 'connectator/base/connection'
6
+ require_relative 'connectator/base/dbi_proxy'
7
+ require_relative 'connectator/db2/connection'
8
+ require_relative 'connectator/mysql/connection'
9
+ require_relative 'connectator/oracle/connection'
10
+ require_relative 'connectator/sql/connection'
11
+ require_relative 'connectator/sql/connection/server_instance_string'
12
+ require_relative 'connectator/sybase/connection'
13
+ require_relative 'connectator/factory'
14
+ require_relative 'connectator/pinger'
@@ -20,21 +20,21 @@ describe Connectator::Mysql::Connection do
20
20
  Then { connection.connection_params.username.should == 'User' }
21
21
  Then { connection.connection_params.password.should == 'Pass' }
22
22
  Then { connection.connection_params.instance.should == 'Instance' }
23
- Then { connection.connection_params.database.should == '' }
23
+ Then { connection.connection_params.database.should == nil }
24
24
  Then { connection.connection_params.option.should == '3' }
25
25
 
26
26
  Then { connection.connection_string.should ==
27
- "DBI:ODBC:DRIVER=MySQL;Server=Server;Port=Port;Database=;User=User;Password=Pass;Option=3" }
27
+ "DBI:ODBC:DRIVER=MySQL;SERVER=Server;PORT=Port;UID=User;PWD=Pass;OPTION=3" }
28
28
 
29
29
  Then { connection.send(:connection_params_hash).should ==
30
30
  {
31
31
  "DRIVER" => 'MySQL',
32
- "Server" => 'Server',
33
- "Port" => 'Port',
34
- "Database" => '',
35
- "User" => 'User',
36
- "Password" => 'Pass',
37
- "Option" => '3'
32
+ "SERVER" => 'Server',
33
+ "PORT" => 'Port',
34
+ "DATABASE" => nil,
35
+ "UID" => 'User',
36
+ "PWD" => 'Pass',
37
+ "OPTION" => '3'
38
38
  }
39
39
  }
40
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: connectator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -149,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
149
  version: '0'
150
150
  segments:
151
151
  - 0
152
- hash: 4345797816152053971
152
+ hash: -707223795178079430
153
153
  required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  none: false
155
155
  requirements: