Sha256: a90f33cf22f219a41a0bd3f4f4f59294f7a47a447e462823bfc74fc33ca1ffb2
Contents?: true
Size: 831 Bytes
Versions: 13
Compression:
Stored size: 831 Bytes
Contents
module Rspec module Core module SharedExampleGroupKernelExtensions def share_examples_for(name, &block) Rspec::Core.world.shared_example_groups[name] = block end def share_as(name, &block) if Object.const_defined?(name) puts "name was defined as #{name.inspect}" raise NameError, "The first argument (#{name}) to share_as must be a legal name for a constant not already in use." end mod = Module.new do @shared_block = block def self.included(kls) kls.module_eval(&@shared_block) end end shared_const = Object.const_set(name, mod) Rspec::Core.world.shared_example_groups[shared_const] = block end alias :shared_examples_for :share_examples_for end end end
Version data entries
13 entries across 13 versions & 1 rubygems