Sha256: c2bdc9bbebbded8e207224ba32c94aa0bb6a5ccbcfcd5be0bf2b98c946d7b12f

Contents?: true

Size: 952 Bytes

Versions: 2

Compression:

Stored size: 952 Bytes

Contents

module EventedSpec
  # If you include EventedSpec::AMQPSpec module into your example group, each example of this group
  # will run inside AMQP.start loop without the need to explicitly call 'amqp'. In order
  # to provide options to AMQP loop, default_options class method is defined. Remember,
  # when using EventedSpec::Specs, you'll have a single set of AMQP.start options for all your
  # examples.
  #
  module AMQPSpec
    def self.included(example_group)
      example_group.send(:include, SpecHelper)
      example_group.extend(ClassMethods)
    end

    # @private
    module ClassMethods
      def it(*args, &block)
        if block
          new_block = Proc.new {|example_group_instance| (example_group_instance || self).instance_eval { amqp(&block) } }
          super(*args, &new_block)
        else
          # pending example
          super
        end
      end # it
    end # ClassMethods
  end # AMQPSpec
end # module EventedSpec

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
evented-spec-0.9.0 lib/evented-spec/amqp_spec.rb
evented-spec-0.4.1 lib/evented-spec/amqp_spec.rb