Sha256: 5f34c4291f022f3041df07ff8cfbab08d36b9a46a5052e93e6dd7d96fe4b4223
Contents?: true
Size: 1.14 KB
Versions: 2
Compression:
Stored size: 1.14 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 = Rspec::Matchers 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::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?(Rspec) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
remarkable-4.0.0.alpha2 | lib/remarkable/core/matchers.rb |
remarkable-4.0.0.alpha1 | lib/remarkable/matchers.rb |