Sha256: d32ace6770fcb4f27acfa2fc564f7042da8731aece5b9a7cbb16d869f9414da9

Contents?: true

Size: 1.48 KB

Versions: 19

Compression:

Stored size: 1.48 KB

Contents

ENV['MT_NO_PLUGINS'] = '1' # Work around stupid autoloading of plugins
gem 'minitest'
require 'minitest/autorun'
require 'minitest/hooks/default'
require 'minitest/shared_description'

require_relative "deprecation_helper"

def Sequel.guarded?(*checked)
  unless ENV['SEQUEL_NO_PENDING']
    checked.each do |c|
      case c
      when DB.database_type
        return c
      when Array
        case c.length
        when 1
          return c if c.first == DB.adapter_scheme
        when 2
          if c.first.is_a?(Proc)
            return c if c.last == DB.database_type && c.first.call(DB)
          elsif c.last.is_a?(Proc)
            return c if c.first == DB.adapter_scheme && c.last.call(DB)
          else
            return c if c.first == DB.adapter_scheme && c.last == DB.database_type
          end
        when 3
          return c if c[0] == DB.adapter_scheme && c[1] == DB.database_type && c[2].call(DB)
        end          
      end
    end
  end
  false
end

module Minitest::Spec::DSL
  def cspecify(message, *checked, &block)
    if pending = Sequel.guarded?(*checked)
      it(message) do
        proc{instance_exec(&block)}.must_raise(Exception) if ENV['SEQUEL_CHECK_PENDING']
        skip "Not yet working on #{Array(pending).map{|x| x.is_a?(Proc) ? :proc : x}.join(', ')}"
      end
    else
      it(message, &block)
    end
  end
end

class Minitest::HooksSpec
  def log
    begin
      DB.loggers << Logger.new(STDOUT)
      yield
    ensure
     DB.loggers.pop
    end
  end
end

Version data entries

19 entries across 18 versions & 2 rubygems

Version Path
sequel-5.24.0 spec/guards_helper.rb
sequel-5.23.0 spec/guards_helper.rb
sequel-5.22.0 spec/guards_helper.rb
sequel-5.21.0 spec/guards_helper.rb
sequel-5.20.0 spec/guards_helper.rb
tdiary-5.0.13 vendor/bundle/gems/sequel-5.18.0/spec/guards_helper.rb
sequel-5.19.0 spec/guards_helper.rb
tdiary-5.0.12.1 vendor/bundle/gems/sequel-5.18.0/spec/guards_helper.rb
sequel-5.18.0 spec/guards_helper.rb
sequel-5.17.0 spec/guards_helper.rb
sequel-5.16.0 spec/guards_helper.rb
tdiary-5.0.11 vendor/bundle/gems/sequel-5.15.0/spec/guards_helper.rb
tdiary-5.0.11 vendor/bundle/gems/sequel-5.11.0/spec/guards_helper.rb
sequel-5.15.0 spec/guards_helper.rb
sequel-5.14.0 spec/guards_helper.rb
sequel-5.13.0 spec/guards_helper.rb
sequel-5.12.0 spec/guards_helper.rb
sequel-5.11.0 spec/guards_helper.rb
sequel-5.10.0 spec/guards_helper.rb