Sha256: dc1e74fe211d4997c64d013541e100fc4140b00f71501b639f2328f018e9e8f6

Contents?: true

Size: 1.31 KB

Versions: 4

Compression:

Stored size: 1.31 KB

Contents

require 'active_record'
require 'logger'

::ActiveRecord::Base.logger = Logger.new SPEC_ROOT.join('debug.log').to_s
::ActiveRecord::Migration.verbose = false

module CryptKeeper
  class SensitiveData < ActiveRecord::Base; end

  module ConnectionHelpers

    def use_postgres
      before :all do
        ::ActiveRecord::Base.clear_active_connections!
        config = YAML.load_file SPEC_ROOT.join('database.yml')
        ::ActiveRecord::Base.establish_connection(config['postgres'])
      end
    end

    def use_mysql
      before :all do
        ::ActiveRecord::Base.clear_active_connections!
        config = YAML.load_file SPEC_ROOT.join('database.yml')
        ::ActiveRecord::Base.establish_connection(config['mysql'])
      end
    end

    def use_sqlite
      before :all do
        ::ActiveRecord::Base.clear_active_connections!
        ::ActiveRecord::Base.establish_connection(:adapter => 'sqlite3',
                                                  :database => ':memory:')

        ::ActiveRecord::Schema.define do
          create_table :sensitive_data, :force => true do |t|
            t.column :name, :string
            t.column :storage, :text
            t.column :secret, :text
          end
        end
      end
    end

  end
end


RSpec.configure do |config|
  config.extend CryptKeeper::ConnectionHelpers
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
crypt_keeper-0.7.0 spec/support/active_record.rb
crypt_keeper-0.6.1 spec/support/active_record.rb
crypt_keeper-0.6.0 spec/support/active_record.rb
crypt_keeper-0.5.0 spec/support/active_record.rb