dbi-dbrc 1.1.8 → 1.1.9
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.
- data/CHANGES +4 -0
- data/README +3 -3
- data/Rakefile +19 -14
- data/dbi-dbrc.gemspec +4 -3
- data/lib/dbi/dbrc.rb +14 -16
- data/test/test_dbi_dbrc.rb +1 -4
- data/test/test_dbi_dbrc_xml.rb +1 -4
- data/test/test_dbi_dbrc_yml.rb +1 -4
- metadata +55 -66
data/CHANGES
CHANGED
data/README
CHANGED
@@ -5,10 +5,10 @@
|
|
5
5
|
connections, e.g. ssh, ftp, etc.
|
6
6
|
|
7
7
|
== Requirements
|
8
|
-
* Ruby 1.8.2 or later
|
9
8
|
* sys-admin
|
10
9
|
* win32-file (MS Windows only)
|
11
10
|
* win32-dir (MS Windows only)
|
11
|
+
* win32-process (MS Windows only)
|
12
12
|
|
13
13
|
== Installation
|
14
14
|
gem install dbi-dbrc
|
@@ -206,7 +206,7 @@ DBRC#dsn=(dsn)
|
|
206
206
|
== Notes for MS Windows Users
|
207
207
|
The 'home' directory for Win32 users is determined by ENV['USERPROFILE'].
|
208
208
|
If that is not set, ENV['HOME'] is used. If that is not set, then
|
209
|
-
|
209
|
+
the directory found by the sys-admin library is used.
|
210
210
|
|
211
211
|
To make your file hidden, right click on the .dbrc file in your Explorer
|
212
212
|
window, select "Properties" and check the "Hidden" checkbox.
|
@@ -249,7 +249,7 @@ DBRC#dsn=(dsn)
|
|
249
249
|
If it's not correct, please let me know.
|
250
250
|
|
251
251
|
== Copyright
|
252
|
-
(C) Copyright 2002-
|
252
|
+
(C) Copyright 2002-2013, Daniel J. Berger, all rights reserved.
|
253
253
|
|
254
254
|
= Warranty
|
255
255
|
This package is provided "as is" and without any express or
|
data/Rakefile
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'rake'
|
2
|
+
require 'rake/clean'
|
2
3
|
require 'rake/testtask'
|
3
4
|
|
5
|
+
CLEAN.include("**/*.gem", "**/*.rbc")
|
6
|
+
|
4
7
|
namespace :gem do
|
5
8
|
desc "Remove any gem files."
|
6
9
|
task :clean do
|
@@ -20,21 +23,23 @@ namespace :gem do
|
|
20
23
|
end
|
21
24
|
end
|
22
25
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
26
|
+
namespace :test do
|
27
|
+
Rake::TestTask.new(:all) do |t|
|
28
|
+
t.warning = true
|
29
|
+
t.verbose = true
|
30
|
+
end
|
27
31
|
|
28
|
-
Rake::TestTask.new(:
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
end
|
32
|
+
Rake::TestTask.new(:xml) do |t|
|
33
|
+
t.warning = true
|
34
|
+
t.verbose = true
|
35
|
+
t.test_files = FileList['test/test_dbi_dbrc_xml.rb']
|
36
|
+
end
|
33
37
|
|
34
|
-
Rake::TestTask.new(:
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
+
Rake::TestTask.new(:yml) do |t|
|
39
|
+
t.warning = true
|
40
|
+
t.verbose = true
|
41
|
+
t.test_files = FileList['test/test_dbi_dbrc_yml.rb']
|
42
|
+
end
|
38
43
|
end
|
39
44
|
|
40
|
-
task :default => :
|
45
|
+
task :default => 'test:all'
|
data/dbi-dbrc.gemspec
CHANGED
@@ -2,12 +2,12 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'dbi-dbrc'
|
5
|
-
spec.version = '1.1.
|
5
|
+
spec.version = '1.1.9'
|
6
6
|
spec.author = 'Daniel Berger'
|
7
7
|
spec.email = 'djberg96@gmail.com'
|
8
8
|
spec.license = 'Artistic 2.0'
|
9
9
|
spec.summary = 'A simple way to avoid hard-coding passwords with DBI'
|
10
|
-
spec.homepage = '
|
10
|
+
spec.homepage = 'https://github.com/djberg96/dbi-dbrc'
|
11
11
|
spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
12
12
|
spec.test_files = Dir['test/test*.rb']
|
13
13
|
|
@@ -17,11 +17,12 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.add_dependency('sys-admin', '>= 1.5.2')
|
18
18
|
spec.add_development_dependency('test-unit')
|
19
19
|
|
20
|
-
if
|
20
|
+
if File::ALT_SEPARATOR
|
21
21
|
spec.add_dependency('win32-file', '>= 0.6.6')
|
22
22
|
spec.add_dependency('win32-dir', '>= 0.3.7')
|
23
23
|
spec.add_dependency('win32-process', '>= 0.6.2')
|
24
24
|
spec.platform = Gem::Platform::CURRENT
|
25
|
+
spec.platform.cpu = 'universal'
|
25
26
|
end
|
26
27
|
|
27
28
|
spec.description = <<-EOF
|
data/lib/dbi/dbrc.rb
CHANGED
@@ -1,7 +1,4 @@
|
|
1
|
-
|
2
|
-
require 'rubygems'
|
3
|
-
|
4
|
-
if Config::CONFIG['host_os'] =~ /mswin|msdos|win32|mingw|cygwin/i
|
1
|
+
if File::ALT_SEPARATOR
|
5
2
|
require 'win32/dir'
|
6
3
|
require 'win32/file'
|
7
4
|
require 'win32/process'
|
@@ -19,9 +16,9 @@ module DBI
|
|
19
16
|
class Error < StandardError; end
|
20
17
|
|
21
18
|
# The version of the dbi-dbrc library
|
22
|
-
VERSION = '1.1.
|
19
|
+
VERSION = '1.1.9'
|
23
20
|
|
24
|
-
@@windows =
|
21
|
+
@@windows = File::ALT_SEPARATOR
|
25
22
|
|
26
23
|
# The database or host to be connected to.
|
27
24
|
attr_accessor :database
|
@@ -114,11 +111,12 @@ module DBI
|
|
114
111
|
raise Error, 'bad directory' unless File.directory?(dbrc_dir)
|
115
112
|
@dbrc_file = File.join(dbrc_dir, '.dbrc')
|
116
113
|
end
|
117
|
-
|
114
|
+
|
118
115
|
@dbrc_dir = dbrc_dir
|
119
116
|
@database = database
|
120
117
|
@user = user
|
121
|
-
|
118
|
+
|
119
|
+
file_was_encrypted = false # Win32 only
|
122
120
|
|
123
121
|
@driver = nil
|
124
122
|
@interval = nil
|
@@ -126,7 +124,7 @@ module DBI
|
|
126
124
|
@maximum_reconnects = nil
|
127
125
|
|
128
126
|
check_file()
|
129
|
-
|
127
|
+
|
130
128
|
# Decrypt and re-encrypt the file if we're on MS Windows and the
|
131
129
|
# file is encrypted.
|
132
130
|
begin
|
@@ -134,7 +132,7 @@ module DBI
|
|
134
132
|
file_was_encrypted = true
|
135
133
|
File.decrypt(@dbrc_file)
|
136
134
|
end
|
137
|
-
|
135
|
+
|
138
136
|
parse_dbrc_config_file()
|
139
137
|
validate_data()
|
140
138
|
convert_numeric_strings()
|
@@ -149,14 +147,14 @@ module DBI
|
|
149
147
|
# Inspection of the DBI::DBRC object. This is identical to the standard
|
150
148
|
# Ruby Object#inspect, except that the password field is filtered.
|
151
149
|
#
|
152
|
-
def inspect
|
153
|
-
str = instance_variables.map{ |iv|
|
150
|
+
def inspect
|
151
|
+
str = instance_variables.map{ |iv|
|
154
152
|
if iv == '@password'
|
155
153
|
"#{iv}=[FILTERED]"
|
156
154
|
else
|
157
|
-
"#{iv}=#{instance_variable_get(iv).inspect}"
|
155
|
+
"#{iv}=#{instance_variable_get(iv).inspect}"
|
158
156
|
end
|
159
|
-
}.join(', ')
|
157
|
+
}.join(', ')
|
160
158
|
|
161
159
|
"#<#{self.class}:0x#{(self.object_id*2).to_s(16)} " << str << ">"
|
162
160
|
end
|
@@ -173,7 +171,7 @@ module DBI
|
|
173
171
|
raise Error, "password not defined for #{@user}@#{@database}"
|
174
172
|
end
|
175
173
|
end
|
176
|
-
|
174
|
+
|
177
175
|
# Converts strings that should be numbers into actual numbers
|
178
176
|
def convert_numeric_strings
|
179
177
|
@interval = @interval.to_i if @interval
|
@@ -293,7 +291,7 @@ module DBI
|
|
293
291
|
hash.each{ |db,info|
|
294
292
|
next unless db == @database
|
295
293
|
next unless @user == info["user"] if @user
|
296
|
-
@user = info["user"]
|
294
|
+
@user = info["user"]
|
297
295
|
@password = info["password"]
|
298
296
|
@driver = info["driver"]
|
299
297
|
@interval = info["interval"]
|
data/test/test_dbi_dbrc.rb
CHANGED
@@ -4,9 +4,6 @@
|
|
4
4
|
# Test suite for the base class of DBI::DBRC. This test case should be
|
5
5
|
# run via the 'rake test' task.
|
6
6
|
#########################################################################
|
7
|
-
require 'rubygems'
|
8
|
-
gem 'test-unit'
|
9
|
-
|
10
7
|
require 'dbi/dbrc'
|
11
8
|
require 'test/unit'
|
12
9
|
include DBI
|
@@ -36,7 +33,7 @@ class TC_DBI_DBRC < Test::Unit::TestCase
|
|
36
33
|
end
|
37
34
|
|
38
35
|
def test_version
|
39
|
-
assert_equal('1.1.
|
36
|
+
assert_equal('1.1.9', DBRC::VERSION)
|
40
37
|
end
|
41
38
|
|
42
39
|
def test_bad_dbrc_properties
|
data/test/test_dbi_dbrc_xml.rb
CHANGED
@@ -4,11 +4,8 @@
|
|
4
4
|
# Test suite for the XML specific version of DBI::DBRC. This test case
|
5
5
|
# should be run via the 'rake test' task.
|
6
6
|
########################################################################
|
7
|
-
require 'rubygems'
|
8
|
-
gem 'test-unit'
|
9
|
-
|
10
7
|
require 'dbi/dbrc'
|
11
|
-
require 'test
|
8
|
+
require 'test-unit'
|
12
9
|
require 'rexml/document'
|
13
10
|
include REXML
|
14
11
|
include DBI
|
data/test/test_dbi_dbrc_yml.rb
CHANGED
@@ -4,11 +4,8 @@
|
|
4
4
|
# Test suite for the YAML specific version of DBI::DBRC. You should run
|
5
5
|
# this test case via the 'rake test' task.
|
6
6
|
#########################################################################
|
7
|
-
require 'rubygems'
|
8
|
-
gem 'test-unit'
|
9
|
-
|
10
7
|
require 'dbi/dbrc'
|
11
|
-
require 'test
|
8
|
+
require 'test-unit'
|
12
9
|
include DBI
|
13
10
|
|
14
11
|
class TC_DBI_DBRC_YML < Test::Unit::TestCase
|
metadata
CHANGED
@@ -1,64 +1,62 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dbi-dbrc
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
- 8
|
10
|
-
version: 1.1.8
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.9
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Daniel Berger
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-01-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: sys-admin
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 7
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 5
|
33
|
-
- 2
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
34
21
|
version: 1.5.2
|
35
22
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: test-unit
|
39
23
|
prerelease: false
|
40
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.5.2
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: test-unit
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
41
33
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 0
|
48
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
49
38
|
type: :development
|
50
|
-
|
51
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: ! " The dbi-dbrc library provides an interface for storing database\n
|
47
|
+
\ connection information, including passwords, in a locally secure\n file only
|
48
|
+
accessible by you, or root. This allows you to avoid\n hard coding login and
|
49
|
+
password information in your programs\n that require such information.\n\n This
|
50
|
+
library can also be used to store login and password information\n for logins
|
51
|
+
on remote hosts, not just databases.\n"
|
52
52
|
email: djberg96@gmail.com
|
53
53
|
executables: []
|
54
|
-
|
55
54
|
extensions: []
|
56
|
-
|
57
|
-
extra_rdoc_files:
|
55
|
+
extra_rdoc_files:
|
58
56
|
- README
|
59
57
|
- CHANGES
|
60
58
|
- MANIFEST
|
61
|
-
files:
|
59
|
+
files:
|
62
60
|
- CHANGES
|
63
61
|
- dbi-dbrc.gemspec
|
64
62
|
- examples/plain/test.rb
|
@@ -71,41 +69,32 @@ files:
|
|
71
69
|
- test/test_dbi_dbrc.rb
|
72
70
|
- test/test_dbi_dbrc_xml.rb
|
73
71
|
- test/test_dbi_dbrc_yml.rb
|
74
|
-
|
75
|
-
|
76
|
-
licenses:
|
72
|
+
homepage: https://github.com/djberg96/dbi-dbrc
|
73
|
+
licenses:
|
77
74
|
- Artistic 2.0
|
78
75
|
post_install_message:
|
79
76
|
rdoc_options: []
|
80
|
-
|
81
|
-
require_paths:
|
77
|
+
require_paths:
|
82
78
|
- lib
|
83
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
84
80
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
|
90
|
-
- 0
|
91
|
-
version: "0"
|
92
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
86
|
none: false
|
94
|
-
requirements:
|
95
|
-
- -
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
|
98
|
-
segments:
|
99
|
-
- 0
|
100
|
-
version: "0"
|
87
|
+
requirements:
|
88
|
+
- - ! '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
101
91
|
requirements: []
|
102
|
-
|
103
92
|
rubyforge_project: shards
|
104
|
-
rubygems_version: 1.
|
93
|
+
rubygems_version: 1.8.24
|
105
94
|
signing_key:
|
106
95
|
specification_version: 3
|
107
96
|
summary: A simple way to avoid hard-coding passwords with DBI
|
108
|
-
test_files:
|
97
|
+
test_files:
|
109
98
|
- test/test_dbi_dbrc.rb
|
110
99
|
- test/test_dbi_dbrc_xml.rb
|
111
100
|
- test/test_dbi_dbrc_yml.rb
|