Sha256: 3bb0b95140795087eef15ed3426d2c843d357123215897ba8131e1936fac5fd8

Contents?: true

Size: 455 Bytes

Versions: 2

Compression:

Stored size: 455 Bytes

Contents

module RSpec
  module Proverbs
    module SharedSteps
      def shared_steps(name, &block)
        ensure_shared_example_steps_name_not_taken(name)
        ::RSpec.world.shared_example_steps[name] = block
      end

      private

      def ensure_shared_example_steps_name_not_taken(name)
        return unless ::RSpec.world.shared_example_steps.key?(name)
        raise(ArgumentError, "Shared step '#{name}' already exists")
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
proverbs-0.2.0 lib/proverbs/rspec/shared_steps.rb
proverbs-0.1.0 lib/proverbs/rspec/shared_steps.rb