class MultiTest::AssertionLibrary
Public Class Methods
detect_best()
click to toggle source
# File lib/multi_test/assertion_library.rb, line 5 def self.detect_best available.detect(&:require?) end
new(requirer, extender)
click to toggle source
# File lib/multi_test/assertion_library.rb, line 9 def initialize(requirer, extender) @requirer = requirer @extender = extender end
Private Class Methods
available()
click to toggle source
# File lib/multi_test/assertion_library.rb, line 29 def self.available @available ||= [ AssertionLibrary.new( proc { require 'rspec/expectations' }, proc { |object| object.extend(::RSpec::Matchers) } ), AssertionLibrary.new( proc { require 'spec/expectations' require 'spec/runner/differs/default' require 'ostruct' }, proc { |object| options = OpenStruct.new(:diff_format => :unified, :context_lines => 3) Spec::Expectations.differ = Spec::Expectations::Differs::Default.new(options) object.extend(Spec::Matchers) } ), AssertionLibrary.new( proc { require 'minitest/assertions' }, proc { |object| object.extend(MinitestWorld) } ), AssertionLibrary.new( proc { require 'minitest/unit' }, proc { |object| object.extend(MiniTest::Assertions) } ), AssertionLibrary.new( proc { require 'test/unit/assertions' }, proc { |object| object.extend(Test::Unit::Assertions) } ), ] end
Public Instance Methods
extend_world(world)
click to toggle source
# File lib/multi_test/assertion_library.rb, line 23 def extend_world(world) @extender.call(world) end
require?()
click to toggle source
# File lib/multi_test/assertion_library.rb, line 14 def require? begin @requirer.call true rescue LoadError false end end