dbi-dbrc 1.1.3-x86-mswin32-60 → 1.1.6-x86-mswin32-60
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 +18 -0
- data/MANIFEST +3 -4
- data/README +11 -2
- data/Rakefile +33 -0
- data/dbi-dbrc.gemspec +41 -0
- data/lib/dbi/dbrc.rb +39 -20
- data/test/{tc_dbrc.rb → test_dbi_dbrc.rb} +29 -21
- data/test/{tc_dbrc_xml.rb → test_dbi_dbrc_xml.rb} +11 -9
- data/test/{tc_dbrc_yml.rb → test_dbi_dbrc_yml.rb} +9 -14
- metadata +37 -16
- data/test/ts_all.rb +0 -6
    
        data/CHANGES
    CHANGED
    
    | @@ -1,3 +1,21 @@ | |
| 1 | 
            +
            == 1.1.6 - 10-Sep-2009
         | 
| 2 | 
            +
            * Fixed validation for dbrc_dir argument.
         | 
| 3 | 
            +
            * Added a test for bogus dbrc_dir arguments.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            == 1.1.5 - 3-Sep-2009
         | 
| 6 | 
            +
            * License changed to Artistic 2.0.
         | 
| 7 | 
            +
            * Some gemspec updates, including the license and description.
         | 
| 8 | 
            +
            * Renamed the test files. The ts_all.rb file was removed.
         | 
| 9 | 
            +
            * Added win32-process as a dependency on MS Windows.
         | 
| 10 | 
            +
            * Added test-unit as a development dependency. Some tests were refactored
         | 
| 11 | 
            +
              to use features from test-unit 2.x.
         | 
| 12 | 
            +
            * Added the 'test_xml' and 'test_yml' rake tasks.
         | 
| 13 | 
            +
            * Refactored the main test task.
         | 
| 14 | 
            +
            * Added explicit copyright and warranty to the README file.
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            == 1.1.4 - 10-Nov-2008
         | 
| 17 | 
            +
            * Added a custom inspect method which filters the password.
         | 
| 18 | 
            +
             | 
| 1 19 | 
             
            == 1.1.3 - 21-Jul-2008
         | 
| 2 20 | 
             
            * More RUBY_PLATFORM changes that I missed in the last release.
         | 
| 3 21 | 
             
            * Added inline RDOC for the accessors and updated the documentation
         | 
    
        data/MANIFEST
    CHANGED
    
    | @@ -10,7 +10,6 @@ | |
| 10 10 | 
             
            * examples/xml_examples/test_xml.rb
         | 
| 11 11 | 
             
            * examples/yml_examples/.dbrc
         | 
| 12 12 | 
             
            * examples/yml_examples/test_yml.rb
         | 
| 13 | 
            -
            * test/ | 
| 14 | 
            -
            * test/ | 
| 15 | 
            -
            * test/ | 
| 16 | 
            -
            * test/tc_dbrc_yml.rb
         | 
| 13 | 
            +
            * test/test_dbi_dbrc.rb
         | 
| 14 | 
            +
            * test/test_dbi_dbrc_xml.rb
         | 
| 15 | 
            +
            * test/test_dbi_dbrc_yml.rb
         | 
    
        data/README
    CHANGED
    
    | @@ -242,11 +242,20 @@ DBRC#dsn=(dsn) | |
| 242 242 | 
             
               Take a look at the XML and YML subclasses in dbrc.rb for two examples that
         | 
| 243 243 | 
             
               you can work from.
         | 
| 244 244 |  | 
| 245 | 
            +
            == Future Plans
         | 
| 246 | 
            +
               Add DBI::DBRC::JSON.
         | 
| 247 | 
            +
               
         | 
| 245 248 | 
             
            == Known Bugs
         | 
| 246 249 | 
             
               I'm not positive about the dsn strings for databases other than Oracle.
         | 
| 247 250 | 
             
               If it's not correct, please let me know.
         | 
| 248 251 |  | 
| 252 | 
            +
            == Copyright
         | 
| 253 | 
            +
               (C) Copyright 2002-2009, Daniel J. Berger, all rights reserved.
         | 
| 254 | 
            +
               
         | 
| 255 | 
            +
            = Warranty
         | 
| 256 | 
            +
               This package is provided "as is" and without any express or
         | 
| 257 | 
            +
               implied warranties, including, without limitation, the implied
         | 
| 258 | 
            +
               warranties of merchantability and fitness for a particular purpose
         | 
| 259 | 
            +
               
         | 
| 249 260 | 
             
            == Author
         | 
| 250 261 | 
             
               Daniel J. Berger
         | 
| 251 | 
            -
               djberg96 at nospam at gmail dot com
         | 
| 252 | 
            -
               imperator on IRC (irc.freenode.net)
         | 
    
        data/Rakefile
    ADDED
    
    | @@ -0,0 +1,33 @@ | |
| 1 | 
            +
            require 'rake'
         | 
| 2 | 
            +
            require 'rake/testtask'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            desc "Install the dbi-dbrc package (non-gem)"
         | 
| 5 | 
            +
            task :install do
         | 
| 6 | 
            +
               dest = File.join(Config::CONFIG['sitelibdir'], 'dbi')
         | 
| 7 | 
            +
               Dir.mkdir(dest) unless File.exists? dest
         | 
| 8 | 
            +
               cp 'lib/dbi/dbrc.rb', dest, :verbose => true
         | 
| 9 | 
            +
            end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            desc "Install the dbi-dbrc package as a gem"
         | 
| 12 | 
            +
            task :install_gem do
         | 
| 13 | 
            +
               ruby 'dbi-dbrc.gemspec'
         | 
| 14 | 
            +
               file = Dir["*.gem"].first
         | 
| 15 | 
            +
               sh "gem install #{file}"
         | 
| 16 | 
            +
            end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            Rake::TestTask.new do |t|
         | 
| 19 | 
            +
               t.warning = true
         | 
| 20 | 
            +
               t.verbose = true
         | 
| 21 | 
            +
            end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            Rake::TestTask.new(:test_xml) do |t|
         | 
| 24 | 
            +
               t.warning = true
         | 
| 25 | 
            +
               t.verbose = true
         | 
| 26 | 
            +
               t.test_files = FileList['test/test_dbi_dbrc_xml.rb']
         | 
| 27 | 
            +
            end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            Rake::TestTask.new(:test_yml) do |t|
         | 
| 30 | 
            +
               t.warning = true
         | 
| 31 | 
            +
               t.verbose = true
         | 
| 32 | 
            +
               t.test_files = FileList['test/test_dbi_dbrc_yml.rb']
         | 
| 33 | 
            +
            end
         | 
    
        data/dbi-dbrc.gemspec
    ADDED
    
    | @@ -0,0 +1,41 @@ | |
| 1 | 
            +
            require 'rubygems'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            spec = Gem::Specification.new do |s|
         | 
| 4 | 
            +
               s.name       = 'dbi-dbrc'
         | 
| 5 | 
            +
               s.version    = '1.1.6'
         | 
| 6 | 
            +
               s.author     = 'Daniel Berger'
         | 
| 7 | 
            +
               s.email      = 'djberg96@gmail.com'
         | 
| 8 | 
            +
               s.license    = 'Artistic 2.0'
         | 
| 9 | 
            +
               s.summary    = 'A simple way to avoid hard-coding passwords with DBI'
         | 
| 10 | 
            +
               s.homepage   = 'http://www.rubyforge.org/projects/shards'
         | 
| 11 | 
            +
               s.platform   = Gem::Platform::RUBY
         | 
| 12 | 
            +
               s.files      = Dir['**/*'].reject{ |f| f.include?('CVS') }
         | 
| 13 | 
            +
               s.test_files = Dir['test/test*.rb']
         | 
| 14 | 
            +
               s.has_rdoc   = true
         | 
| 15 | 
            +
             | 
| 16 | 
            +
               s.extra_rdoc_files  = ['README', 'CHANGES', 'MANIFEST']
         | 
| 17 | 
            +
               s.rubyforge_project = 'shards'
         | 
| 18 | 
            +
             | 
| 19 | 
            +
               s.add_dependency('sys-admin', '>= 1.5.2')
         | 
| 20 | 
            +
               s.add_development_dependency('test-unit')
         | 
| 21 | 
            +
             | 
| 22 | 
            +
               if Config::CONFIG['host_os'] =~ /mswin|win32|dos/i
         | 
| 23 | 
            +
                  s.add_dependency('win32-file', '>= 0.4.2')
         | 
| 24 | 
            +
                  s.add_dependency('win32-dir', '>= 0.3.0')
         | 
| 25 | 
            +
                  s.add_dependency('win32-process', '>= 0.6.1')
         | 
| 26 | 
            +
                  s.platform = Gem::Platform::CURRENT
         | 
| 27 | 
            +
               end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
               s.description = <<-EOF
         | 
| 30 | 
            +
                  The dbi-dbrc library provides an interface for storing database
         | 
| 31 | 
            +
                  connection information, including passwords, in a locally secure
         | 
| 32 | 
            +
                  file only accessible by you, or root. This allows you to avoid
         | 
| 33 | 
            +
                  hard coding login and password information in your programs
         | 
| 34 | 
            +
                  that require such information.
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                  This library can also be used to store login and password information
         | 
| 37 | 
            +
                  for logins on remote hosts, not just databases.
         | 
| 38 | 
            +
               EOF
         | 
| 39 | 
            +
            end
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            Gem::Builder.new(spec).build
         | 
    
        data/lib/dbi/dbrc.rb
    CHANGED
    
    | @@ -1,8 +1,9 @@ | |
| 1 1 | 
             
            require 'rbconfig'
         | 
| 2 2 |  | 
| 3 | 
            -
            if Config::CONFIG['host_os'] | 
| 3 | 
            +
            if Config::CONFIG['host_os'] =~ /mswin|win32|dos/i
         | 
| 4 4 | 
             
               require 'win32/file'
         | 
| 5 5 | 
             
               require 'win32/dir'
         | 
| 6 | 
            +
               require 'win32/process'
         | 
| 6 7 | 
             
            end
         | 
| 7 8 |  | 
| 8 9 | 
             
            require 'sys/admin'
         | 
| @@ -14,11 +15,12 @@ module DBI | |
| 14 15 | 
             
               class DBRC
         | 
| 15 16 |  | 
| 16 17 | 
             
                  # This error is raised if anything fails trying to read the config file.
         | 
| 17 | 
            -
                  # the error that is raised. 
         | 
| 18 18 | 
             
                  class Error < StandardError; end
         | 
| 19 19 |  | 
| 20 | 
            -
                  # The version of  | 
| 21 | 
            -
                  VERSION = '1.1. | 
| 20 | 
            +
                  # The version of the dbi-dbrc library
         | 
| 21 | 
            +
                  VERSION = '1.1.6'
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  @@windows = Config::CONFIG['host_os'] =~ /mswin|win32|dos/i
         | 
| 22 24 |  | 
| 23 25 | 
             
                  # The database or host to be connected to.
         | 
| 24 26 | 
             
                  attr_accessor :database
         | 
| @@ -86,24 +88,26 @@ module DBI | |
| 86 88 | 
             
                  #
         | 
| 87 89 | 
             
                  def initialize(database, user=nil, dbrc_dir=nil)
         | 
| 88 90 | 
             
                     if dbrc_dir.nil?
         | 
| 89 | 
            -
                         | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
                           if  | 
| 94 | 
            -
                               | 
| 91 | 
            +
                        uid  = Process.uid
         | 
| 92 | 
            +
                        home = ENV['HOME'] || ENV['USERPROFILE']
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                        if home.nil?
         | 
| 95 | 
            +
                           if @@windows
         | 
| 96 | 
            +
                              home ||= Sys::Admin.get_user(uid, :localaccount => true).dir
         | 
| 95 97 | 
             
                           else
         | 
| 96 | 
            -
                               | 
| 98 | 
            +
                              home ||= Sys::Admin.get_user(uid).dir
         | 
| 97 99 | 
             
                           end
         | 
| 98 | 
            -
             | 
| 99 | 
            -
             | 
| 100 | 
            +
                        end
         | 
| 101 | 
            +
             | 
| 102 | 
            +
                        # Default to the app data directory on Windows if no home dir found
         | 
| 103 | 
            +
                        if @@windows && home.nil?
         | 
| 104 | 
            +
                           @dbrc_file = File.join(File.basename(Dir::APPDATA), '.dbrc')
         | 
| 100 105 | 
             
                        else
         | 
| 101 | 
            -
                            | 
| 102 | 
            -
             | 
| 103 | 
            -
                              '.dbrc'
         | 
| 104 | 
            -
                           )
         | 
| 106 | 
            +
                           uid = Process.uid
         | 
| 107 | 
            +
                           @dbrc_file = File.join(Sys::Admin.get_user(uid).dir, '.dbrc')
         | 
| 105 108 | 
             
                        end
         | 
| 106 109 | 
             
                     else
         | 
| 110 | 
            +
                        raise Error, 'bad directory' unless File.directory?(dbrc_dir)
         | 
| 107 111 | 
             
                        @dbrc_file = File.join(dbrc_dir, '.dbrc')
         | 
| 108 112 | 
             
                     end
         | 
| 109 113 |  | 
| @@ -120,7 +124,7 @@ module DBI | |
| 120 124 | 
             
                     check_file()
         | 
| 121 125 |  | 
| 122 126 | 
             
                     # If on Win32 and the file is encrypted, decrypt it.
         | 
| 123 | 
            -
                     if  | 
| 127 | 
            +
                     if @@windows && File.encrypted?(@dbrc_file)
         | 
| 124 128 | 
             
                        encrypted = true
         | 
| 125 129 | 
             
                        File.decrypt(@dbrc_file)
         | 
| 126 130 | 
             
                     end
         | 
| @@ -131,11 +135,26 @@ module DBI | |
| 131 135 | 
             
                     create_dsn_string()
         | 
| 132 136 |  | 
| 133 137 | 
             
                     # If on Win32 and the file was encrypted, re-encrypt it
         | 
| 134 | 
            -
                     if  | 
| 138 | 
            +
                     if @@windows && encrypted
         | 
| 135 139 | 
             
                        File.encrypt(@dbrc_file)
         | 
| 136 140 | 
             
                     end
         | 
| 137 141 | 
             
                  end
         | 
| 138 142 |  | 
| 143 | 
            +
                  # Inspection of the DBI::DBRC object. This is identical to the standard
         | 
| 144 | 
            +
                  # Ruby Object#inspect, except that the password field is filtered.
         | 
| 145 | 
            +
                  #
         | 
| 146 | 
            +
                  def inspect 
         | 
| 147 | 
            +
                     str = instance_variables.map{ |iv| 
         | 
| 148 | 
            +
                        if iv == '@password'
         | 
| 149 | 
            +
                           "#{iv}=[FILTERED]"
         | 
| 150 | 
            +
                        else
         | 
| 151 | 
            +
                           "#{iv}=#{instance_variable_get(iv).inspect}" 
         | 
| 152 | 
            +
                        end
         | 
| 153 | 
            +
                     }.join(', ') 
         | 
| 154 | 
            +
             | 
| 155 | 
            +
                     "#<#{self.class}:0x#{(self.object_id*2).to_s(16)} " << str << ">"
         | 
| 156 | 
            +
                  end
         | 
| 157 | 
            +
             | 
| 139 158 | 
             
                  private
         | 
| 140 159 |  | 
| 141 160 | 
             
                  # Ensure that the user/password has been set
         | 
| @@ -167,7 +186,7 @@ module DBI | |
| 167 186 |  | 
| 168 187 | 
             
                        # Permissions must be set to 600 or better on Unix systems.
         | 
| 169 188 | 
             
                        # Must be hidden on Win32 systems.
         | 
| 170 | 
            -
                        if  | 
| 189 | 
            +
                        if @@windows
         | 
| 171 190 | 
             
                           unless File.hidden?(file)
         | 
| 172 191 | 
             
                              raise Error, "The .dbrc file must be hidden"
         | 
| 173 192 | 
             
                           end
         | 
| @@ -1,27 +1,32 @@ | |
| 1 1 | 
             
            #########################################################################
         | 
| 2 | 
            -
            #  | 
| 2 | 
            +
            # test_dbi_dbrc.rb
         | 
| 3 3 | 
             
            #
         | 
| 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 | 
            +
             | 
| 7 10 | 
             
            require 'dbi/dbrc'
         | 
| 8 11 | 
             
            require 'test/unit'
         | 
| 9 12 | 
             
            include DBI
         | 
| 10 13 |  | 
| 11 | 
            -
            class  | 
| 12 | 
            -
               def  | 
| 13 | 
            -
                   | 
| 14 | 
            +
            class TC_DBI_DBRC < Test::Unit::TestCase
         | 
| 15 | 
            +
               def self.startup
         | 
| 16 | 
            +
                  @@windows = File::ALT_SEPARATOR
         | 
| 17 | 
            +
               end
         | 
| 14 18 |  | 
| 15 | 
            -
             | 
| 19 | 
            +
               def setup
         | 
| 20 | 
            +
                  @dir      = File.join(Dir.pwd, 'examples/plain')
         | 
| 16 21 | 
             
                  @file     = File.join(@dir, '.dbrc')
         | 
| 17 | 
            -
                  @db1      =  | 
| 18 | 
            -
                  @db2      =  | 
| 19 | 
            -
                  @user1    =  | 
| 20 | 
            -
                  @user2    =  | 
| 21 | 
            -
                  @db_bad   =  | 
| 22 | 
            -
                  @user_bad =  | 
| 22 | 
            +
                  @db1      = 'foo'
         | 
| 23 | 
            +
                  @db2      = 'bar'
         | 
| 24 | 
            +
                  @user1    = 'user1'
         | 
| 25 | 
            +
                  @user2    = 'user2'
         | 
| 26 | 
            +
                  @db_bad   = 'blah'  # Doesn't exist
         | 
| 27 | 
            +
                  @user_bad = 'user8' # Doesn't exist
         | 
| 23 28 |  | 
| 24 | 
            -
                  if File | 
| 29 | 
            +
                  if @@windows && File.respond_to?(:set_attr)
         | 
| 25 30 | 
             
                     File.set_attr(@file, File::HIDDEN)
         | 
| 26 31 | 
             
                  else
         | 
| 27 32 | 
             
                     File.chmod(0600, @file)
         | 
| @@ -31,11 +36,11 @@ class TC_DBRC < Test::Unit::TestCase | |
| 31 36 | 
             
               end
         | 
| 32 37 |  | 
| 33 38 | 
             
               def test_version
         | 
| 34 | 
            -
                  assert_equal( | 
| 39 | 
            +
                  assert_equal('1.1.6', DBRC::VERSION)
         | 
| 35 40 | 
             
               end
         | 
| 36 41 |  | 
| 37 42 | 
             
               def test_bad_dbrc_properties
         | 
| 38 | 
            -
                  if  | 
| 43 | 
            +
                  if @@windows
         | 
| 39 44 | 
             
                     File.unset_attr(@file, File::HIDDEN)
         | 
| 40 45 | 
             
                     assert_raises(DBRC::Error){ DBRC.new(@db1, @user1, @dir) }
         | 
| 41 46 | 
             
                  else
         | 
| @@ -51,11 +56,15 @@ class TC_DBRC < Test::Unit::TestCase | |
| 51 56 | 
             
               end
         | 
| 52 57 |  | 
| 53 58 | 
             
               def test_bad_database
         | 
| 54 | 
            -
                   | 
| 59 | 
            +
                  assert_raise(DBRC::Error){ DBRC.new(@db_bad, nil, @dir) }
         | 
| 55 60 | 
             
               end
         | 
| 56 61 |  | 
| 57 62 | 
             
               def test_bad_user
         | 
| 58 | 
            -
                   | 
| 63 | 
            +
                  assert_raise(DBRC::Error){ DBRC.new(@db1, @user_bad, @dir) }
         | 
| 64 | 
            +
               end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
               def test_bad_dir
         | 
| 67 | 
            +
                  assert_raise(DBI::DBRC::Error){ DBI::DBRC.new(@db1, @user1, '/bogusXX') }
         | 
| 59 68 | 
             
               end
         | 
| 60 69 |  | 
| 61 70 | 
             
               def test_database
         | 
| @@ -184,10 +193,9 @@ class TC_DBRC < Test::Unit::TestCase | |
| 184 193 | 
             
                  @db_bad   = nil
         | 
| 185 194 | 
             
                  @user_bad = nil
         | 
| 186 195 | 
             
                  @dbrc     = nil
         | 
| 187 | 
            -
             | 
| 188 | 
            -
             | 
| 189 | 
            -
             | 
| 190 | 
            -
             | 
| 191 | 
            -
                  end
         | 
| 196 | 
            +
               end
         | 
| 197 | 
            +
             | 
| 198 | 
            +
               def self.shutdown
         | 
| 199 | 
            +
                  @@windows = nil
         | 
| 192 200 | 
             
               end
         | 
| 193 201 | 
             
            end
         | 
| @@ -1,20 +1,22 @@ | |
| 1 1 | 
             
            ########################################################################
         | 
| 2 | 
            -
            #  | 
| 2 | 
            +
            # test_dbi_dbrc_xml.rb
         | 
| 3 3 | 
             
            #
         | 
| 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  | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 7 | 
            +
            require 'rubygems'
         | 
| 8 | 
            +
            gem 'test-unit'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            require 'dbi/dbrc'
         | 
| 11 | 
            +
            require 'test/unit'
         | 
| 12 | 
            +
            require 'rexml/document'
         | 
| 10 13 | 
             
            include REXML
         | 
| 11 14 | 
             
            include DBI
         | 
| 12 15 |  | 
| 13 | 
            -
            class  | 
| 16 | 
            +
            class TC_DBI_DBRC_XML < Test::Unit::TestCase
         | 
| 14 17 | 
             
               def setup
         | 
| 15 | 
            -
                   | 
| 16 | 
            -
                  @ | 
| 17 | 
            -
                  @file     = File.join(@dir, ".dbrc")
         | 
| 18 | 
            +
                  @dir      = File.join(Dir.pwd, 'examples/xml')
         | 
| 19 | 
            +
                  @file     = File.join(@dir, '.dbrc')
         | 
| 18 20 | 
             
                  @db1      = "foo"
         | 
| 19 21 | 
             
                  @db2      = "bar"
         | 
| 20 22 | 
             
                  @user1    = "user1"
         | 
| @@ -22,7 +24,7 @@ class TC_DBRC_XML < Test::Unit::TestCase | |
| 22 24 | 
             
                  @db_bad   = "blah"  # Doesn't exist
         | 
| 23 25 | 
             
                  @user_bad = "user8" # Doesn't exist
         | 
| 24 26 |  | 
| 25 | 
            -
                  if File::ALT_SEPARATOR
         | 
| 27 | 
            +
                  if File::ALT_SEPARATOR && File.respond_to?(:set_attr)
         | 
| 26 28 | 
             
                     File.set_attr(@file, File::HIDDEN)
         | 
| 27 29 | 
             
                  else
         | 
| 28 30 | 
             
                     File.chmod(0600, @file)
         | 
| @@ -1,18 +1,19 @@ | |
| 1 1 | 
             
            #########################################################################
         | 
| 2 | 
            -
            #  | 
| 2 | 
            +
            # test_dbi_dbrc_yml.rb
         | 
| 3 3 | 
             
            #
         | 
| 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  | 
| 8 | 
            -
             | 
| 7 | 
            +
            require 'rubygems'
         | 
| 8 | 
            +
            gem 'test-unit'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            require 'dbi/dbrc'
         | 
| 11 | 
            +
            require 'test/unit'
         | 
| 9 12 | 
             
            include DBI
         | 
| 10 13 |  | 
| 11 | 
            -
            class  | 
| 14 | 
            +
            class TC_DBI_DBRC_YML < Test::Unit::TestCase
         | 
| 12 15 | 
             
               def setup
         | 
| 13 | 
            -
                   | 
| 14 | 
            -
                  
         | 
| 15 | 
            -
                  @dir      = "../examples/yml"
         | 
| 16 | 
            +
                  @dir      = File.join(Dir.pwd, 'examples/yml')
         | 
| 16 17 | 
             
                  @file     = File.join(@dir, '.dbrc')
         | 
| 17 18 | 
             
                  @db1      = "foo"
         | 
| 18 19 | 
             
                  @db2      = "bar"
         | 
| @@ -21,7 +22,7 @@ class TC_DBRC_YML < Test::Unit::TestCase | |
| 21 22 | 
             
                  @db_bad   = "blah"  # Doesn't exist
         | 
| 22 23 | 
             
                  @user_bad = "user8" # Doesn't exist
         | 
| 23 24 |  | 
| 24 | 
            -
                  if File::ALT_SEPARATOR
         | 
| 25 | 
            +
                  if File::ALT_SEPARATOR && File.respond_to?(:set_attr)
         | 
| 25 26 | 
             
                     File.set_attr(@file, File::HIDDEN)
         | 
| 26 27 | 
             
                  else
         | 
| 27 28 | 
             
                     File.chmod(0600, @file)
         | 
| @@ -155,11 +156,5 @@ class TC_DBRC_YML < Test::Unit::TestCase | |
| 155 156 | 
             
                  @db_bad   = nil
         | 
| 156 157 | 
             
                  @user_bad = nil
         | 
| 157 158 | 
             
                  @dbrc     = nil
         | 
| 158 | 
            -
             | 
| 159 | 
            -
                  if File::ALT_SEPARATOR
         | 
| 160 | 
            -
                     File.set_attr(@file, File::HIDDEN)
         | 
| 161 | 
            -
                  else
         | 
| 162 | 
            -
                     File.chmod(0600, @file)
         | 
| 163 | 
            -
                  end
         | 
| 164 159 | 
             
               end
         | 
| 165 160 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: dbi-dbrc
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 1.1. | 
| 4 | 
            +
              version: 1.1.6
         | 
| 5 5 | 
             
            platform: x86-mswin32-60
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Daniel Berger
         | 
| @@ -9,13 +9,23 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2009-09-10 00:00:00 -06:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies: 
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 16 16 | 
             
              name: sys-admin
         | 
| 17 17 | 
             
              type: :runtime
         | 
| 18 18 | 
             
              version_requirement: 
         | 
| 19 | 
            +
              version_requirements: !ruby/object:Gem::Requirement 
         | 
| 20 | 
            +
                requirements: 
         | 
| 21 | 
            +
                - - ">="
         | 
| 22 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 23 | 
            +
                    version: 1.5.2
         | 
| 24 | 
            +
                version: 
         | 
| 25 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 26 | 
            +
              name: test-unit
         | 
| 27 | 
            +
              type: :development
         | 
| 28 | 
            +
              version_requirement: 
         | 
| 19 29 | 
             
              version_requirements: !ruby/object:Gem::Requirement 
         | 
| 20 30 | 
             
                requirements: 
         | 
| 21 31 | 
             
                - - ">="
         | 
| @@ -42,7 +52,17 @@ dependencies: | |
| 42 52 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 43 53 | 
             
                    version: 0.3.0
         | 
| 44 54 | 
             
                version: 
         | 
| 45 | 
            -
             | 
| 55 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 56 | 
            +
              name: win32-process
         | 
| 57 | 
            +
              type: :runtime
         | 
| 58 | 
            +
              version_requirement: 
         | 
| 59 | 
            +
              version_requirements: !ruby/object:Gem::Requirement 
         | 
| 60 | 
            +
                requirements: 
         | 
| 61 | 
            +
                - - ">="
         | 
| 62 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 63 | 
            +
                    version: 0.6.1
         | 
| 64 | 
            +
                version: 
         | 
| 65 | 
            +
            description: "      The dbi-dbrc library provides an interface for storing database\n      connection information, including passwords, in a locally secure\n      file only accessible by you, or root. This allows you to avoid\n      hard coding login and password information in your programs\n      that require such information.\n\n      This library can also be used to store login and password information\n      for logins on remote hosts, not just databases.\n"
         | 
| 46 66 | 
             
            email: djberg96@gmail.com
         | 
| 47 67 | 
             
            executables: []
         | 
| 48 68 |  | 
| @@ -53,23 +73,22 @@ extra_rdoc_files: | |
| 53 73 | 
             
            - CHANGES
         | 
| 54 74 | 
             
            - MANIFEST
         | 
| 55 75 | 
             
            files: 
         | 
| 56 | 
            -
            -  | 
| 76 | 
            +
            - CHANGES
         | 
| 77 | 
            +
            - dbi-dbrc.gemspec
         | 
| 57 78 | 
             
            - examples/plain/test.rb
         | 
| 58 | 
            -
            - examples/xml
         | 
| 59 79 | 
             
            - examples/xml/test_xml.rb
         | 
| 60 | 
            -
            - examples/yml
         | 
| 61 80 | 
             
            - examples/yml/test_yml.rb
         | 
| 62 | 
            -
            - lib/dbi
         | 
| 63 81 | 
             
            - lib/dbi/dbrc.rb
         | 
| 64 | 
            -
            - test/tc_dbrc.rb
         | 
| 65 | 
            -
            - test/tc_dbrc_xml.rb
         | 
| 66 | 
            -
            - test/tc_dbrc_yml.rb
         | 
| 67 | 
            -
            - test/ts_all.rb
         | 
| 68 | 
            -
            - README
         | 
| 69 | 
            -
            - CHANGES
         | 
| 70 82 | 
             
            - MANIFEST
         | 
| 83 | 
            +
            - Rakefile
         | 
| 84 | 
            +
            - README
         | 
| 85 | 
            +
            - test/test_dbi_dbrc.rb
         | 
| 86 | 
            +
            - test/test_dbi_dbrc_xml.rb
         | 
| 87 | 
            +
            - test/test_dbi_dbrc_yml.rb
         | 
| 71 88 | 
             
            has_rdoc: true
         | 
| 72 89 | 
             
            homepage: http://www.rubyforge.org/projects/shards
         | 
| 90 | 
            +
            licenses: 
         | 
| 91 | 
            +
            - Artistic 2.0
         | 
| 73 92 | 
             
            post_install_message: 
         | 
| 74 93 | 
             
            rdoc_options: []
         | 
| 75 94 |  | 
| @@ -90,9 +109,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 90 109 | 
             
            requirements: []
         | 
| 91 110 |  | 
| 92 111 | 
             
            rubyforge_project: shards
         | 
| 93 | 
            -
            rubygems_version: 1. | 
| 112 | 
            +
            rubygems_version: 1.3.5
         | 
| 94 113 | 
             
            signing_key: 
         | 
| 95 | 
            -
            specification_version:  | 
| 114 | 
            +
            specification_version: 3
         | 
| 96 115 | 
             
            summary: A simple way to avoid hard-coding passwords with DBI
         | 
| 97 116 | 
             
            test_files: 
         | 
| 98 | 
            -
            - test/ | 
| 117 | 
            +
            - test/test_dbi_dbrc.rb
         | 
| 118 | 
            +
            - test/test_dbi_dbrc_xml.rb
         | 
| 119 | 
            +
            - test/test_dbi_dbrc_yml.rb
         |