Sha256: 109b4424984ea0c1d2da8ef0063bdf6ee99742ab18f32d79604e789580acdf56

Contents?: true

Size: 1.66 KB

Versions: 2

Compression:

Stored size: 1.66 KB

Contents

module Support
  module Database
    def self.setup_log(logfile = nil)
      logfile ||= File.expand_path('../../debug.log', File.dirname(__FILE__))
      ActiveRecord::Base.logger = if defined?(ActiveSupport::BufferedLogger)
                                    ActiveSupport::BufferedLogger.new(logfile)
                                  else
                                    Logger.new(logfile)
                                  end
    end

    def self.load_schema
      config = YAML::load(IO.read(File.expand_path('database.yml', File.dirname(__FILE__))))

      unless db_adapter = ENV['DB']
        %w(sqlite3 mysql2 sqlite).each do |gem|
          begin
            require gem
            db_adapter = gem
            break
          rescue MissingSourceFile
          end
        end
      end

      if db_adapter.nil?
        puts
        puts
        puts "You must run tests using one of the available appraisals. `bundle exec rake -T` to list, `bundle exec rake appraisal:rails31` to run against Rails 3.1 and SQLite."
        exit
      end

      ActiveRecord::Base.establish_connection(config[db_adapter])
      ActiveRecord::Migration.suppress_messages do
        load(File.expand_path('schema.rb', File.dirname(__FILE__)))
      end

      [User, Approval, NotApprovable, DefaultApprovable, CreatesApprovable, CreatesWithStateApprovable, UpdatesApprovable, UpdatesIgnoreFieldsApprovable, UpdatesOnlyFieldsApprovable].each do |klass|
        klass.reset_column_information
      end
    end

    def self.truncate
      [User, Approval, NotApprovable, DefaultApprovable, CreatesApprovable, UpdatesApprovable].each do |klass|
        klass.delete_all
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
acts-as-approvable-0.6.9.1 spec/support/database.rb
acts-as-approvable-0.6.9 spec/support/database.rb