Sha256: 9f51ab9472b48186a794ba3b08e37b74ca34ace123856b01219b935498e249dc
Contents?: true
Size: 1.25 KB
Versions: 5
Compression:
Stored size: 1.25 KB
Contents
# Remarkable core module module Remarkable # A module that keeps all matchers added. This is useful because it allows # to include matchers in Test::Unit as well. module Matchers; end # Helper that includes required Remarkable modules into the given klass. # # If the module to be included responds to :after_include, it's called with the # target as argument. # def self.include_matchers!(base, target=nil) if target.nil? if rspec_defined? target = Spec::Example::ExampleGroup else raise ArgumentError, "You haven't supplied the target to include_matchers! and RSpec is not loaded, so we cannot infer one." end end metaclass = (class << target; self; end) target.send :extend, Remarkable::Pending unless metaclass.ancestors.include?(Remarkable::Pending) target.send :extend, Remarkable::Macros unless metaclass.ancestors.include?(Remarkable::Macros) if defined?(base::Matchers) target.send :include, base::Matchers Remarkable::Matchers.send :extend, base::Matchers Remarkable::Matchers.send :include, base::Matchers end if base.respond_to?(:after_include) base.after_include(target) end end def self.rspec_defined? #:nodoc: defined?(Spec) end end
Version data entries
5 entries across 5 versions & 1 rubygems